1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8588],{79742:function(e,t){"use strict";t.byteLength=function(e){var t=u(e),n=t[0],r=t[1];return(n+r)*3/4-r},t.toByteArray=function(e){var t,n,a=u(e),o=a[0],l=a[1],s=new i((o+l)*3/4-l),c=0,f=l>0?o-4:o;for(n=0;n<f;n+=4)t=r[e.charCodeAt(n)]<<18|r[e.charCodeAt(n+1)]<<12|r[e.charCodeAt(n+2)]<<6|r[e.charCodeAt(n+3)],s[c++]=t>>16&255,s[c++]=t>>8&255,s[c++]=255&t;return 2===l&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,s[c++]=255&t),1===l&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,s[c++]=t>>8&255,s[c++]=255&t),s},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,a=[],o=0,l=r-i;o<l;o+=16383)a.push(function(e,t,r){for(var i,a=[],o=t;o<r;o+=3)a.push(n[(i=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]))>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}(e,o,o+16383>l?l:o+16383));return 1===i?a.push(n[(t=e[r-1])>>2]+n[t<<4&63]+"=="):2===i&&a.push(n[(t=(e[r-2]<<8)+e[r-1])>>10]+n[t>>4&63]+n[t<<2&63]+"="),a.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=a.length;o<l;++o)n[o]=a[o],r[a.charCodeAt(o)]=o;function u(e){var t=e.length;if(t%4>0)throw Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");-1===n&&(n=t);var r=n===t?0:4-n%4;return[n,r]}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},48764:function(e,t,n){"use strict";/*! 2 * The buffer module from node.js, for the browser. 3 * 4 * @author Feross Aboukhadijeh <https://feross.org> 5 * @license MIT 6 */var r=n(79742),i=n(80645),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function o(e){if(e>2147483647)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return c(e)}return u(e,t,n)}function u(e,t,n){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!l.isEncoding(t))throw TypeError("Unknown encoding: "+t);var n=0|p(e,t),r=o(n),i=r.write(e,t);return i!==n&&(r=r.slice(0,i)),r}(e,t);if(ArrayBuffer.isView(e))return function(e){if($(e,Uint8Array)){var t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return f(e)}(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if($(e,ArrayBuffer)||e&&$(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&($(e,SharedArrayBuffer)||e&&$(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw TypeError('The "value" argument must not be of type number. Received type number');var r=e.valueOf&&e.valueOf();if(null!=r&&r!==e)return l.from(r,t,n);var i=function(e){if(l.isBuffer(e)){var t,n=0|d(e.length),r=o(n);return 0===r.length||e.copy(r,0,0,n),r}return void 0!==e.length?"number"!=typeof e.length||(t=e.length)!=t?o(0):f(e):"Buffer"===e.type&&Array.isArray(e.data)?f(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function s(e){if("number"!=typeof e)throw TypeError('"size" argument must be of type number');if(e<0)throw RangeError('The value "'+e+'" is invalid for option "size"')}function c(e){return s(e),o(e<0?0:0|d(e))}function f(e){for(var t=e.length<0?0:0|d(e.length),n=o(t),r=0;r<t;r+=1)n[r]=255&e[r];return n}function h(e,t,n){var r;if(t<0||e.byteLength<t)throw RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(n||0))throw RangeError('"length" is outside of buffer bounds');return Object.setPrototypeOf(r=void 0===t&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,t):new Uint8Array(e,t,n),l.prototype),r}function d(e){if(e>=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||$(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return C(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return D(e).length;default:if(i)return r?-1:C(e).length;t=(""+t).toLowerCase(),i=!0}}function g(e,t,n){var i,a,o=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0||(n>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",a=t;a<n;++a)i+=M[e[a]];return i}(this,t,n);case"utf8":case"utf-8":return b(this,t,n);case"ascii":return function(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}(this,t,n);case"latin1":case"binary":return function(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}(this,t,n);case"base64":return i=t,a=n,0===i&&a===this.length?r.fromByteArray(this):r.fromByteArray(this.slice(i,a));case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return function(e,t,n){for(var r=e.slice(t,n),i="",a=0;a<r.length-1;a+=2)i+=String.fromCharCode(r[a]+256*r[a+1]);return i}(this,t,n);default:if(o)throw TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),o=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){var a;if(0===e.length)return -1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),(a=n=+n)!=a&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return -1;n=e.length-1}else if(n<0){if(!i)return -1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,r,i);if("number"==typeof t)return(t&=255,"function"==typeof Uint8Array.prototype.indexOf)?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,r,i);throw TypeError("val must be string, number or Buffer")}function v(e,t,n,r,i){var a,o=1,l=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return -1;o=2,l/=2,u/=2,n/=2}function s(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var c=-1;for(a=n;a<l;
vendor: 13,811 bytes, line 6
6a++)if(s(e,a)===s(t,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===u)return c*o}else -1!==c&&(a-=a-c),c=-1}else for(n+u>l&&(n=l-u),a=n;a>=0;a--){for(var f=!0,h=0;h<u;h++)if(s(e,a+h)!==s(t,h)){f=!1;break}if(f)return a}return -1}function b(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var a,o,l,u,s=e[i],c=null,f=s>239?4:s>223?3:s>191?2:1;if(i+f<=n)switch(f){case 1:s<128&&(c=s);break;case 2:(192&(a=e[i+1]))==128&&(u=(31&s)<<6|63&a)>127&&(c=u);break;case 3:a=e[i+1],o=e[i+2],(192&a)==128&&(192&o)==128&&(u=(15&s)<<12|(63&a)<<6|63&o)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:a=e[i+1],o=e[i+2],l=e[i+3],(192&a)==128&&(192&o)==128&&(192&l)==128&&(u=(15&s)<<18|(63&a)<<12|(63&o)<<6|63&l)>65535&&u<1114112&&(c=u)}null===c?(c=65533,f=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=4096));return n}(r)}function x(e,t,n){if(e%1!=0||e<0)throw RangeError("offset is not uint");if(e+t>n)throw RangeError("Trying to access beyond buffer length")}function _(e,t,n,r,i,a){if(!l.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw RangeError('"value" argument is out of bounds');if(n+r>e.length)throw RangeError("Index out of range")}function w(e,t,n,r,i,a){if(n+r>e.length||n<0)throw RangeError("Index out of range")}function A(e,t,n,r,a){return t=+t,n>>>=0,a||w(e,t,n,4,34028234663852886e22,-34028234663852886e22),i.write(e,t,n,r,23,4),n+4}function E(e,t,n,r,a){return t=+t,n>>>=0,a||w(e,t,n,8,17976931348623157e292,-17976931348623157e292),i.write(e,t,n,r,52,8),n+8}t.lW=l,t.h2=50,l.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),l.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(l.prototype,"parent",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.buffer}}),Object.defineProperty(l.prototype,"offset",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.byteOffset}}),l.poolSize=8192,l.from=function(e,t,n){return u(e,t,n)},Object.setPrototypeOf(l.prototype,Uint8Array.prototype),Object.setPrototypeOf(l,Uint8Array),l.alloc=function(e,t,n){return(s(e),e<=0)?o(e):void 0!==t?"string"==typeof n?o(e).fill(t,n):o(e).fill(t):o(e)},l.allocUnsafe=function(e){return c(e)},l.allocUnsafeSlow=function(e){return c(e)},l.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==l.prototype},l.compare=function(e,t){if($(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),$(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(e)||!l.isBuffer(t))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i<a;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!Array.isArray(e))throw TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);if(void 0===t)for(n=0,t=0;n<e.length;++n)t+=e[n].length;var n,r=l.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var a=e[n];if($(a,Uint8Array))i+a.length>r.length?l.from(a).copy(r,i):Uint8Array.prototype.set.call(r,a,i);else if(l.isBuffer(a))a.copy(r,i);else throw TypeError('"list" argument must be an Array of Buffers');i+=a.length}return r},l.byteLength=p,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)m(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)m(this,t,t+3),m(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)m(this,t,t+7),m(this,t+1,t+6),m(this,t+2,t+5),m(this,t+3,t+4);return this},l.prototype.toString=function(){var e=this.length;return 0===e?"":0==arguments.length?b(this,0,e):g.apply(this,arguments)},l.prototype.toLocaleString=l.prototype.toString,l.prototype.equals=function(e){if(!l.isBuffer(e))throw TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.h2;return e=this.toString("hex",0,n).replace(/(.{2})/g,"$1 ").trim(),this.length>n&&(e+=" ... "),"<Buffer "+e+">"},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(e,t,n,r,i){if($(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return -1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,o=n-t,u=Math.min(a,o),s=this.slice(r,i),c=e.slice(t,n),f=0;f<u;++f)if(s[f]!==c[f]){a=s[f],o=c[f];break}return a<o?-1:o<a?1:0},l.prototype.includes=function(e,t,n){return -1!==this.indexOf(e,t,n)},l.prototype.indexOf=function(e,t,n){return y(this,e,t,n,!0)},l.prototype.lastIndexOf=function(e,t,n){return y(this,e,t,n,!1)},l.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var i,a,o,l,u,s,c,f,h=this.length-t;if((void 0===n||n>h)&&(n=h),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var d=!1;;)switch(r){case"hex":return function(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var a=t.length;r>a/2&&(r=a/2);for(var o=0;o<r;++o){var l=parseInt(t.substr(2*o,2),16);if(l!=l)break;e[n+o]=l}return o}(this,e,t,n);case"utf8":case"utf-8":return i=t,a=n,F(C(e,this.length-i),this,i,a);case"ascii":case"latin1":case"binary":return o=t,l=n,F(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(e),this,o,l);case"base64":return u=t,s=n,F(D(e),this,u,s);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return c=t,f=n,F(function(e,t){for(var n,r,i=[],a=0;a<e.length&&!((t-=2)<0);++a)r=(n=e.charCodeAt(a))>>8,i.push(n%256),i.push(r);return i}(e,this.length-c),this,c,f);default:if(d)throw TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),d=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r=this.subarray(e,t);return Object.setPrototypeOf(r,l.prototype),r},l.prototype.readUintLE=l.prototype.readUIntLE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);for(var r=this[e],i=1,a=0;++a<t&&(i*=256);)r+=this[e+a]*i;return r},l.prototype.readUintBE=l.prototype.readUIntBE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||x(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||x(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||x(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||x(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||x(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);for(var r=this[e],i=1,a=0;++a<t&&(i*=256);)r+=this[e+a]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return(e>>>=0,t||x(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||x(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||x(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||x(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||x(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||x(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||x(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||x(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||x(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){var i=Math.pow(2,8*n)-1;_(this,e,t,n,i,0)}var a=1,o=0;for(this[t]=255&e;++o<n&&(a*=256);)this[t+o]=e/a&255;return t+n},l.prototype.writeUintBE=l.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){var i=Math.pow(2,8*n)-1;_(this,e,t,n,i,0)}var a=n-1,o=1;for(this[t+a]=255&e;--a>=0&&(o*=256);)this[t+a]=e/o&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||_(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||_(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||_(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||_(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||_(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);_(this,e,t,n,i-1,-i)}var a=0,o=1,l=0;for(this[t]=255&e;++a<n&&(o*=256);)e<0&&0===l&&0!==this[t+a-1]&&(l=1),this[t+a]=(e/o>>0)-l&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);_(this,e,t,n,i-1,-i)}var a=n-1,o=1,l=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===l&&0!==this[t+a+1]&&(l=1),this[t+a]=(e/o>>0)-l&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||_(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||_(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||_(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||_(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||_(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,n){return A(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return A(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return E(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return E(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(!l.isBuffer(e))throw TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n||0===e.length||0===this.length)return 0;if(t<0)throw RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw RangeError("Index out of range");if(r<0)throw RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i=r-n;return this===e&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,n,r):Uint8Array.prototype.set.call(e,this.subarray(n,r),t),i},l.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),void 0!==r&&"string"!=typeof r)throw TypeError("encoding must be a string");if("string"==typeof r&&!l.isEncoding(r))throw TypeError("Unknown encoding: "+r);if(1===e.length){var i,a=e.charCodeAt(0);("utf8"===r&&a<128||"latin1"===r)&&(e=a)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<n)throw RangeError("Out of range index");if(n<=t)return this;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var o=l.isBuffer(e)?e:l.from(e,r),u=o.length;
6if(0===u)throw TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<n-t;++i)this[i+t]=o[i%u]}return this};var k=/[^+/0-9A-Za-z-_]/g;function C(e,t){t=t||1/0;for(var n,r=e.length,i=null,a=[],o=0;o<r;++o){if((n=e.charCodeAt(o))>55295&&n<57344){if(!i){if(n>56319||o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else if(n<1114112){if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}else throw Error("Invalid code point")}return a}function D(e){return r.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(k,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length)&&!(i>=e.length);++i)t[i+n]=e[i];return i}function $(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var M=function(){for(var e="0123456789abcdef",t=Array(256),n=0;n<16;++n)for(var r=16*n,i=0;i<16;++i)t[r+i]=e[n]+e[i];return t}()},16313:function(e,t,n){var r=n(48764).lW,i=function(){"use strict";var e,t,n;function i(e,t){return null!=t&&e instanceof t}try{e=Map}catch(t){e=function(){}}try{t=Set}catch(e){t=function(){}}try{n=Promise}catch(e){n=function(){}}function a(o,u,s,c,f){"object"==typeof u&&(s=u.depth,c=u.prototype,f=u.includeNonEnumerable,u=u.circular);var h=[],d=[],p=void 0!==r;return void 0===u&&(u=!0),void 0===s&&(s=1/0),function o(s,g){if(null===s)return null;if(0===g||"object"!=typeof s)return s;if(i(s,e))m=new e;else if(i(s,t))m=new t;else if(i(s,n))m=new n(function(e,t){s.then(function(t){e(o(t,g-1))},function(e){t(o(e,g-1))})});else if(a.__isArray(s))m=[];else if(a.__isRegExp(s))m=new RegExp(s.source,l(s)),s.lastIndex&&(m.lastIndex=s.lastIndex);else if(a.__isDate(s))m=new Date(s.getTime());else{if(p&&r.isBuffer(s))return m=r.allocUnsafe?r.allocUnsafe(s.length):new r(s.length),s.copy(m),m;i(s,Error)?m=Object.create(s):void 0===c?m=Object.create(y=Object.getPrototypeOf(s)):(m=Object.create(c),y=c)}if(u){var m,y,v,b=h.indexOf(s);if(-1!=b)return d[b];h.push(s),d.push(m)}for(var x in i(s,e)&&s.forEach(function(e,t){var n=o(t,g-1),r=o(e,g-1);m.set(n,r)}),i(s,t)&&s.forEach(function(e){var t=o(e,g-1);m.add(t)}),s)y&&(v=Object.getOwnPropertyDescriptor(y,x)),v&&null==v.set||(m[x]=o(s[x],g-1));if(Object.getOwnPropertySymbols)for(var _=Object.getOwnPropertySymbols(s),x=0;x<_.length;x++){var w=_[x],A=Object.getOwnPropertyDescriptor(s,w);(!A||A.enumerable||f)&&(m[w]=o(s[w],g-1),A.enumerable||Object.defineProperty(m,w,{enumerable:!1}))}if(f)for(var E=Object.getOwnPropertyNames(s),x=0;x<E.length;x++){var k=E[x],A=Object.getOwnPropertyDescriptor(s,k);A&&A.enumerable||(m[k]=o(s[k],g-1),Object.defineProperty(m,k,{enumerable:!1}))}return m}(o,s)}function o(e){return Object.prototype.toString.call(e)}function l(e){var t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),t}return a.clonePrototype=function(e){if(null===e)return null;var t=function(){};return t.prototype=e,new t},a.__objToStr=o,a.__isDate=function(e){return"object"==typeof e&&"[object Date]"===o(e)},a.__isArray=function(e){return"object"==typeof e&&"[object Array]"===o(e)},a.__isRegExp=function(e){return"object"==typeof e&&"[object RegExp]"===o(e)},a.__getRegExpFlags=l,a}();e.exports&&(e.exports=i)},64063:function(e){"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;0!=i--;){var r,i,a,o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!=t&&n!=n}},35035:function(e){"use strict";e.exports=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var n,r="boolean"==typeof t.cycles&&t.cycles,i=t.cmp&&(n=t.cmp,function(e){return function(t,r){return n({key:t,value:e[t]},{key:r,value:e[r]})}}),a=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);if(Array.isArray(t)){for(n=0,o="[";n<t.length;n++)n&&(o+=","),o+=e(t[n])||"null";return o+"]"}if(null===t)return"null";if(-1!==a.indexOf(t)){if(r)return JSON.stringify("__cycle__");throw TypeError("Converting circular structure to JSON")}var n,o,l=a.push(t)-1,u=Object.keys(t).sort(i&&i(t));for(n=0,o="";n<u.length;n++){var s=u[n],c=e(t[s]);c&&(o&&(o+=","),o+=JSON.stringify(s)+":"+c)}return a.splice(l,1),"{"+o+"}"}}(e)}},80645:function(e,t){/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */t.read=function(e,t,n,r,i){var a,o,l=8*i-r-1,u=(1<<l)-1,s=u>>1,c=-7,f=n?i-1:0,h=n?-1:1,d=e[t+f];for(f+=h,a=d&(1<<-c)-1,d>>=-c,c+=l;c>0;a=256*a+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=r;c>0;o=256*o+e[t+f],f+=h,c-=8);if(0===a)a=1-s;else{if(a===u)return o?NaN:(d?-1:1)*(1/0);o+=Math.pow(2,r),a-=s}return(d?-1:1)*o*Math.pow(2,a-r)},t.write=function(e,t,n,r,i,a){var o,l,u,s=8*a-i-1,c=(1<<s)-1,f=c>>1,h=23===i?5960464477539062e-23:0,d=r?0:a-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(l=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),o+f>=1?t+=h/u:t+=h*Math.pow(2,1-f),t*u>=2&&(o++,u/=2),o+f>=c?(l=0,o=c):o+f>=1?(l=(t*u-1)*Math.pow(2,i),o+=f):(l=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[n+d]=255&l,d+=p,l/=256,i-=8);for(o=o<<i|l,s+=i;s>0;e[n+d]=255&o,d+=p,o/=256,s-=8);e[n+d-p]|=128*g}},28419:function(e,t,n){"use strict";n.d(t,{H:function(){return i},L:function(){return r}});class r extends Map{constructor(e,t=u){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(a(this,e))}has(e){return super.has(a(this,e))}set(e,t){return super.set(o(this,e),t)}delete(e){return super.delete(l(this,e))}}class i extends Set{constructor(e,t=u){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(let t of e)this.add(t)}has(e){return super.has(a(this,e))}add(e){return super.add(o(this,e))}delete(e){return super.delete(l(this,e))}}function a({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function o({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function l({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(n),e.delete(r)),n}function u(e){return null!==e&&"object"==typeof e?e.valueOf():e}},15732:function(e,t,n){"use strict";let r,i,a,o,l,u,s,c,f,h,d,p,g,m,y,v,b,x,_;n.d(t,{Z:function(){return YW}});
6var w,A,E,k,C,D,F,$,M,S,N,O,B,T,z,R={};n.r(R),n.d(R,{JsonPatchError:function(){return ed},_areEquals:function(){return eA},applyOperation:function(){return ev},applyPatch:function(){return eb},applyReducer:function(){return ex},deepClone:function(){return ep},getValueByPointer:function(){return ey},validate:function(){return ew},validator:function(){return e_}});var L={};n.r(L),n.d(L,{compare:function(){return eS},generate:function(){return e$},observe:function(){return eF},unobserve:function(){return eD}});var P={};n.r(P),n.d(P,{aggregate:function(){return lI},bin:function(){return lU},collect:function(){return lW},compare:function(){return lH},countpattern:function(){return lG},cross:function(){return lV},density:function(){return lJ},dotbin:function(){return l1},expression:function(){return l3},extent:function(){return l6},facet:function(){return l8},field:function(){return l9},filter:function(){return ue},flatten:function(){return ut},fold:function(){return un},formula:function(){return ur},generate:function(){return ui},impute:function(){return ul},joinaggregate:function(){return uu},kde:function(){return us},key:function(){return uc},load:function(){return uh},lookup:function(){return up},multiextent:function(){return ug},multivalues:function(){return uy},params:function(){return ub},pivot:function(){return ux},prefacet:function(){return u_},project:function(){return uw},proxy:function(){return uA},quantile:function(){return uE},relay:function(){return uk},sample:function(){return uC},sequence:function(){return uD},sieve:function(){return uF},subflow:function(){return l4},timeunit:function(){return u$},tupleindex:function(){return uS},values:function(){return uN},window:function(){return uR}});var j={};n.r(j),n.d(j,{interpolate:function(){return cf},interpolateArray:function(){return cr},interpolateBasis:function(){return s1},interpolateBasisClosed:function(){return s2},interpolateCubehelix:function(){return fJ},interpolateCubehelixLong:function(){return fQ},interpolateDate:function(){return ca},interpolateDiscrete:function(){return fd},interpolateHcl:function(){return fH},interpolateHclLong:function(){return fY},interpolateHsl:function(){return fE},interpolateHslLong:function(){return fk},interpolateHue:function(){return fp},interpolateLab:function(){return fq},interpolateNumber:function(){return co},interpolateNumberArray:function(){return ct},interpolateObject:function(){return cl},interpolateRgb:function(){return s8},interpolateRgbBasis:function(){return s7},interpolateRgbBasisClosed:function(){return ce},interpolateRound:function(){return ch},interpolateString:function(){return cc},interpolateTransformCss:function(){return fb},interpolateTransformSvg:function(){return fx},interpolateZoom:function(){return fw},piecewise:function(){return fl},quantize:function(){return fK}});var I={};n.r(I),n.d(I,{bound:function(){return mJ},identifier:function(){return m0},mark:function(){return m1},overlap:function(){return m2},render:function(){return ye},viewlayout:function(){return yy}});var U={};n.r(U),n.d(U,{axisticks:function(){return yB},datajoin:function(){return yT},encode:function(){return yR},legendentries:function(){return yL},linkpath:function(){return yq},pie:function(){return y1},scale:function(){return y5},sortitems:function(){return y9},stack:function(){return vr}});var q={};n.r(q),n.d(q,{contour:function(){return wM},geojson:function(){return wO},geopath:function(){return wB},geopoint:function(){return wT},geoshape:function(){return wz},graticule:function(){return wR},heatmap:function(){return wL},isocontour:function(){return wx},kde2d:function(){return wD},projection:function(){return wj}});var W={};n.r(W),n.d(W,{force:function(){return An}});var H={};n.r(H),n.d(H,{nest:function(){return AJ},pack:function(){return A2},partition:function(){return A5},stratify:function(){return A6},tree:function(){return A9},treelinks:function(){return A7},treemap:function(){return En}});var Y={};n.r(Y),n.d(Y,{label:function(){return Eb}});var G={};n.r(G),n.d(G,{loess:function(){return E_},regression:function(){return EE}});var V={};n.r(V),n.d(V,{voronoi:function(){return EV}});var X={};n.r(X),n.d(X,{wordcloud:function(){return E2}});var Z={};n.r(Z),n.d(Z,{crossfilter:function(){return ko},resolvefilter:function(){return kl}});var J={};n.r(J),n.d(J,{Bounds:function(){return dP},CanvasHandler:function(){return gO},CanvasRenderer:function(){return gP},DATE:function(){return rt},DAY:function(){return rn},DAYOFYEAR:function(){return rr},Dataflow:function(){return oC},Debug:function(){return e0},Error:function(){return eJ},EventStream:function(){return ou},Gradient:function(){return hZ},GroupItem:function(){return dI},HOURS:function(){return ri},Handler:function(){return gv},Info:function(){return eK},Item:function(){return dj},MILLISECONDS:function(){return rl},MINUTES:function(){return ra},MONTH:function(){return n7},Marks:function(){return gr},MultiPulse:function(){return ox},None:function(){return eZ},Operator:function(){return oa},Parameters:function(){return on},Pulse:function(){return om},QUARTER:function(){return n9},RenderType:function(){return mv},Renderer:function(){return gx},ResourceLoader:function(){return dU},SECONDS:function(){return ro},SVGHandler:function(){return gU},SVGRenderer:function(){return mr},SVGStringRenderer:function(){return mg},Scenegraph:function(){return gc},TIME_UNITS:function(){return ru},Transform:function(){return oF},View:function(){return $7},WEEK:function(){return re},Warn:function(){return eQ},YEAR:function(){return n8},accessor:function(){return eB},accessorFields:function(){return ez},accessorName:function(){return eT},array:function(){return tm},ascending:function(){return tx},bandwidthNRD:function(){return oU},bin:function(){return oq},bootstrapCI:function(){return oY},boundClip:function(){return mC},boundContext:function(){return d1},boundItem:function(){return gi},boundMark:function(){return go},boundStroke:function(){return dH},changeset:function(){return oe},clampRange:function(){return ty},codegenExpression:function(){return k4},compare:function(){return tb},constant:function(){return tE},cumulativeLogNormal:function(){return o8},cumulativeNormal:function(){return o1},cumulativeUniform:function(){return lr},dayofyear:function(){return rg},debounce:function(){return tk},defaultLocale:function(){return aw},definition:function(){return oM},densityLogNormal:function(){return o4},densityNormal:function(){return o0},densityUniform:function(){return ln},domChild:function(){return gp},domClear:function(){return gg},domCreate:function(){return gh},domFind:function(){return gd},dotbin:function(){return oG},error:function(){return ej},expressionFunction:function(){return F$},extend:function(){return tC},extent:function(){return tD},extentIndex:function(){return tF},falsy:function(){return eV},fastmap:function(){return tN},field:function(){return eU},flush:function(){return tO},font:function(){return p8},fontFamily:function(){return p4},fontSize:function(){return p1},format:function(){return aG},formatLocale:function(){return ag},formats:function(){return aV},hasOwnProperty:function(){return tM},id:function(){return eq},identity:function(){return eW},inferType:function(){return aj},inferTypes:function(){return aI},ingest:function(){return a5},inherits:function(){return tB},inrange:function(){return tT},interpolate:function(){return h_},interpolateColors:function(){return hv},interpolateRange:function(){return hy},intersect:function(){return m_},intersectBoxLine:function(){return pn},intersectPath:function(){return d9},intersectPoint:function(){return d7},intersectRule:function(){return pt},isArray:function(){return e2},isBoolean:function(){return tz},isDate:function(){return tR},isFunction:function(){return tv},isIterable:function(){return tL},isNumber:function(){return tP},isObject:function(){return e3},isRegExp:function(){return tj},isString:function(){return tI},isTuple:function(){return a2},key:function(){return tU},lerp:function(){return tq},lineHeight:function(){return p2},loader:function(){return aJ},locale:function(){return a_},logger:function(){return e1},lruCache:function(){return tW},markup:function(){return g4},merge:function(){return tH},mergeConfig:function(){return e6},multiLineOffset:function(){return p5},one:function(){return eY},pad:function(){return tG},panLinear:function(){return ta},panLog:function(){return to},panPow:function(){return tl},panSymlog:function(){return tu},parse:function(){return N6},parseExpression:function(){return k3},parseSelector:function(){return Mo},path:function(){return sE},pathCurves:function(){return hQ},pathEqual:function(){return mF},pathParse:function(){return h5},pathRectangle:function(){return dg},pathRender:function(){return dr}
6,pathSymbols:function(){return dl},pathTrail:function(){return dm},peek:function(){return e8},point:function(){return gy},projection:function(){return _I},quantileLogNormal:function(){return o9},quantileNormal:function(){return o2},quantileUniform:function(){return li},quantiles:function(){return oj},quantizeInterpolator:function(){return hb},quarter:function(){return tp},quartiles:function(){return oI},random:function(){return oW},randomInteger:function(){return oX},randomKDE:function(){return o5},randomLCG:function(){return oV},randomLogNormal:function(){return o7},randomMixture:function(){return le},randomNormal:function(){return o3},randomUniform:function(){return la},read:function(){return aZ},regressionConstant:function(){return lo},regressionExp:function(){return ld},regressionLinear:function(){return lf},regressionLoess:function(){return ly},regressionLog:function(){return lh},regressionPoly:function(){return lm},regressionPow:function(){return lp},regressionQuad:function(){return lg},renderModule:function(){return mx},repeat:function(){return tY},resetDefaultLocale:function(){return aA},resetSVGClipId:function(){return dR},resetSVGDefIds:function(){return m$},responseType:function(){return aX},runtimeContext:function(){return FP},sampleCurve:function(){return lb},sampleLogNormal:function(){return o6},sampleNormal:function(){return oK},sampleUniform:function(){return lt},scale:function(){return hp},sceneEqual:function(){return mD},sceneFromJSON:function(){return gs},scenePickVisit:function(){return pd},sceneToJSON:function(){return gu},sceneVisit:function(){return ph},sceneZOrder:function(){return pf},scheme:function(){return hk},serializeXML:function(){return g8},setRandom:function(){return oH},span:function(){return tV},splitAccessPath:function(){return eI},stringValue:function(){return tX},textMetrics:function(){return pX},timeBin:function(){return r2},timeFloor:function(){return rS},timeFormatLocale:function(){return ab},timeInterval:function(){return rR},timeOffset:function(){return rj},timeSequence:function(){return rq},timeUnitSpecifier:function(){return rh},timeUnits:function(){return rc},toBoolean:function(){return tZ},toDate:function(){return tQ},toNumber:function(){return e9},toSet:function(){return t0},toString:function(){return tK},transform:function(){return oS},transforms:function(){return o$},truncate:function(){return t1},truthy:function(){return eG},tupleid:function(){return a3},typeParsers:function(){return aR},utcFloor:function(){return rB},utcInterval:function(){return rL},utcOffset:function(){return rI},utcSequence:function(){return rW},utcdayofyear:function(){return r_},utcquarter:function(){return tg},utcweek:function(){return rw},version:function(){return N4},visitArray:function(){return t2},week:function(){return rm},writeConfig:function(){return e4},zero:function(){return eH},zoomLinear:function(){return tc},zoomLog:function(){return tf},zoomPow:function(){return th},zoomSymlog:function(){return td}});var Q={};n.r(Q),n.d(Q,{accessPathDepth:function(){return Ba},accessPathWithDatum:function(){return O7},compile:function(){return Wz},contains:function(){return OW},deepEqual:function(){return OR},deleteNestedProperty:function(){return O8},duplicate:function(){return OL},entries:function(){return O3},every:function(){return OY},fieldIntersection:function(){return OK},flatAccessWithDatum:function(){return Be},getFirstDefined:function(){return Bo},hasIntersection:function(){return OJ},hash:function(){return OU},internalField:function(){return Bc},isBoolean:function(){return O5},isEmpty:function(){return O0},isEqual:function(){return OX},isInternalField:function(){return Bf},isNullOrFalse:function(){return Oq},isNumeric:function(){return Bd},keys:function(){return O1},logicalExpr:function(){return O4},mergeDeep:function(){return OG},normalize:function(){return jy},normalizeAngle:function(){return Bh},omit:function(){return Oj},pick:function(){return OP},prefixGenerator:function(){return OQ},removePathFromField:function(){return Bi},replaceAll:function(){return Br},replacePathInField:function(){return Bn},resetIdCounter:function(){return Bs},setEqual:function(){return OZ},some:function(){return OH},stringify:function(){return OI},titleCase:function(){return O9},unique:function(){return OV},uniqueId:function(){return Bu},vals:function(){return O2},varName:function(){return O6},version:function(){return WR}});var K={};n.r(K),n.d(K,{dark:function(){return WI},excel:function(){return Wq},fivethirtyeight:function(){return WV},ggplot2:function(){return WZ},googlecharts:function(){return Hl},latimes:function(){return W2},powerbi:function(){return Hb},quartz:function(){return W6},urbaninstitute:function(){return Hr},version:function(){return Hx},vox:function(){return W8}});var ee=n(67294);let et={};function en(e,t){void 0===e&&(e=et),void 0===t&&(t=et);let n=Object.keys(e),r=Object.keys(t);return e===t||n.length===r.length&&n.every(n=>e[n]===t[n])}/*! 7 * https://github.com/Starcounter-Jack/JSON-Patch 8 * (c) 2017-2022 Joachim Wester 9 * MIT licensed
10 */var er=(vI=function(e,t){return(vI=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}vI(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),ei=Object.prototype.hasOwnProperty;function ea(e,t){return ei.call(e,t)}function eo(e){if(Array.isArray(e)){for(var t=Array(e.length),n=0;n<t.length;n++)t[n]=""+n;return t}if(Object.keys)return Object.keys(e);var r=[];for(var i in e)ea(e,i)&&r.push(i);return r}function el(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}function eu(e){for(var t,n=0,r=e.length;n<r;){if((t=e.charCodeAt(n))>=48&&t<=57){n++;continue}return!1}return!0}function es(e){return -1===e.indexOf("/")&&-1===e.indexOf("~")?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function ec(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function ef(e,t){var n=[e];for(var r in t){var i="object"==typeof t[r]?JSON.stringify(t[r],null,2):t[r];void 0!==i&&n.push(r+": "+i)}return n.join("\n")}var eh=function(e){function t(t,n,r,i,a){var o=this.constructor,l=e.call(this,ef(t,{name:n,index:r,operation:i,tree:a}))||this;return l.name=n,l.index=r,l.operation=i,l.tree=a,Object.setPrototypeOf(l,o.prototype),l.message=ef(t,{name:n,index:r,operation:i,tree:a}),l}return er(t,e),t}(Error),ed=eh,ep=el,eg={add:function(e,t,n){return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){var r=ey(n,this.path);r&&(r=el(r));var i=ev(n,{op:"remove",path:this.from}).removed;return ev(n,{op:"add",path:this.path,value:i}),{newDocument:n,removed:r}},copy:function(e,t,n){var r=ey(n,this.from);return ev(n,{op:"add",path:this.path,value:el(r)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:eA(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},em={add:function(e,t,n){return eu(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:eg.move,copy:eg.copy,test:eg.test,_get:eg._get};function ey(e,t){if(""==t)return e;var n={op:"_get",path:t};return ev(e,n),n.value}function ev(e,t,n,r,i,a){if(void 0===n&&(n=!1),void 0===r&&(r=!0),void 0===i&&(i=!0),void 0===a&&(a=0),n&&("function"==typeof n?n(t,0,e,t.path):e_(t,0)),""===t.path){var o={newDocument:e};if("add"===t.op)return o.newDocument=t.value,o;if("replace"===t.op)return o.newDocument=t.value,o.removed=e,o;
10if("move"===t.op||"copy"===t.op)return o.newDocument=ey(e,t.from),"move"===t.op&&(o.removed=e),o;if("test"===t.op){if(o.test=eA(e,t.value),!1===o.test)throw new ed("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o.newDocument=e,o}else{if("remove"===t.op)return o.removed=e,o.newDocument=null,o;if("_get"===t.op)return t.value=e,o;if(!n)return o;throw new ed("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",a,t,e)}}r||(e=el(e));var l=(t.path||"").split("/"),u=e,s=1,c=l.length,f=void 0,h=void 0,d=void 0;for(d="function"==typeof n?n:e_;;){if((h=l[s])&&-1!=h.indexOf("~")&&(h=ec(h)),i&&("__proto__"==h||"prototype"==h&&s>0&&"constructor"==l[s-1]))throw TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&void 0===f&&(void 0===u[h]?f=l.slice(0,s).join("/"):s==c-1&&(f=t.path),void 0!==f&&d(t,0,e,f)),s++,Array.isArray(u)){if("-"===h)h=u.length;else{if(n&&!eu(h))throw new ed("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);eu(h)&&(h=~~h)}if(s>=c){if(n&&"add"===t.op&&h>u.length)throw new ed("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);var o=em[t.op].call(t,u,h,e);if(!1===o.test)throw new ed("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}}else if(s>=c){var o=eg[t.op].call(t,u,h,e);if(!1===o.test)throw new ed("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}if(u=u[h],n&&s<c&&(!u||"object"!=typeof u))throw new ed("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",a,t,e)}}function eb(e,t,n,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),n&&!Array.isArray(t))throw new ed("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");r||(e=el(e));for(var a=Array(t.length),o=0,l=t.length;o<l;o++)a[o]=ev(e,t[o],n,!0,i,o),e=a[o].newDocument;return a.newDocument=e,a}function ex(e,t,n){var r=ev(e,t);if(!1===r.test)throw new ed("Test operation failed","TEST_OPERATION_FAILED",n,t,e);return r.newDocument}function e_(e,t,n,r){if("object"!=typeof e||null===e||Array.isArray(e))throw new ed("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,n);if(eg[e.op]){if("string"!=typeof e.path)throw new ed("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,n);if(0!==e.path.indexOf("/")&&e.path.length>0)throw new ed('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,n);if(("move"===e.op||"copy"===e.op)&&"string"!=typeof e.from)throw new ed("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,n);else if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new ed("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,n);else if(("add"===e.op||"replace"===e.op||"test"===e.op)&&function e(t){if(void 0===t)return!0;if(t){if(Array.isArray(t)){for(var n=0,r=t.length;n<r;n++)if(e(t[n]))return!0}else if("object"==typeof t){for(var i=eo(t),a=i.length,o=0;o<a;o++)if(e(t[i[o]]))return!0}}return!1}(e.value))throw new ed("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,n);else if(n){if("add"==e.op){var i=e.path.split("/").length,a=r.split("/").length;if(i!==a+1&&i!==a)throw new ed("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,n)}else if("replace"===e.op||"remove"===e.op||"_get"===e.op){if(e.path!==r)throw new ed("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,n)}else if("move"===e.op||"copy"===e.op){var o=ew([{op:"_get",path:e.from,value:void 0}],n);if(o&&"OPERATION_PATH_UNRESOLVABLE"===o.name)throw new ed("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,n)}}}else throw new ed("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,n)}
10function ew(e,t,n){try{if(!Array.isArray(e))throw new ed("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)eb(el(t),el(e),n||!0);else{n=n||e_;for(var r=0;r<e.length;r++)n(e[r],r,t,void 0)}}catch(e){if(e instanceof ed)return e;throw e}}function eA(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){var n,r,i,a=Array.isArray(e),o=Array.isArray(t);if(a&&o){if((r=e.length)!=t.length)return!1;for(n=r;0!=n--;)if(!eA(e[n],t[n]))return!1;return!0}if(a!=o)return!1;var l=Object.keys(e);if((r=l.length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!t.hasOwnProperty(l[n]))return!1;for(n=r;0!=n--;)if(!eA(e[i=l[n]],t[i]))return!1;return!0}return e!=e&&t!=t}/*! 11 * https://github.com/Starcounter-Jack/JSON-Patch 12 * (c) 2017-2021 Joachim Wester 13 * MIT license 14 */var eE=new WeakMap,ek=function(e){this.observers=new Map,this.obj=e},eC=function(e,t){this.callback=e,this.observer=t};function eD(e,t){t.unobserve()}function eF(e,t){var n=eE.get(e);if(n){var r,i=n.observers.get(t);r=i&&i.observer}else n=new ek(e),eE.set(e,n);if(r)return r;if(r={},n.value=el(e),t){r.callback=t,r.next=null;var a=function(){e$(r)},o=function(){clearTimeout(r.next),r.next=setTimeout(a)};"undefined"!=typeof window&&(window.addEventListener("mouseup",o),window.addEventListener("keyup",o),window.addEventListener("mousedown",o),window.addEventListener("keydown",o),window.addEventListener("change",o))}return r.patches=[],r.object=e,r.unobserve=function(){e$(r),clearTimeout(r.next),function(e,t){e.observers.delete(t.callback)}(n,r),"undefined"!=typeof window&&(window.removeEventListener("mouseup",o),window.removeEventListener("keyup",o),window.removeEventListener("mousedown",o),window.removeEventListener("keydown",o),window.removeEventListener("change",o))},n.observers.set(t,new eC(t,r)),r}function e$(e,t){void 0===t&&(t=!1);var n=eE.get(e.object);eM(n.value,e.object,e.patches,"",t),e.patches.length&&eb(n.value,e.patches);var r=e.patches;return r.length>0&&(e.patches=[],e.callback&&e.callback(r)),r}function eM(e,t,n,r,i){if(t!==e){"function"==typeof t.toJSON&&(t=t.toJSON());for(var a=eo(t),o=eo(e),l=!1,u=o.length-1;u>=0;u--){var s=o[u],c=e[s];if(ea(t,s)&&!(void 0===t[s]&&void 0!==c&&!1===Array.isArray(t))){var f=t[s];"object"==typeof c&&null!=c&&"object"==typeof f&&null!=f&&Array.isArray(c)===Array.isArray(f)?eM(c,f,n,r+"/"+es(s),i):c!==f&&(i&&n.push({op:"test",path:r+"/"+es(s),value:el(c)}),n.push({op:"replace",path:r+"/"+es(s),value:el(f)}))}else Array.isArray(e)===Array.isArray(t)?(i&&n.push({op:"test",path:r+"/"+es(s),value:el(c)}),n.push({op:"remove",path:r+"/"+es(s)}),l=!0):(i&&n.push({op:"test",path:r,value:e}),n.push({op:"replace",path:r,value:t}))}if(l||a.length!=o.length)for(var u=0;u<a.length;u++){var s=a[u];ea(e,s)||void 0===t[s]||n.push({op:"add",path:r+"/"+es(s),value:el(t[s])})}}}function eS(e,t,n){void 0===n&&(n=!1);var r=[];return eM(e,t,r,"",n),r}Object.assign({},R,L,{JsonPatchError:eh,deepClone:el,escapePathComponent:es,unescapePathComponent:ec});var eN=n(21801),eO=n.n(eN);function eB(e,t,n){return e.fields=t||[],e.fname=n,e}function eT(e){return null==e?null:e.fname}function ez(e){return null==e?null:e.fields}function eR(e){return 1===e.length?eL(e[0]):eP(e)}let eL=e=>function(t){return t[e]},eP=e=>{let t=e.length;return function(n){for(let r=0;r<t;++r)n=n[e[r]];return n}};function ej(e){throw Error(e)}function eI(e){let t=[],n=e.length,r=null,i=0,a="",o,l,u;function s(){t.push(a+e.substring(o,l)),a="",o=l+1}for(e+="",o=l=0;l<n;++l)if("\\"===(u=e[l]))a+=e.substring(o,l++),o=l;else if(u===r)s(),r=null,i=-1;else{if(r)continue;o===i&&'"'===u?(o=l+1,r=u):o===i&&"'"===u?(o=l+1,r=u):"."!==u||i?"["===u?(l>o&&s(),i=o=l+1):"]"===u&&(i||ej("Access path missing open bracket: "+e),i>0&&s(),i=0,o=l+1):l>o?s():o=l+1}return i&&ej("Access path missing closing bracket: "+e),r&&ej("Access path missing closing quote: "+e),l>o&&(l++,s()),t}function eU(e,t,n){let r=eI(e);return e=1===r.length?r[0]:e,eB((n&&n.get||eR)(r),[e],t||e)}let eq=eU("id"),eW=eB(e=>e,[],"identity"),eH=eB(()=>0,[],"zero"),eY=eB(()=>1,[],"one"),eG=eB(()=>!0,[],"true"),eV=eB(()=>!1,[],"false");function eX(e,t,n){let r=[t].concat([].slice.call(n));console[e].apply(console,r)}let eZ=0,eJ=1,eQ=2,eK=3,e0=4;function e1(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:eX,r=e||eZ;return{level(e){return arguments.length?(r=+e,this):r},error(){return r>=eJ&&n(t||"error","ERROR",arguments),this},warn(){return r>=eQ&&n(t||"warn","WARN",arguments),this},info(){return r>=eK&&n(t||"log","INFO",arguments),this},debug(){return r>=e0&&n(t||"log","DEBUG",arguments),this}}}var e2=Array.isArray;function e3(e){return e===Object(e)}let e5=e=>"__proto__"!==e;function e6(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((e,t)=>
14{for(let n in t)if("signals"===n)e.signals=function(e,t){if(null==e)return t;let n={},r=[];function i(e){n[e.name]||(n[e.name]=1,r.push(e))}return t.forEach(i),e.forEach(i),r}(e.signals,t.signals);else{let r="legend"===n?{layout:1}:"style"===n||null;e4(e,n,t[n],r)}return e},{})}function e4(e,t,n,r){let i,a;if(e5(t)){if(e3(n)&&!e2(n))for(i in a=e3(e[t])?e[t]:e[t]={},n)r&&(!0===r||r[i])?e4(a,i,n[i]):e5(i)&&(a[i]=n[i]);else e[t]=n}}function e8(e){return e[e.length-1]}function e9(e){return null==e||""===e?null:+e}let e7=e=>t=>e*Math.exp(t),te=e=>t=>Math.log(e*t),tt=e=>t=>Math.sign(t)*Math.log1p(Math.abs(t/e)),tn=e=>t=>Math.sign(t)*Math.expm1(Math.abs(t))*e,tr=e=>t=>t<0?-Math.pow(-t,e):Math.pow(t,e);function ti(e,t,n,r){let i=n(e[0]),a=n(e8(e)),o=(a-i)*t;return[r(i-o),r(a-o)]}function ta(e,t){return ti(e,t,e9,eW)}function to(e,t){var n=Math.sign(e[0]);return ti(e,t,te(n),e7(n))}function tl(e,t,n){return ti(e,t,tr(n),tr(1/n))}function tu(e,t,n){return ti(e,t,tt(n),tn(n))}function ts(e,t,n,r,i){let a=r(e[0]),o=r(e8(e)),l=null!=t?r(t):(a+o)/2;return[i(l+(a-l)*n),i(l+(o-l)*n)]}function tc(e,t,n){return ts(e,t,n,e9,eW)}function tf(e,t,n){let r=Math.sign(e[0]);return ts(e,t,n,te(r),e7(r))}function th(e,t,n,r){return ts(e,t,n,tr(r),tr(1/r))}function td(e,t,n,r){return ts(e,t,n,tt(r),tn(r))}function tp(e){return 1+~~(new Date(e).getMonth()/3)}function tg(e){return 1+~~(new Date(e).getUTCMonth()/3)}function tm(e){return null!=e?e2(e)?e:[e]:[]}function ty(e,t,n){let r=e[0],i=e[1],a;return i<r&&(a=i,i=r,r=a),(a=i-r)>=n-t?[t,n]:[r=Math.min(Math.max(r,t),n-a),r+a]}function tv(e){return"function"==typeof e}function tb(e,t,n){n=n||{},t=tm(t)||[];let r=[],i=[],a={},o=n.comparator||t_;return tm(e).forEach((e,o)=>{null!=e&&(r.push("descending"===t[o]?-1:1),i.push(e=tv(e)?e:eU(e,null,n)),(ez(e)||[]).forEach(e=>a[e]=1))}),0===i.length?null:eB(o(i,r),Object.keys(a))}let tx=(e,t)=>(e<t||null==e)&&null!=t?-1:(e>t||null==t)&&null!=e?1:(t=t instanceof Date?+t:t,(e=e instanceof Date?+e:e)!==e&&t==t)?-1:t!=t&&e==e?1:0,t_=(e,t)=>1===e.length?tw(e[0],t[0]):tA(e,t,e.length),tw=(e,t)=>function(n,r){return tx(e(n),e(r))*t},tA=(e,t,n)=>(t.push(0),function(r,i){let a,o=0,l=-1;for(;0===o&&++l<n;)o=tx((a=e[l])(r),a(i));return o*t[l]});function tE(e){return tv(e)?e:()=>e}function tk(e,t){let n;return r=>{n&&clearTimeout(n),n=setTimeout(()=>(t(r),n=null),e)}}function tC(e){for(let t,n,r=1,i=arguments.length;r<i;++r)for(n in t=arguments[r])e[n]=t[n];return e}function tD(e,t){let n=0,r,i,a,o;if(e&&(r=e.length)){if(null==t){for(i=e[n];n<r&&(null==i||i!=i);i=e[++n]);for(a=o=i;n<r;++n)null!=(i=e[n])&&(i<a&&(a=i),i>o&&(o=i))}else{for(i=t(e[n]);n<r&&(null==i||i!=i);i=t(e[++n]));for(a=o=i;n<r;++n)null!=(i=t(e[n]))&&(i<a&&(a=i),i>o&&(o=i))}}return[a,o]}function tF(e,t){let n=e.length,r=-1,i,a,o,l,u;if(null==t){for(;++r<n;)if(null!=(a=e[r])&&a>=a){i=o=a;break}if(r===n)return[-1,-1];for(l=u=r;++r<n;)null!=(a=e[r])&&(i>a&&(i=a,l=r),o<a&&(o=a,u=r))}else{for(;++r<n;)if(null!=(a=t(e[r],r,e))&&a>=a){i=o=a;break}if(r===n)return[-1,-1];for(l=u=r;++r<n;)null!=(a=t(e[r],r,e))&&(i>a&&(i=a,l=r),o<a&&(o=a,u=r))}return[l,u]}let t$=Object.prototype.hasOwnProperty;function tM(e,t){return t$.call(e,t)}let tS={};function tN(e){let t={},n;function r(e){return tM(t,e)&&t[e]!==tS}let i={size:0,empty:0,object:t,has:r,get:e=>r(e)?t[e]:void 0,set(e,n){return!r(e)&&(++i.size,t[e]===tS&&--i.empty),t[e]=n,this},delete(e){return r(e)&&(--i.size,++i.empty,t[e]=tS),this},clear(){i.size=i.empty=0,i.object=t={}},test(e){return arguments.length?(n=e,i):n},clean(){let e={},r=0;for(let i in t){let a=t[i];a!==tS&&(!n||!n(a))&&(e[i]=a,++r)}i.size=r,i.empty=0,i.object=t=e}};return e&&Object.keys(e).forEach(t=>{i.set(t,e[t])}),i}function tO(e,t,n,r,i,a){if(!n&&0!==n)return a;let o=+n,l=e[0],u=e8(e),s;u<l&&(s=l,l=u,u=s),s=Math.abs(t-l);let c=Math.abs(u-t);return s<c&&s<=o?r:c<=o?i:a}function tB(e,t,n){let r=e.prototype=Object.create(t.prototype);return Object.defineProperty(r,"constructor",{value:e,writable:!0,enumerable:!0,configurable:!0}),tC(r,n)}function tT(e,t,n,r){let i=t[0],a=t[t.length-1],o;return i>a&&(o=i,i=a,a=o),r=void 0===r||r,((n=void 0===n||n)?i<=e:i<e)&&(r?e<=a:e<a)}function tz(e){return"boolean"==typeof e}function tR(e){return"[object Date]"===Object.prototype.toString.call(e)}function tL(e){return e&&tv(e[Symbol.iterator])}function tP(e){return"number"==typeof e}function tj(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function tI(e){return"string"==typeof e}function tU(e,t,n){let r;e&&(e=t?tm(e).map(e=>e.replace(/\\(.)/g,"$1")):tm(e));let i=e&&e.length,a=n&&n.get||eR,o=e=>a(t?[e]:eI(e));
14if(i){if(1===i){let t=o(e[0]);r=function(e){return""+t(e)}}else{let t=e.map(o);r=function(e){let n=""+t[0](e),r=0;for(;++r<i;)n+="|"+t[r](e);return n}}}else r=function(){return""};return eB(r,e,"key")}function tq(e,t){let n=e[0],r=e8(e),i=+t;return i?1===i?r:n+i*(r-n):n}function tW(e){let t,n,r;e=+e||1e4;let i=()=>{t={},n={},r=0},a=(i,a)=>(++r>e&&(n=t,t={},r=1),t[i]=a);return i(),{clear:i,has:e=>tM(t,e)||tM(n,e),get:e=>tM(t,e)?t[e]:tM(n,e)?a(e,n[e]):void 0,set:(e,n)=>tM(t,e)?t[e]=n:a(e,n)}}function tH(e,t,n,r){let i=t.length,a=n.length;if(!a)return t;if(!i)return n;let o=r||new t.constructor(i+a),l=0,u=0,s=0;for(;l<i&&u<a;++s)o[s]=e(t[l],n[u])>0?n[u++]:t[l++];for(;l<i;++l,++s)o[s]=t[l];for(;u<a;++u,++s)o[s]=n[u];return o}function tY(e,t){let n="";for(;--t>=0;)n+=e;return n}function tG(e,t,n,r){let i=n||" ",a=e+"",o=t-a.length;return o<=0?a:"left"===r?tY(i,o)+a:"center"===r?tY(i,~~(o/2))+a+tY(i,Math.ceil(o/2)):a+tY(i,o)}function tV(e){return e&&e8(e)-e[0]||0}function tX(e){return e2(e)?"["+e.map(tX)+"]":e3(e)||tI(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}function tZ(e){return null==e||""===e?null:!!e&&"false"!==e&&"0"!==e&&!!e}let tJ=e=>tP(e)?e:tR(e)?e:Date.parse(e);function tQ(e,t){return t=t||tJ,null==e||""===e?null:t(e)}function tK(e){return null==e||""===e?null:e+""}function t0(e){let t={},n=e.length;for(let r=0;r<n;++r)t[e[r]]=!0;return t}function t1(e,t,n,r){let i=null!=r?r:"…",a=e+"",o=a.length,l=Math.max(0,t-i.length);return o<=t?a:"left"===n?i+a.slice(o-l):"center"===n?a.slice(0,Math.ceil(l/2))+i+a.slice(o-~~(l/2)):a.slice(0,l)+i}function t2(e,t,n){if(e){if(t){let r=e.length;for(let i=0;i<r;++i){let r=t(e[i]);r&&n(r,i,e)}}else e.forEach(n)}}var t3={},t5={};function t6(e){return Function("d","return {"+e.map(function(e,t){return JSON.stringify(e)+": d["+t+'] || ""'}).join(",")+"}")}function t4(e){var t=Object.create(null),n=[];return e.forEach(function(e){for(var r in e)r in t||n.push(t[r]=r)}),n}function t8(e,t){var n=e+"",r=n.length;return r<t?Array(t-r+1).join(0)+n:n}function t9(e){return e}function t7(e,t){return"string"==typeof t&&(t=e.objects[t]),"GeometryCollection"===t.type?{type:"FeatureCollection",features:t.geometries.map(function(t){return ne(e,t)})}:ne(e,t)}function ne(e,t){var n=t.id,r=t.bbox,i=null==t.properties?{}:t.properties,a=nt(e,t);return null==n&&null==r?{type:"Feature",properties:i,geometry:a}:null==r?{type:"Feature",id:n,properties:i,geometry:a}:{type:"Feature",id:n,bbox:r,properties:i,geometry:a}}function nt(e,t){var n=function(e){if(null==e)return t9;var t,n,r=e.scale[0],i=e.scale[1],a=e.translate[0],o=e.translate[1];return function(e,l){l||(t=n=0);var u=2,s=e.length,c=Array(s);for(c[0]=(t+=e[0])*r+a,c[1]=(n+=e[1])*i+o;u<s;)c[u]=e[u],++u;return c}}(e.transform),r=e.arcs;function i(e){return n(e)}function a(e){for(var t=[],i=0,a=e.length;i<a;++i)!function(e,t){t.length&&t.pop();for(var i=r[e<0?~e:e],a=0,o=i.length;a<o;++a)t.push(n(i[a],a));e<0&&function(e,t){for(var n,r=e.length,i=r-t;i<--r;)n=e[i],e[i++]=e[r],e[r]=n}(t,o)}(e[i],t);return t.length<2&&t.push(t[0]),t}function o(e){for(var t=a(e);t.length<4;)t.push(t[0]);return t}function l(e){return e.map(o)}return function e(t){var n,r=t.type;switch(r){case"GeometryCollection":return{type:r,geometries:t.geometries.map(e)};case"Point":n=i(t.coordinates);break;case"MultiPoint":n=t.coordinates.map(i);break;case"LineString":n=a(t.arcs);break;case"MultiLineString":n=t.arcs.map(a);break;case"Polygon":n=l(t.arcs);break;case"MultiPolygon":n=t.arcs.map(l);break;default:return null}return{type:r,coordinates:n}}(t)}function nn(e){return nt(e,nr.apply(this,arguments))}function nr(e,t,n){var r,i,a;if(arguments.length>1)r=function(e,t,n){var r,i=[],a=[];function o(e){var t=e<0?~e:e;(a[t]||(a[t]=[])).push({i:e,g:r})}function l(e){e.forEach(o)}function u(e){e.forEach(l)}return!function e(t){switch(r=t,t.type){case"GeometryCollection":t.geometries.forEach(e);break;case"LineString":l(t.arcs);break;case"MultiLineString":case"Polygon":u(t.arcs);break;case"MultiPolygon":!function(e){e.forEach(u)}(t.arcs)}}(t),a.forEach(null==n?function(e){i.push(e[0].i)}:function(e){n(e[0].g,e[e.length-1].g)&&i.push(e[0].i)}),i}(0,t,n);else for(i=0,r=Array(a=e.arcs.length);i<a;++i)r[i]=i;return{type:"MultiLineString",arcs:function(e,t){var n={},r={},i={},a=[],o=-1;function l(e,t){for(var r in e){var i=e[r];
14delete t[i.start],delete i.start,delete i.end,i.forEach(function(e){n[e<0?~e:e]=1}),a.push(i)}}return t.forEach(function(n,r){var i,a=e.arcs[n<0?~n:n];!(a.length<3)||a[1][0]||a[1][1]||(i=t[++o],t[o]=n,t[r]=i)}),t.forEach(function(t){var n,a,o,l,u,s=(o=(a=e.arcs[t<0?~t:t])[0],e.transform?(n=[0,0],a.forEach(function(e){n[0]+=e[0],n[1]+=e[1]})):n=a[a.length-1],t<0?[n,o]:[o,n]),c=s[0],f=s[1];if(l=i[c]){if(delete i[l.end],l.push(t),l.end=f,u=r[f]){delete r[u.start];var h=u===l?l:l.concat(u);r[h.start=l.start]=i[h.end=u.end]=h}else r[l.start]=i[l.end]=l}else if(l=r[f]){if(delete r[l.start],l.unshift(t),l.start=c,u=i[c]){delete i[u.end];var d=u===l?l:u.concat(l);r[d.start=u.start]=i[d.end=l.end]=d}else r[l.start]=i[l.end]=l}else r[(l=[t]).start=c]=i[l.end=f]=l}),l(i,r),l(r,i),t.forEach(function(e){n[e<0?~e:e]||a.push([e])}),a}(e,r)}}let ni=Math.sqrt(50),na=Math.sqrt(10),no=Math.sqrt(2);function nl(e,t,n){return function e(t,n,r){let i,a,o;let l=(n-t)/Math.max(0,r),u=Math.floor(Math.log10(l)),s=l/Math.pow(10,u),c=s>=ni?10:s>=na?5:s>=no?2:1;return(u<0?(i=Math.round(t*(o=Math.pow(10,-u)/c)),a=Math.round(n*o),i/o<t&&++i,a/o>n&&--a,o=-o):(i=Math.round(t/(o=Math.pow(10,u)*c)),a=Math.round(n/o),i*o<t&&++i,a*o>n&&--a),a<i&&.5<=r&&r<2)?e(t,n,2*r):[i,a,o]}(e=+e,t=+t,n=+n)[2]}var nu=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ns(e){var t;if(!(t=nu.exec(e)))throw Error("invalid format: "+e);return new nc({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function nc(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function nf(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function nh(e){return(e=nf(Math.abs(e)))?e[1]:NaN}function nd(e,t){var n=nf(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+Array(i-r.length+2).join("0")}ns.prototype=nc.prototype,nc.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var np={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>nd(100*e,t),r:nd,s:function(e,t){var n=nf(e,t);if(!n)return e+"";var r=n[0],i=n[1],a=i-(vq=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+Array(1-a).join("0")+nf(e,Math.max(0,t+a-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function ng(e){return e}var nm=Array.prototype.map,ny=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function nv(e){var t,n,r,i=void 0===e.grouping||void 0===e.thousands?ng:(t=nm.call(e.grouping,Number),n=e.thousands+"",function(e,r){for(var i=e.length,a=[],o=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>r&&(l=Math.max(1,r-u)),a.push(e.substring(i-=l,i+l)),!((u+=l+1)>r));)l=t[o=(o+1)%t.length];return a.reverse().join(n)}),a=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",l=void 0===e.decimal?".":e.decimal+"",u=void 0===e.numerals?ng:(r=nm.call(e.numerals,String),function(e){return e.replace(/[0-9]/g,function(e){return r[+e]})}),s=void 0===e.percent?"%":e.percent+"",c=void 0===e.minus?"−":e.minus+"",f=void 0===e.nan?"NaN":e.nan+"";function h(e){var t=(e=ns(e)).fill,n=e.align,r=e.sign,h=e.symbol,d=e.zero,p=e.width,g=e.comma,m=e.precision,y=e.trim,v=e.type;"n"===v?(g=!0,v="g"):np[v]||(void 0===m&&(m=12),y=!0,v="g"),(d||"0"===t&&"="===n)&&(d=!0,t="0",n="=");var b="$"===h?a:"#"===h&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",x="$"===h?o:/[%p]/.test(v)?s:"",_=np[v],w=/[defgprs%]/.test(v);function A(e){var a,o,s,h=b,A=x;if("c"===v)A=_(e)+A,e="";else{var E=(e=+e)<0||1/e<0;
vendor: 1,074 bytes, line 14
14if(e=isNaN(e)?f:_(Math.abs(e),m),y&&(e=function(e){e:for(var t,n=e.length,r=1,i=-1;r<n;++r)switch(e[r]){case".":i=t=r;break;case"0":0===i&&(i=r),t=r;break;default:if(!+e[r])break e;i>0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),E&&0==+e&&"+"!==r&&(E=!1),h=(E?"("===r?r:c:"-"===r||"("===r?"":r)+h,A=("s"===v?ny[8+vq/3]:"")+A+(E&&"("===r?")":""),w){for(a=-1,o=e.length;++a<o;)if(48>(s=e.charCodeAt(a))||s>57){A=(46===s?l+e.slice(a+1):e.slice(a))+A,e=e.slice(0,a);break}}}g&&!d&&(e=i(e,1/0));var k=h.length+e.length+A.length,C=k<p?Array(p-k+1).join(t):"";switch(g&&d&&(e=i(C+e,C.length?p-A.length:1/0),C=""),n){case"<":e=h+e+A+C;break;case"=":e=h+C+e+A;break;case"^":e=C.slice(0,k=C.length>>1)+h+e+A+C.slice(k);break;default:e=C+h+e+A}return u(e)}return m=void 0===m?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),A.toString=function(){return e+""},A}return{format:h,formatPrefix:function(e,t){var n=h(((e=ns(e)).type="f",e)),r=3*Math.max(-8,Math.min(8,Math.floor(nh(t)/3))),i=Math.pow(10,-r),a=ny[8+r/3];return function(e){return n(i*e)+a}}}}
14vH=(vW=nv({thousands:",",grouping:[3],currency:["$",""]})).format,vY=vW.formatPrefix;let nb=new Date,nx=new Date;function n_(e,t,n,r){function i(t){return e(t=0==arguments.length?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),null==n?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o;let l=[];if(n=i.ceil(n),a=null==a?1:Math.floor(a),!(n<r)||!(a>0))return l;do l.push(o=new Date(+n)),t(n,a),e(n);while(o<n&&n<r);return l},i.filter=n=>n_(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(nb.setTime(+t),nx.setTime(+r),e(nb),e(nx),Math.floor(n(nb,nx))),i.every=e=>isFinite(e=Math.floor(e))&&e>0?e>1?i.filter(r?t=>r(t)%e==0:t=>i.count(0,t)%e==0):i:null),i}let nw=864e5,nA=7*nw,nE=n_(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/nw,e=>e.getDate()-1);nE.range;let nk=n_(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/nw,e=>e.getUTCDate()-1);nk.range;let nC=n_(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/nw,e=>Math.floor(e/nw));function nD(e){return n_(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+7*t)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/nA)}nC.range;let nF=nD(0),n$=nD(1),nM=nD(2),nS=nD(3),nN=nD(4),nO=nD(5),nB=nD(6);function nT(e){return n_(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+7*t)},(e,t)=>(t-e)/nA)}nF.range,n$.range,nM.range,nS.range,nN.range,nO.range,nB.range;let nz=nT(0),nR=nT(1),nL=nT(2),nP=nT(3),nj=nT(4),nI=nT(5),nU=nT(6);nz.range,nR.range,nL.range,nP.range,nj.range,nI.range,nU.range;let nq=n_(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());nq.every=e=>isFinite(e=Math.floor(e))&&e>0?n_(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}):null,nq.range;let nW=n_(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());nW.every=e=>isFinite(e=Math.floor(e))&&e>0?n_(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}):null,nW.range;let nH=n_(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());nH.range;let nY=n_(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());nY.range;let nG=n_(e=>{e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds()-6e4*e.getMinutes())},(e,t)=>{e.setTime(+e+36e5*t)},(e,t)=>(t-e)/36e5,e=>e.getHours());nG.range;let nV=n_(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+36e5*t)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours());nV.range;let nX=n_(e=>{e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds())},(e,t)=>{e.setTime(+e+6e4*t)},(e,t)=>(t-e)/6e4,e=>e.getMinutes());nX.range;let nZ=n_(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+6e4*t)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes());nZ.range;let nJ=n_(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+1e3*t)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds());nJ.range;let nQ=n_(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);function nK(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function n0(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function n1(){return 0}nQ.every=e=>isFinite(e=Math.floor(e))&&e>0?e>1?n_(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):nQ:null,nQ.range;let n2=Math.sqrt(50),n3=Math.sqrt(10),n5=Math.sqrt(2);function n6(e,t,n){return function e(t,n,r){let i,a,o;let l=(n-t)/Math.max(0,r),u=Math.floor(Math.log10(l)),s=l/Math.pow(10,u),c=s>=n2?10:s>=n3?5:s>=n5?2:1;return(u<0?(i=Math.round(t*(o=Math.pow(10,-u)/c)),a=Math.round(n*o),i/o<t&&++i,a/o>n&&--a,o=-o):(i=Math.round(t/(o=Math.pow(10,u)*c)),a=Math.round(n/o),i*o<t&&++i,a*o>n&&--a),a<i&&.5<=r&&r<2)?e(t,n,2*r):[i,a,o]}(e=+e,t=+t,n=+n)[2]}function n4(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?n6(t,e,n):n6(e,t,n);return(r?-1:1)*(i<0?-(1/i):i)}let n8="year",n9="quarter",n7="month",re="week",rt="date",rn="day",rr="dayofyear",ri="hours",ra="minutes",ro="seconds",rl="milliseconds",ru=[n8,n9,n7,re,rt,rn,rr,ri,ra,ro,rl],rs=ru.reduce((e,t,n
14)=>(e[t]=1+n,e),{});function rc(e){let t=tm(e).slice(),n={};t.length||ej("Missing time unit."),t.forEach(e=>{tM(rs,e)?n[e]=1:ej(`Invalid time unit: ${e}.`)});let r=(n[re]||n[rn]?1:0)+(n[n9]||n[n7]||n[rt]?1:0)+(n[rr]?1:0);return r>1&&ej(`Incompatible time units: ${e}`),t.sort((e,t)=>rs[e]-rs[t]),t}let rf={[n8]:"%Y ",[n9]:"Q%q ",[n7]:"%b ",[rt]:"%d ",[re]:"W%U ",[rn]:"%a ",[rr]:"%j ",[ri]:"%H:00",[ra]:"00:%M",[ro]:":%S",[rl]:".%L",[`${n8}-${n7}`]:"%Y-%m ",[`${n8}-${n7}-${rt}`]:"%Y-%m-%d ",[`${ri}-${ra}`]:"%H:%M"};function rh(e,t){let n=tC({},rf,t),r=rc(e),i=r.length,a="",o=0,l,u;for(o=0;o<i;)for(l=r.length;l>o;--l)if(null!=n[u=r.slice(o,l).join("-")]){a+=n[u],o=l;break}return a.trim()}let rd=new Date;function rp(e){return rd.setFullYear(e),rd.setMonth(0),rd.setDate(1),rd.setHours(0,0,0,0),rd}function rg(e){return ry(new Date(e))}function rm(e){return rv(new Date(e))}function ry(e){return nE.count(rp(e.getFullYear())-1,e)}function rv(e){return nF.count(rp(e.getFullYear())-1,e)}function rb(e){return rp(e).getDay()}function rx(e,t,n,r,i,a,o){if(0<=e&&e<100){let l=new Date(-1,t,n,r,i,a,o);return l.setFullYear(e),l}return new Date(e,t,n,r,i,a,o)}function r_(e){return rA(new Date(e))}function rw(e){return rE(new Date(e))}function rA(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return nk.count(t-1,e)}function rE(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return nz.count(t-1,e)}function rk(e){return rd.setTime(Date.UTC(e,0,1)),rd.getUTCDay()}function rC(e,t,n,r,i,a,o){if(0<=e&&e<100){let e=new Date(Date.UTC(-1,t,n,r,i,a,o));return e.setUTCFullYear(n.y),e}return new Date(Date.UTC(e,t,n,r,i,a,o))}function rD(e,t,n,r,i){let a=t||1,o=e8(e),l=(e,t,i)=>(function(e,t,n,r){let i=n<=1?e:r?(t,i)=>r+n*Math.floor((e(t,i)-r)/n):(t,r)=>n*Math.floor(e(t,r)/n);return t?(e,n)=>t(i(e,n),n):i})(n[i=i||e],r[i],e===o&&a,t),u=new Date,s=t0(e),c=s[n8]?l(n8):tE(2012),f=s[n7]?l(n7):s[n9]?l(n9):eH,h=s[re]&&s[rn]?l(rn,1,re+rn):s[re]?l(re,1):s[rn]?l(rn,1):s[rt]?l(rt,1):s[rr]?l(rr,1):eY,d=s[ri]?l(ri):eH,p=s[ra]?l(ra):eH,g=s[ro]?l(ro):eH,m=s[rl]?l(rl):eH;return function(e){u.setTime(+e);let t=c(u);return i(t,f(u),h(u,t),d(u),p(u),g(u),m(u))}}function rF(e,t,n){return t+7*e-(n+6)%7}let r$={[n8]:e=>e.getFullYear(),[n9]:e=>Math.floor(e.getMonth()/3),[n7]:e=>e.getMonth(),[rt]:e=>e.getDate(),[ri]:e=>e.getHours(),[ra]:e=>e.getMinutes(),[ro]:e=>e.getSeconds(),[rl]:e=>e.getMilliseconds(),[rr]:e=>ry(e),[re]:e=>rv(e),[re+rn]:(e,t)=>rF(rv(e),e.getDay(),rb(t)),[rn]:(e,t)=>rF(1,e.getDay(),rb(t))},rM={[n9]:e=>3*e,[re]:(e,t)=>rF(e,0,rb(t))};function rS(e,t){return rD(e,t||1,r$,rM,rx)}let rN={[n8]:e=>e.getUTCFullYear(),[n9]:e=>Math.floor(e.getUTCMonth()/3),[n7]:e=>e.getUTCMonth(),[rt]:e=>e.getUTCDate(),[ri]:e=>e.getUTCHours(),[ra]:e=>e.getUTCMinutes(),[ro]:e=>e.getUTCSeconds(),[rl]:e=>e.getUTCMilliseconds(),[rr]:e=>rA(e),[re]:e=>rE(e),[rn]:(e,t)=>rF(1,e.getUTCDay(),rk(t)),[re+rn]:(e,t)=>rF(rE(e),e.getUTCDay(),rk(t))},rO={[n9]:e=>3*e,[re]:(e,t)=>rF(e,0,rk(t))};function rB(e,t){return rD(e,t||1,rN,rO,rC)}let rT={[n8]:nq,[n9]:nH.every(3),[n7]:nH,[re]:nF,[rt]:nE,[rn]:nE,[rr]:nE,[ri]:nG,[ra]:nX,[ro]:nJ,[rl]:nQ},rz={[n8]:nW,[n9]:nY.every(3),[n7]:nY,[re]:nz,[rt]:nk,[rn]:nk,[rr]:nk,[ri]:nV,[ra]:nZ,[ro]:nJ,[rl]:nQ};function rR(e){return rT[e]}function rL(e){return rz[e]}function rP(e,t,n){return e?e.offset(t,n):void 0}function rj(e,t,n){return rP(rR(e),t,n)}function rI(e,t,n){return rP(rL(e),t,n)}function rU(e,t,n,r){return e?e.range(t,n,r):void 0}function rq(e,t,n,r){return rU(rR(e),t,n,r)}function rW(e,t,n,r){return rU(rL(e),t,n,r)}let rH=864e5,rY=30*rH,rG=365*rH,rV=[n8,n7,rt,ri,ra,ro,rl],rX=rV.slice(0,-1),rZ=rX.slice(0,-1),rJ=rZ.slice(0,-1),rQ=rJ.slice(0,-1),rK=[n8,n7],r0=[n8],r1=[[rX,1,1e3],[rX,5,5e3],[rX,15,15e3],[rX,30,3e4],[rZ,1,6e4],[rZ,5,3e5],[rZ,15,9e5],[rZ,30,18e5],[rJ,1,36e5],[rJ,3,108e5],[rJ,6,216e5],[rJ,12,432e5],[rQ,1,rH],[[n8,re],1,7*rH],[rK,1,rY],[rK,3,3*rY],[r0,1,rG]];function r2(e){let t=e.extent,n=e.maxbins||40,r=Math.abs(tV(t))/n,i=(function(e){let t,n,r;function i(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{let t=i+a>>>1;0>n(e[t],r)?i=t+1:a=t}while(i<a)}return i}return 2!==e.length?(t=nK,n=(t,n)=>nK(e(t),n),r=(t,n)=>e(t)-n):(t=e===nK||e===n0?e:n1,n=e,r=e),{left:i,center:function(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}
14,right:function(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{let t=i+a>>>1;0>=n(e[t],r)?i=t+1:a=t}while(i<a)}return i}}})(e=>e[2]).right(r1,r),a,o;return i===r1.length?(a=r0,o=n4(t[0]/rG,t[1]/rG,n)):i?(a=(i=r1[r/r1[i-1][2]<r1[i][2]/r?i-1:i])[0],o=i[1]):(a=rV,o=Math.max(n4(t[0],t[1],n),1)),{units:a,step:o}}var r3=n(97326),r5=n(89692),r6=n(22776),r4=n(73368),r8=n(82209),r9=n(31181);function r7(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function ie(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function it(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function ir(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,l=e.months,u=e.shortMonths,s=ic(i),c=ih(i),f=ic(a),h=ih(a),d=ic(o),p=ih(o),g=ic(l),m=ih(l),y=ic(u),v=ih(u),b={a:function(e){return o[e.getDay()]},A:function(e){return a[e.getDay()]},b:function(e){return u[e.getMonth()]},B:function(e){return l[e.getMonth()]},c:null,d:iO,e:iO,f:iL,g:iX,G:iJ,H:iB,I:iT,j:iz,L:iR,m:iP,M:ij,p:function(e){return i[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:ac,s:af,S:iI,u:iU,U:iq,V:iH,w:iY,W:iG,x:null,X:null,y:iV,Y:iZ,Z:iQ,"%":as},x={a:function(e){return o[e.getUTCDay()]},A:function(e){return a[e.getUTCDay()]},b:function(e){return u[e.getUTCMonth()]},B:function(e){return l[e.getUTCMonth()]},c:null,d:iK,e:iK,f:i5,g:aa,G:al,H:i0,I:i1,j:i2,L:i3,m:i6,M:i4,p:function(e){return i[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:ac,s:af,S:i8,u:i9,U:i7,V:at,w:an,W:ar,x:null,X:null,y:ai,Y:ao,Z:au,"%":as},_={a:function(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=p.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(e,t,n){var r=f.exec(t.slice(n));return r?(e.w=h.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(e,t,n){var r=y.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(e,t,n){var r=g.exec(t.slice(n));return r?(e.m=m.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(e,n,r){return E(e,t,n,r)},d:iA,e:iA,f:i$,g:ib,G:iv,H:ik,I:ik,j:iE,L:iF,m:iw,M:iC,p:function(e,t,n){var r=s.exec(t.slice(n));return r?(e.p=c.get(r[0].toLowerCase()),n+r[0].length):-1},q:i_,Q:iS,s:iN,S:iD,u:ip,U:ig,V:im,w:id,W:iy,x:function(e,t,r){return E(e,n,t,r)},X:function(e,t,n){return E(e,r,t,n)},y:ib,Y:iv,Z:ix,"%":iM};function w(e,t){return function(n){var r,i,a,o=[],l=-1,u=0,s=e.length;for(n instanceof Date||(n=new Date(+n));++l<s;)37===e.charCodeAt(l)&&(o.push(e.slice(u,l)),null!=(i=ii[r=e.charAt(++l)])?r=e.charAt(++l):i="e"===r?" ":"0",(a=t[r])&&(r=a(n,i)),o.push(r),u=l+1);return o.push(e.slice(u,l)),o.join("")}}function A(e,t){return function(n){var r,i,a=it(1900,void 0,1);if(E(a,e,n+="",0)!=n.length)return null;if("Q"in a)return new Date(a.Q);if("s"in a)return new Date(1e3*a.s+("L"in a?a.L:0));if(!t||"Z"in a||(a.Z=0),"p"in a&&(a.H=a.H%12+12*a.p),void 0===a.m&&(a.m="q"in a?a.q:0),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(r=(i=(r=ie(it(a.y,0,1))).getUTCDay())>4||0===i?r3.l6.ceil(r):(0,r3.l6)(r),r=r5.Z.offset(r,(a.V-1)*7),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(r=(i=(r=r7(it(a.y,0,1))).getDay())>4||0===i?r6.wA.ceil(r):(0,r6.wA)(r),r=r4.Z.offset(r,(a.V-1)*7),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?ie(it(a.y,0,1)).getUTCDay():r7(it(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,ie(a)):r7(a)}}function E(e,t,n,r){for(var i,a,o=0,l=t.length,u=n.length;o<l;){if(r>=u)return -1;if(37===(i=t.charCodeAt(o++))){if(!(a=_[(i=t.charAt(o++))in ii?t.charAt(o++):i])||(r=a(e,n,r))<0)return -1}else if(i!=n.charCodeAt(r++))return -1}return r}return b.x=w(n,b),b.X=w(r,b),b.c=w(t,b),x.x=w(n,x),x.X=w(r,x),x.c=w(t,x),{format:function(e){var t=w(e+="",b);return t.toString=function(){return e},t},parse:function(e){var t=A(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=w(e+="",x);return t.toString=function(){return e},t},utcParse:function(e){var t=A(e+="",!0);return t.toString=function(){return e},t}}}var ii={"-":"",_:" ",0:"0"},ia=/^\s*\d+/,io=/^%/,il=/[\\^$*+?|[\]().{}]/g;function iu(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function is(e){return e.replace(il,"\\$&")}function ic(e){return RegExp("^(?:"+e.map(is).join("|")+")","i")}function ih(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function id(e,t,n){var r=ia.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}
14function ip(e,t,n){var r=ia.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function ig(e,t,n){var r=ia.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function im(e,t,n){var r=ia.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function iy(e,t,n){var r=ia.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function iv(e,t,n){var r=ia.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function ib(e,t,n){var r=ia.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function ix(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function i_(e,t,n){var r=ia.exec(t.slice(n,n+1));return r?(e.q=3*r[0]-3,n+r[0].length):-1}function iw(e,t,n){var r=ia.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function iA(e,t,n){var r=ia.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function iE(e,t,n){var r=ia.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function ik(e,t,n){var r=ia.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function iC(e,t,n){var r=ia.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function iD(e,t,n){var r=ia.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function iF(e,t,n){var r=ia.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function i$(e,t,n){var r=ia.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function iM(e,t,n){var r=io.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function iS(e,t,n){var r=ia.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function iN(e,t,n){var r=ia.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function iO(e,t){return iu(e.getDate(),t,2)}function iB(e,t){return iu(e.getHours(),t,2)}function iT(e,t){return iu(e.getHours()%12||12,t,2)}function iz(e,t){return iu(1+r4.Z.count((0,r8.Z)(e),e),t,3)}function iR(e,t){return iu(e.getMilliseconds(),t,3)}function iL(e,t){return iR(e,t)+"000"}function iP(e,t){return iu(e.getMonth()+1,t,2)}function ij(e,t){return iu(e.getMinutes(),t,2)}function iI(e,t){return iu(e.getSeconds(),t,2)}function iU(e){var t=e.getDay();return 0===t?7:t}function iq(e,t){return iu(r6.OM.count((0,r8.Z)(e)-1,e),t,2)}function iW(e){var t=e.getDay();return t>=4||0===t?(0,r6.bL)(e):r6.bL.ceil(e)}function iH(e,t){return e=iW(e),iu(r6.bL.count((0,r8.Z)(e),e)+(4===(0,r8.Z)(e).getDay()),t,2)}function iY(e){return e.getDay()}function iG(e,t){return iu(r6.wA.count((0,r8.Z)(e)-1,e),t,2)}function iV(e,t){return iu(e.getFullYear()%100,t,2)}function iX(e,t){return iu((e=iW(e)).getFullYear()%100,t,2)}function iZ(e,t){return iu(e.getFullYear()%1e4,t,4)}function iJ(e,t){var n=e.getDay();return iu((e=n>=4||0===n?(0,r6.bL)(e):r6.bL.ceil(e)).getFullYear()%1e4,t,4)}function iQ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+iu(t/60|0,"0",2)+iu(t%60,"0",2)}function iK(e,t){return iu(e.getUTCDate(),t,2)}function i0(e,t){return iu(e.getUTCHours(),t,2)}function i1(e,t){return iu(e.getUTCHours()%12||12,t,2)}function i2(e,t){return iu(1+r5.Z.count((0,r9.Z)(e),e),t,3)}function i3(e,t){return iu(e.getUTCMilliseconds(),t,3)}function i5(e,t){return i3(e,t)+"000"}function i6(e,t){return iu(e.getUTCMonth()+1,t,2)}function i4(e,t){return iu(e.getUTCMinutes(),t,2)}function i8(e,t){return iu(e.getUTCSeconds(),t,2)}function i9(e){var t=e.getUTCDay();return 0===t?7:t}function i7(e,t){return iu(r3.Ox.count((0,r9.Z)(e)-1,e),t,2)}function ae(e){var t=e.getUTCDay();return t>=4||0===t?(0,r3.hB)(e):r3.hB.ceil(e)}function at(e,t){return e=ae(e),iu(r3.hB.count((0,r9.Z)(e),e)+(4===(0,r9.Z)(e).getUTCDay()),t,2)}function an(e){return e.getUTCDay()}function ar(e,t){return iu(r3.l6.count((0,r9.Z)(e)-1,e),t,2)}function ai(e,t){return iu(e.getUTCFullYear()%100,t,2)}function aa(e,t){return iu((e=ae(e)).getUTCFullYear()%100,t,2)}function ao(e,t){return iu(e.getUTCFullYear()%1e4,t,4)}function al(e,t){var n=e.getUTCDay();return iu((e=n>=4||0===n?(0,r3.hB)(e):r3.hB.ceil(e)).getUTCFullYear()%1e4,t,4)}function au(){return"+0000"}function as(){return"%"}function ac(e){return+e}function af(e){return Math.floor(+e/1e3)}function ah(e){let t={};return n=>t[n]||(t[n]=e(n))}function ad(e){let t=ah(e.format),n=e.formatPrefix;return{format:t,formatPrefix:n,formatFloat(e){var n,r;let i=ns(e||",");if(null!=i.precision)return t(i);switch(i.precision=12,i.type){case"%":i.precision-=2;break;case"e":i.precision-=1}return n=t(i),r=t(".1f")(1)[1],e=>{let t=n(e),i=t.indexOf(r);if(i<0)return t;let a=function(e,t){let n=e.lastIndexOf("e"),r;if(n>0)return n;for(n=e.length;--n>t;)if((r=e.charCodeAt(n))>=48&&r<=57)return n+1}(t,i),o=a<t.length?t.slice(a):"";for(;--a>i;)if("0"!==t[a]){++a;break}return t.slice(0,a)+o}},formatSpan(e,r,i,a){var o;let l;a=ns(null==a?",f":a);let u=function(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?nl(t,e,n):nl(e,t,n);return(r?-1:1)*(i<0?-(1/i):i)}(e,r,i),s=Math.max(Math.abs(e),Math.abs(r));if(null==a.precision)switch(a.type){case"s":return isNaN(l=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(nh(s)/3)))-nh(Math.abs(u))))||(a.precision=l),n(a,s);case"":case"e":case"g":case"p":case"r":isNaN(l=Math.max(0,nh(Math.abs(s)-(o=Math.abs(o=u)))-nh(o))+1)||(a.precision=l-("e"===a.type));break;case"f":case"%":isNaN(l=Math.max(0,-nh(Math.abs(u))))||(a.precision=l-("%"===a.type)*2)}return t(a)}}}function ap(){return r=ad({format:vH,formatPrefix:vY})}function ag(e){return arguments.length?r=ad(nv(e)):r}function am(e,t,n){e3(n=n||{})||ej(`Invalid time multi-format specifier: ${n}`);let r=t(ro),i=t(ra),a=t(ri),o=t(rt),l=t(re),u=t(n7),s=t(n9),c=t(n8),f=e(n[rl]||".%L"),h=e(n[ro]||":%S"),d=e(n[ra]||"%I:%M"),p=e(n[ri]||"%I %p"),g=e(n[rt]||n[rn]||"%a %d"),m=e(n[re]||"%b %d"),y=e(n[n7]||"%B"),v=e(n[n9]||"%B"),b=e(n[n8]||"%Y");return e=>(r(e)<e?f:i(e)<e?h:a(e)<e?d:o(e)<e?p:u(e)<e?l(e)<e?g:m:c(e)<e?s(e)<e?y:v:b)(e)}function ay(e){let t=ah(e.format),n=ah(e.utcFormat);return{timeFormat:e=>tI(e)?t(e):am(t,rR,e),utcFormat:e=>tI(e)?n(e):am(n,rL,e),timeParse:ah(e.parse),utcParse:ah(e.utcParse)}}function av(){return i=ay({format:vV,parse:vX,utcFormat:vZ,utcParse:vJ})}function ab(e){return arguments.length?i=ay(ir(e)):i}vV=(vG=ir({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
14ay","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})).format,vX=vG.parse,vZ=vG.utcFormat,vJ=vG.utcParse,ap(),av();let ax=(e,t)=>tC({},e,t);function a_(e,t){let n=e?ad(nv(e)):ag(),r=t?ay(ir(t)):ab();return ax(n,r)}function aw(e,t){let n=arguments.length;return n&&2!==n&&ej("defaultLocale expects either zero or two arguments."),n?ax(ag(e),ab(t)):ax(ag(),ab())}function aA(){return ap(),av(),aw()}var aE=n(48764).lW;let ak=/^(data:|([A-Za-z]+:)?\/\/)/,aC=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,aD=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,aF="file://";async function a$(e,t){let n=await this.sanitize(e,t),r=n.href;return n.localFile?this.file(r):this.http(r,t)}async function aM(e,t){let n,r,i;t=tC({},this.options,t);let a=this.fileAccess,o={href:null},l=aC.test(e.replace(aD,""));null!=e&&"string"==typeof e&&l||ej("Sanitize failure, invalid URI: "+tX(e));let u=ak.test(e);return(i=t.baseURL)&&!u&&(e.startsWith("/")||i.endsWith("/")||(e="/"+e),e=i+e),r=(n=e.startsWith(aF))||"file"===t.mode||"http"!==t.mode&&!u&&a,n?e=e.slice(aF.length):e.startsWith("//")&&("file"===t.defaultProtocol?(e=e.slice(2),r=!0):e=(t.defaultProtocol||"http")+":"+e),Object.defineProperty(o,"localFile",{value:!!r}),o.href=e,t.target&&(o.target=t.target+""),t.rel&&(o.rel=t.rel+""),"image"===t.context&&t.crossOrigin&&(o.crossOrigin=t.crossOrigin+""),o}async function aS(){ej("No file system access.")}async function aN(){ej("No HTTP fetch method available.")}let aO=e=>null!=e&&e==e,aB=e=>!Number.isNaN(Date.parse(e)),aT=e=>!Number.isNaN(+e)&&!(e instanceof Date),az=e=>aT(e)&&Number.isInteger(+e),aR={boolean:tZ,integer:e9,number:e9,date:tQ,string:tK,unknown:eW},aL=[e=>"true"===e||"false"===e||!0===e||!1===e,az,aT,aB],aP=["boolean","integer","number","date"];function aj(e,t){if(!e||!e.length)return"unknown";let n=e.length,r=aL.length,i=aL.map((e,t)=>t+1);for(let a=0,o=0,l,u;a<n;++a)for(l=0,u=t?e[a][t]:e[a];l<r;++l)if(i[l]&&aO(u)&&!aL[l](u)&&(i[l]=0,++o===aL.length))return"string";return aP[i.reduce((e,t)=>0===e?t:e,0)-1]}function aI(e,t){return t.reduce((t,n)=>(t[n]=aj(e,n),t),{})}function aU(e){let t=function(t,n){let r={delimiter:e};return aq(t,n?tC(n,r):r)};return t.responseType="text",t}function aq(e,t){return t.header&&(e=t.header.map(tX).join(t.delimiter)+"\n"+e),(function(e){var t=RegExp('["'+e+"\n\r]"),n=e.charCodeAt(0);function r(e,t){var r,i=[],a=e.length,o=0,l=0,u=a<=0,s=!1;function c(){if(u)return t5;if(s)return s=!1,t3;var t,r,i=o;if(34===e.charCodeAt(i)){for(;o++<a&&34!==e.charCodeAt(o)||34===e.charCodeAt(++o););return(t=o)>=a?u=!0:10===(r=e.charCodeAt(o++))?s=!0:13===r&&(s=!0,10===e.charCodeAt(o)&&++o),e.slice(i+1,t-1).replace(/""/g,'"')}for(;o<a;){if(10===(r=e.charCodeAt(t=o++)))s=!0;else if(13===r)s=!0,10===e.charCodeAt(o)&&++o;else if(r!==n)continue;return e.slice(i,t)}return u=!0,e.slice(i,a)}for(10===e.charCodeAt(a-1)&&--a,13===e.charCodeAt(a-1)&&--a;(r=c())!==t5;){for(var f=[];r!==t3&&r!==t5;)f.push(r),r=c();t&&null==(f=t(f,l++))||i.push(f)}return i}function i(t,n){return t.map(function(t){return n.map(function(e){return o(t[e])}).join(e)})}function a(t){return t.map(o).join(e)}function o(e){var n,r,i,a,o,l;return null==e?"":e instanceof Date?(r=(n=e).getUTCHours(),i=n.getUTCMinutes(),a=n.getUTCSeconds(),o=n.getUTCMilliseconds(),isNaN(n)?"Invalid Date":((l=n.getUTCFullYear())<0?"-"+t8(-l,6):l>9999?"+"+t8(l,6):t8(l,4))+"-"+t8(n.getUTCMonth()+1,2)+"-"+t8(n.getUTCDate(),2)+(o?"T"+t8(r,2)+":"+t8(i,2)+":"+t8(a,2)+"."+t8(o,3)+"Z":a?"T"+t8(r,2)+":"+t8(i,2)+":"+t8(a,2)+"Z":i||r?"T"+t8(r,2)+":"+t8(i,2)+"Z":"")):t.test(e+="")?'"'+e.replace(/"/g,'""')+'"':e}return{parse:function(e,t){var n,i,a=r(e,function(e,r){var a;if(n)return n(e,r-1);i=e,n=t?(a=t6(e),function(n,r){return t(a(n),r,e)}):t6(e)});return a.columns=i||[],a},parseRows:r,format:function(t,n){return null==n&&(n=t4(t)),[n.map(o).join(e)].concat(i(t,n)).join("\n")},formatBody:function(e,t){return null==t&&(t=t4(e)),i(e,t).join("\n")},formatRows:function(e){return e.map(a).join("\n")},formatRow:a,formatValue:o}})(t.delimiter).parse(e+"")}function aW(e,t){var n;let r=t&&t.property?eU(t.property):eW;return e3(e)&&!("function"==typeof aE&&tv(aE.isBuffer)&&aE.isBuffer(e))?(!e2(n=r(e))&&tL(n)&&(n=[...n]),t&&t.copy?JSON.parse(JSON.stringify(n)):n):r(JSON.parse(e))}aq.responseType="text",aW.responseType="json";let aH={interior:(e,t)=>
14e!==t,exterior:(e,t)=>e===t};function aY(e,t){let n,r,i,a;return e=aW(e,t),t&&t.feature?(n=t7,i=t.feature):t&&t.mesh?(n=nn,i=t.mesh,a=aH[t.filter]):ej("Missing TopoJSON feature or mesh parameter."),(r=(r=e.objects[i])?n(e,r,a):ej("Invalid TopoJSON object: "+i))&&r.features||[r]}aY.responseType="json";let aG={dsv:aq,csv:aU(","),tsv:aU(" "),json:aW,topojson:aY};function aV(e,t){return arguments.length>1?(aG[e]=t,this):tM(aG,e)?aG[e]:null}function aX(e){let t=aV(e);return t&&t.responseType||"text"}function aZ(e,t,n,r){t=t||{};let i=aV(t.type||"json");return i||ej("Unknown data format type: "+t.type),e=i(e,t),t.parse&&function(e,t,n,r){if(!e.length)return;let i=ab();n=n||i.timeParse,r=r||i.utcParse;let a=e.columns||Object.keys(e[0]),o,l,u,s,c,f;"auto"===t&&(t=aI(e,a)),a=Object.keys(t);let h=a.map(e=>{let i,a;let o=t[e];if(o&&(o.startsWith("date:")||o.startsWith("utc:"))){("'"===(a=(i=o.split(/:(.+)?/,2))[1])[0]&&"'"===a[a.length-1]||'"'===a[0]&&'"'===a[a.length-1])&&(a=a.slice(1,-1));let e="utc"===i[0]?r:n;return e(a)}if(!aR[o])throw Error("Illegal format pattern: "+e+":"+o);return aR[o]});for(u=0,c=e.length,f=a.length;u<c;++u)for(s=0,o=e[u];s<f;++s)o[l=a[s]]=h[s](o[l])}(e,t.parse,n,r),tM(e,"columns")&&delete e.columns,e}let aJ=(vU="undefined"!=typeof fetch&&fetch,e=>({options:e||{},sanitize:aM,load:a$,fileAccess:!1,file:aS,http:vU?async function(e,t){let n=tC({},this.options.http,t),r=t&&t.response,i=await vU(e,n);return i.ok?tv(i[r])?i[r]():i.text():ej(i.status+""+i.statusText)}:aN}));function aQ(e){let t=e||eW,n=[],r={};return n.add=e=>{let i=t(e);return r[i]||(r[i]=1,n.push(e)),n},n.remove=e=>{let i=t(e);if(r[i]){r[i]=0;let t=n.indexOf(e);t>=0&&n.splice(t,1)}return n},n}async function aK(e,t){try{await t(e)}catch(t){e.error(t)}}let a0=Symbol("vega_id"),a1=1;function a2(e){return!!(e&&a3(e))}function a3(e){return e[a0]}function a5(e){var t,n;let r=e===Object(e)?e:{data:e};return a3(r)?r:(t=r,n=a1++,t[a0]=n,t)}function a6(e){return a4(e,a5({}))}function a4(e,t){for(let n in e)t[n]=e[n];return t}function a8(e,t){var n,r;return n=t,r=a3(e),n[a0]=r,n}function a9(e,t){return e?t?(n,r)=>e(n,r)||a3(t(n))-a3(t(r)):(t,n)=>e(t,n)||a3(t)-a3(n):null}function a7(e){return e&&e.constructor===oe}function oe(){let e=[],t=[],n=[],r=[],i=[],a=null,o=!1;return{constructor:oe,insert(t){let n=tm(t),r=n.length;for(let t=0;t<r;++t)e.push(n[t]);return this},remove(e){let n=tv(e)?r:t,i=tm(e),a=i.length;for(let e=0;e<a;++e)n.push(i[e]);return this},modify(e,t,r){let a={field:t,value:tE(r)};return tv(e)?(a.filter=e,i.push(a)):(a.tuple=e,n.push(a)),this},encode(e,t){return tv(e)?i.push({filter:e,field:t}):n.push({tuple:e,field:t}),this},clean(e){return a=e,this},reflow(){return o=!0,this},pulse(l,u){let s,c,f,h,d,p;let g={},m={};for(s=0,c=u.length;s<c;++s)g[a3(u[s])]=1;for(s=0,c=t.length;s<c;++s)g[a3(d=t[s])]=-1;for(s=0,c=r.length;s<c;++s)h=r[s],u.forEach(e=>{h(e)&&(g[a3(e)]=-1)});for(s=0,c=e.length;s<c;++s)g[p=a3(d=e[s])]?g[p]=1:l.add.push(a5(e[s]));for(s=0,c=u.length;s<c;++s)g[a3(d=u[s])]<0&&l.rem.push(d);function y(e,t,n){n?e[t]=n(e):l.encode=t,o||(m[a3(e)]=e)}for(s=0,c=n.length;s<c;++s)d=(f=n[s]).tuple,h=f.field,(p=g[a3(d)])>0&&(y(d,h,f.value),l.modifies(h));for(s=0,c=i.length;s<c;++s)h=(f=i[s]).filter,u.forEach(e=>{h(e)&&g[a3(e)]>0&&y(e,f.field,f.value)}),l.modifies(f.field);if(o)l.mod=t.length||r.length?u.filter(e=>g[a3(e)]>0):u.slice();else for(p in m)l.mod.push(m[p]);return(a||null==a&&(t.length||r.length))&&l.clean(!0),l}}}let ot="_:mod:_";function on(){Object.defineProperty(this,ot,{writable:!0,value:{}})}on.prototype={set(e,t,n,r){let i=this,a=i[e],o=i[ot];return null!=t&&t>=0?(a[t]!==n||r)&&(a[t]=n,o[t+":"+e]=-1,o[e]=-1):(a!==n||r)&&(i[e]=n,o[e]=e2(n)?1+n.length:-1),i},modified(e,t){let n=this[ot];if(arguments.length){if(e2(e)){for(let t=0;t<e.length;++t)if(n[e[t]])return!0;return!1}}else{for(let e in n)if(n[e])return!0;return!1}return null!=t&&t>=0?t+1<n[e]||!!n[t+":"+e]:!!n[e]},clear(){return this[ot]={},this}};let or=0,oi=new on;function oa(e,t,n,r){this.id=++or,this.value=e,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,t&&(this._update=t),n&&this.parameters(n,r)}function oo(e){return function(t){let n=this.flags;return 0==arguments.length?!!(n&e):(this.flags=t?n|e:n&~e,this)}}oa.prototype={targets(){return this._targets||(this._targets=aQ(eq))},set(e){return this.value!==e?(this.value=e,1):0},skip:oo(1),modified:oo(2),parameters(e,t,n){let r,i,a,o;t=!1!==t;let l=this._argval=this._argval||new on,u=this._argops=this._argops||[],s=[],c=(e,n,r)=>{r instanceof oa?(r!==this&&(t&&r.targets().add(this),s.push(r)),u.push({op:r,name:e,index:n})):l.set(e,n,r)};
14for(r in e)if(i=e[r],"pulse"===r)tm(i).forEach(e=>{e instanceof oa?e!==this&&(e.targets().add(this),s.push(e)):ej("Pulse parameters must be operator instances.")}),this.source=i;else if(e2(i))for(l.set(r,-1,Array(a=i.length)),o=0;o<a;++o)c(r,o,i[o]);else c(r,-1,i);return this.marshall().clear(),n&&(u.initonly=!0),s},marshall(e){let t,n,r,i;let a=this._argval||oi,o=this._argops;if(o){let l=o.length;for(n=0;n<l;++n)i=(r=(t=o[n]).op).modified()&&r.stamp===e,a.set(t.name,t.index,r.value,i);if(o.initonly){for(n=0;n<l;++n)(t=o[n]).op.targets().remove(this);this._argops=null,this._update=null}}return a},detach(){let e,t,n;let r=this._argops;if(r)for(e=0,t=r.length;e<t;++e)(n=r[e].op)._targets&&n._targets.remove(this);this.pulse=null,this.source=null},evaluate(e){let t=this._update;if(t){let n=this.marshall(e.stamp),r=t.call(this,n,e);if(n.clear(),r!==this.value)this.value=r;else if(!this.modified())return e.StopPropagation}},run(e){let t;return e.stamp<this.stamp?e.StopPropagation:(this.skip()?(this.skip(!1),t=0):t=this.evaluate(e),this.pulse=t||e)}};let ol=0;function ou(e,t,n){this.id=++ol,this.value=null,n&&(this.receive=n),e&&(this._filter=e),t&&(this._apply=t)}function os(e,t,n){return new ou(e,t,n)}async function oc(e,t){let n=0,r;try{r=await this.loader().load(e,{context:"dataflow",response:aX(t&&t.type)});try{r=this.parse(r,t)}catch(t){n=-2,this.warn("Data ingestion failed",e,t)}}catch(t){n=-1,this.warn("Loading failed",e,t)}return{data:r,status:n}}async function of(e,t,n){let r=this._pending||function(e){let t;let n=new Promise(e=>t=e);return n.requests=0,n.done=()=>{0==--n.requests&&(e._pending=null,t(e))},e._pending=n}(this);r.requests+=1;let i=await this.request(t,n);return this.pulse(e,this.changeset().remove(eG).insert(i.data||[])),r.done(),i}ou.prototype={_filter:eG,_apply:eW,targets(){return this._targets||(this._targets=aQ(eq))},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){let t=this.value=this._apply(e),n=this._targets,r=n?n.length:0;for(let e=0;e<r;++e)n[e].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter(e){let t=os(e);return this.targets().add(t),t},apply(e){let t=os(null,e);return this.targets().add(t),t},merge(){let e=os();this.targets().add(e);for(let t=0,n=arguments.length;t<n;++t)arguments[t].targets().add(e);return e},throttle(e){let t=-1;return this.filter(()=>{let n=Date.now();return n-t>e?(t=n,1):0})},debounce(e){let t=os();return this.targets().add(os(null,null,tk(e,e=>{let n=e.dataflow;t.receive(e),n&&n.run&&n.run()}))),t},between(e,t){let n=!1;return e.targets().add(os(null,null,()=>n=!0)),t.targets().add(os(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=eG,this._targets=null}};let oh={skip:!0};function od(e,t,n,r,i,a){let o,l;let u=tC({},a,oh);tv(n)||(n=tE(n)),void 0===r?o=t=>e.touch(n(t)):tv(r)?(l=new oa(null,r,i,!1),o=t=>{l.evaluate(t);let r=n(t),i=l.value;a7(i)?e.pulse(r,i,a):e.update(r,i,u)}):o=t=>e.update(n(t),r,u),t.apply(o)}function op(e,t,n,r,i,a){if(void 0===r)t.targets().add(n);else{var o,l;let u=new oa(null,(o=n,l=tv(l=r)?l:tE(l),o?function(e,t){let n=l(e,t);return o.skip()||(o.skip(n!==this.value).value=n),n}:l),i,!1);u.modified((a||{}).force),u.rank=t.rank,t.targets().add(u),n&&(u.skip(!0),u.value=n.value,u.targets().add(n),e.connect(n,[u]))}}let og={};function om(e,t,n){this.dataflow=e,this.stamp=null==t?-1:t,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function oy(e,t){let n=[];return t2(e,t,e=>n.push(e)),n}function ov(e,t){let n={};return e.visit(t,e=>{n[a3(e)]=1}),e=>n[a3(e)]?null:e}function ob(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}function ox(e,t,n,r){let i=this,a=0;for(let o of(this.dataflow=e,this.stamp=t,this.fields=null,this.encode=r||null,this.pulses=n,n))if(o.stamp===t){if(o.fields){let e=i.fields||(i.fields={});for(let t in o.fields)e[t]=1}o.changed(i.ADD)&&(a|=i.ADD),o.changed(i.REM)&&(a|=i.REM),o.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}async function o_(e,t,n){let r=this,i=[];if(r._pulse)return oA(r);if(r._pending&&await r._pending,t&&await aK(r,t),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;let a=++r._clock;
14r._pulse=new om(r,a,e),r._touched.forEach(e=>r._enqueue(e,!0)),r._touched=aQ(eq);let o=0,l,u,s;try{for(;r._heap.size()>0;){if((l=r._heap.pop()).rank!==l.qrank){r._enqueue(l,!0);continue}(u=l.run(r._getPulse(l,e))).then?u=await u:u.async&&(i.push(u.async),u=og),u!==og&&l._targets&&l._targets.forEach(e=>r._enqueue(e)),++o}}catch(e){r._heap.clear(),s=e}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${o} operators`),s&&(r._postrun=[],r.error(s)),r._postrun.length){let e=r._postrun.sort((e,t)=>t.priority-e.priority);r._postrun=[];for(let t=0;t<e.length;++t)await aK(r,e[t].callback)}return n&&await aK(r,n),i.length&&Promise.all(i).then(e=>r.runAsync(null,()=>{e.forEach(e=>{try{e(r)}catch(e){r.error(e)}})})),r}async function ow(e,t,n){for(;this._running;)await this._running;let r=()=>this._running=null;return(this._running=this.evaluate(e,t,n)).then(r,r),this._running}function oA(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}om.prototype={StopPropagation:og,ADD:1,REM:2,MOD:4,ADD_REM:3,ADD_MOD:5,ALL:7,REFLOW:8,SOURCE:16,NO_SOURCE:32,NO_FIELDS:64,fork(e){return new om(this.dataflow).init(this,e)},clone(){let e=this.fork(7);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&(e.source=e.source.slice()),e.materialize(23)},addAll(){let e=this,t=!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length;return t||((e=new om(this.dataflow).init(this)).add=e.source,e.rem=[]),e},init(e,t){let n=this;return n.stamp=e.stamp,n.encode=e.encode,e.fields&&!(64&t)&&(n.fields=e.fields),1&t?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),2&t?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),4&t?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),32&t?(n.srcF=null,n.source=null):(n.srcF=e.srcF,n.source=e.source,e.cleans&&(n.cleans=e.cleans)),n},runAfter(e){this.dataflow.runAfter(e)},changed(e){let t=e||7;return 1&t&&this.add.length||2&t&&this.rem.length||4&t&&this.mod.length},reflow(e){if(e)return this.fork(7).reflow();let t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(4,ov(this,1))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){let t=this.fields||(this.fields={});return e2(e)?e.forEach(e=>t[e]=!0):t[e]=!0,this},modified(e,t){let n=this.fields;return(!!t||!!this.mod.length)&&!!n&&(arguments.length?e2(e)?e.some(e=>n[e]):n[e]:!!n)},filter(e,t){let n=this;return 1&e&&(n.addF=ob(n.addF,t)),2&e&&(n.remF=ob(n.remF,t)),4&e&&(n.modF=ob(n.modF,t)),16&e&&(n.srcF=ob(n.srcF,t)),n},materialize(e){e=e||7;let t=this;return 1&e&&t.addF&&(t.add=oy(t.add,t.addF),t.addF=null),2&e&&t.remF&&(t.rem=oy(t.rem,t.remF),t.remF=null),4&e&&t.modF&&(t.mod=oy(t.mod,t.modF),t.modF=null),16&e&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){if(16&e)return t2(this.source,this.srcF,t),this;1&e&&t2(this.add,this.addF,t),2&e&&t2(this.rem,this.remF,t),4&e&&t2(this.mod,this.modF,t);let n=this.source;if(8&e&&n){let e=this.add.length+this.mod.length;e===n.length||(e?t2(n,ov(this,5),t):t2(n,this.srcF,t))}return this}},tB(ox,om,{fork(e){let t=new om(this.dataflow).init(this,e&this.NO_FIELDS);return void 0!==e&&(e&t.ADD&&this.visit(t.ADD,e=>t.add.push(e)),e&t.REM&&this.visit(t.REM,e=>t.rem.push(e)),e&t.MOD&&this.visit(t.MOD,e=>t.mod.push(e))),t},changed(e){return this.changes&e},modified(e){let t=this.fields;return t&&this.changes&this.MOD?e2(e)?e.some(e=>t[e]):t[e]:0},filter(){ej("MultiPulse does not support filtering.")},materialize(){ej("MultiPulse does not support materialization.")},visit(e,t){let n=this.pulses,r=n.length,i=0;if(e&this.SOURCE)for(;i<r;++i)n[i].visit(e,t);else for(;i<r;++i)n[i].stamp===this.stamp&&n[i].visit(e,t);return this}});let oE={skip:!1,force:!1};function ok(e,t,n,r){let i,a;let o=e[n];for(;n>t;){if(i=e[a=n-1>>1],0>r(o,i)){e[n]=i,n=a;continue}break}return e[n]=o}function oC(){var e;let t;this.logger(e1()),this.logLevel(eJ),this._clock=0,this._rank=0,this._locale=aw();try{this._loader=aJ()}catch(e){}this._touched=aQ(eq),this._input={},this._pulse=null,this._heap=(e=(e,t)=>e.qrank-t.qrank,t=[],{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),ok(t,0,t.length-1,e)),pop:()=>{let n;let r=t.pop();return t.length?(n=t[0],t[0]=r,function(e,t,n){let r=t,i=e.length,a=e[t],o=(t<<1)+1,l;for(;o<i;)(l=o+1)<i&&n(e[o],e[l])>=0&&(o=l),e[t]=e[o],o=((t=o)<<1)+1;return e[t]=a,ok(e,r,t,n)}(t,0,e)):n=r,n}}),this._postrun=[]}function oD(e){return function(){return this._log[e].apply(this,arguments)}}function oF(e,t){oa.call(this,e,null,t)}oC.prototype={stamp(){return this._clock},loader(e){return arguments.length?(this._loader=e,this):this._loader},locale(e){return arguments.length?(this._locale=e,this):this._locale},logger(e){return arguments.length?(this._log=e,this):this._log},error:oD("error"),warn:oD("warn"),info:oD("info"),debug:oD("debug"),logLevel:oD("level"),cleanThreshold:1e4,add:function(e,t,n,r){let i=1,a;return e instanceof oa?a=e:e&&e.prototype instanceof oa?a=new e:tv(e)?a=new oa(null,e):(i=0,a=new oa(e,t)),this.rank(a),i&&(r=n,n=t),n&&this.connect(a,a.parameters(n,r)),this.touch(a),a},connect:function(e,t){let n=e.rank,r=t.length;for(let i=0;i<r;++i)if(n<t[i].rank){this.rerank(e);return}},rank:function(e){e.rank=++this._rank}
14,rerank:function(e){let t,n,r;let i=[e];for(;i.length;)if(this.rank(t=i.pop()),n=t._targets)for(r=n.length;--r>=0;)i.push(t=n[r]),t===e&&ej("Cycle detected in dataflow graph.")},pulse:function(e,t,n){this.touch(e,n||oE);let r=new om(this,this._clock+(this._pulse?0:1)),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this},touch:function(e,t){return this._pulse?this._enqueue(e):this._touched.add(e),(t||oE).skip&&e.skip(!0),this},update:function(e,t,n){let r=n||oE;return(e.set(t)||r.force)&&this.touch(e,r),this},changeset:oe,ingest:function(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))},parse:function(e,t){let n=this.locale();return aZ(e,t,n.timeParse,n.utcParse)},preload:of,request:oc,events:function(e,t,n,r){let i;let a=this,o=os(n,r),l=function(e){e.dataflow=a;try{o.receive(e)}catch(e){a.error(e)}finally{a.run()}};i="string"==typeof e&&"undefined"!=typeof document?document.querySelectorAll(e):tm(e);let u=i.length;for(let e=0;e<u;++e)i[e].addEventListener(t,l);return o},on:function(e,t,n,r,i){let a=e instanceof oa?op:od;return a(this,e,t,n,r,i),this},evaluate:o_,run:function(e,t,n){return this._pulse?oA(this):(this.evaluate(e,t,n),this)},runAsync:ow,runAfter:function(e,t,n){if(this._pulse||t)this._postrun.push({priority:n||0,callback:e});else try{e(this)}catch(e){this.error(e)}},_enqueue:function(e,t){let n=e.stamp<this._clock;n&&(e.stamp=this._clock),(n||t)&&(e.qrank=e.rank,this._heap.push(e))},_getPulse:function(e,t){var n,r;let i=e.source,a=this._clock;return i&&e2(i)?new ox(this,a,i.map(e=>e.pulse),t):this._input[e.id]||(n=this._pulse,(r=i&&i.pulse)&&r.stamp===n.stamp?r:(n=n.fork(),r&&r!==og&&(n.source=r.source),n))}},tB(oF,oa,{run(e){let t;return e.stamp<this.stamp?e.StopPropagation:(this.skip()?this.skip(!1):t=this.evaluate(e),(t=t||e).then?t=t.then(e=>this.pulse=e):t!==e.StopPropagation&&(this.pulse=t),t)},evaluate(e){let t=this.marshall(e.stamp),n=this.transform(t,e);return t.clear(),n},transform(){}});let o$={};function oM(e){let t=oS(e);return t&&t.Definition||null}function oS(e){return tM(o$,e=e&&e.toLowerCase())?o$[e]:null}function oN(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function oO(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n<t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function oB(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function oT(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(e<t?-1:e>t?1:0)}function oz(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function oR(e){return null===e?NaN:+e}function oL(e,t,n){if(!(!(r=(e=Float64Array.from(function*(e,t){if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)null!=(r=t(r,++n,e))&&(r=+r)>=r&&(yield r)}}(e,n))).length)||isNaN(t=+t))){if(t<=0||r<2)return oB(e);if(t>=1)return oO(e);var r,i=(r-1)*t,a=Math.floor(i),o=oO((function e(t,n,r=0,i=1/0,a){if(n=Math.floor(n),r=Math.floor(Math.max(0,r)),i=Math.floor(Math.min(t.length-1,i)),!(r<=n&&n<=i))return t;for(a=void 0===a?oT:function(e=oN){if(e===oN)return oT;if("function"!=typeof e)throw TypeError("compare is not a function");return(t,n)=>{let r=e(t,n);return r||0===r?r:(0===e(n,n))-(0===e(t,t))}}(a);i>r;){if(i-r>600){let o=i-r+1,l=n-r+1,u=Math.log(o),s=.5*Math.exp(2*u/3),c=.5*Math.sqrt(u*s*(o-s)/o)*(l-o/2<0?-1:1),f=Math.max(r,Math.floor(n-l*s/o+c)),h=Math.min(i,Math.floor(n+(o-l)*s/o+c));e(t,n,f,h,a)}let o=t[n],l=r,u=i;for(oz(t,r,n),a(t[i],o)>0&&oz(t,r,i);l<u;){for(oz(t,l,u),++l,--u;0>a(t[l],o);)++l;for(;a(t[u],o)>0;)--u}0===a(t[r],o)?oz(t,r,u):oz(t,++u,i),u<=n&&(r=u+1),n<=u&&(i=u-1)}return t})(e,a).subarray(0,a+1));return o+(oB(e.subarray(a+1))-o)*(i-a)}}function*oP(e,t){if(null==t)for(let t of e)null!=t&&""!==t&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)null!=(r=t(r,++n,e))&&""!==r&&(r=+r)>=r&&(yield r)}}function oj(e,t,n){let r=Float64Array.from(oP(e,n));return r.sort(oN),t.map(e=>(function(e,t,n=oR){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}})(r,e))}function oI(e,t){return oj(e,[.25,.5,.75],t)}function oU(e,t){let n=e.length,r=function(e,t){let n=function(e,t){let n,r=0,i=0,a=0;if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(n=t-i,i+=n/++r,a+=n*(t-i));else{let o=-1;for(let l of e)null!=(l=t(l,++o,e))&&(l=+l)>=l&&(n=l-i,i+=n/++r,a+=n*(l-i))}if(r>1)return a/(r-1)}(e,t);return n?Math.sqrt(n):n}(e,t),i=oI(e,t),a=(i[2]-i[0])/1.34,o=Math.min(r,a)||r||Math.abs(i[0])||1;return 1.06*o*Math.pow(n,-.2)}function oq(e){let t=e.maxbins||20,n=e.base||10,r=Math.log(n),i=e.divide||[5,2],a=e.extent[0],o=e.extent[1],l,u,s,c,f,h=e.span||o-a||Math.abs(a)||1;if(e.step)l=e.step;else if(e.steps){for(c=0,s=h/t,f=e.steps.length;c<f&&e.steps[c]<s;++c);l=e.steps[Math.max(0,c-1)]}else{for(l=Math.max(u=e.minstep||0,Math.pow(n,Math.round(Math.log(h)/r)-Math.ceil(Math.log(t)/r)));Math.ceil(h/l)>t;)l*=n;for(c=0,f=i.length;c<f;++c)(s=l/i[c])>=u&&h/s<=t&&(l=s)}s=Math.log(l);let d=s>=0?0:~~(-s/r)+1;return(e.nice||void 0===e.nice)&&(s=Math.floor(a/l+Math.pow(n,-d-1))*l,a=a<s?s-l:s,o=Math.ceil(o/l)*l),{start:a,stop:o===a?a+l:o,step:l}}var oW=Math.random;function oH(e){oW=e}function oY(e,t,n,r){let i,a,o,l;if(!e.length)return[void 0,void 0];let u=Float64Array.from(oP(e,r)),s=u.length;for(o=0,l=Array(t);o<t;++o){for(i=0,a=0;a<s;++a)i+=u[~~(oW()*s)];l[o]=i/s}return l.sort(oN),[oL(l,n/2),oL(l,1-n/2)]}function oG(e,t,n,r){r=r||(e=>e);let i=e.length,a=new Float64Array(i),o=0,l=1,u=r(e[0]),s=u,c=u+t,f;for(;l<i;++l){if((f=r(e[l]))>=c){for(s=(u+s)/2;o<l;++o)a[o]=s;c=f+t,u=f}s=f}for(s=(u+s)/2;o<l;++o)a[o]=s;return n?function(e,t){let n=e.length,r=0,i=1,a,o;for(;e[r]===e[i];)++i;for(;i<n;){for(a=i+1;e[i]===e[a];)++a;if(e[i]-e[i-1]<t){for(o=i+(r+a-i-i>>1);o<i;)e[o++]=e[i];for(;o>i;)e[o--]=e[r]}r=i,i=a}return e}(a,t+t/4):a}function oV(e){return function(){return(e=(1103515245*e+12345)%2147483647)/2147483647}}function oX(e,t){let n,r,i;null==t&&(t=e,e=0);let a={min(e){return arguments.length?(i=r-(n=e||0),a):n},max(e){return arguments.length?(i=(r=e||0)-n,a):r},sample:()=>n+Math.floor(i*oW()),pdf:e=>e===Math.floor(e)&&e>=n&&e<r?1/i:0,cdf(e){let t=Math.floor(e);return t<n?0:t>=r?1:(t-n+1)/i},icdf:e=>e>=0&&e<=1?n-1+Math.floor(e*i):NaN};return a.min(e).max(t)}let oZ=Math.sqrt(2*Math.PI),oJ=Math.SQRT2,oQ=NaN;function oK(e,t){e=e||0,t=null==t?1:t;let n=0,r=0,i,a;if(oQ==oQ)n=oQ,oQ=NaN;
14else{do i=(n=2*oW()-1)*n+(r=2*oW()-1)*r;while(0===i||i>1);n*=a=Math.sqrt(-2*Math.log(i)/i),oQ=r*a}return e+n*t}function o0(e,t,n){n=null==n?1:n;let r=(e-(t||0))/n;return Math.exp(-.5*r*r)/(n*oZ)}function o1(e,t,n){let r;t=t||0,n=null==n?1:n;let i=(e-t)/n,a=Math.abs(i);if(a>37)r=0;else{let e;let t=Math.exp(-a*a/2);a<7.07106781186547?r=t*(e=(e=(e=(e=(e=(e=.0352624965998911*a+.700383064443688)*a+6.37396220353165)*a+33.912866078383)*a+112.079291497871)*a+221.213596169931)*a+220.206867912376)/(e=(e=(e=(e=(e=(e=(e=.0883883476483184*a+1.75566716318264)*a+16.064177579207)*a+86.7807322029461)*a+296.564248779674)*a+637.333633378831)*a+793.826512519948)*a+440.413735824752):(e=a+.65,e=a+4/e,e=a+3/e,e=a+2/e,r=t/(e=a+1/e)/2.506628274631)}return i>0?1-r:r}function o2(e,t,n){var r;let i,a;return e<0||e>1?NaN:(t||0)+(null==n?1:n)*oJ*((i=-Math.log((1-(r=2*e-1))*(1+r)))<6.25?(i-=3.125,a=1.6536545626831027+(a=.24015818242558962+(a=-.006033670871430149+(a=-.000740702534166267+(a=18673420803405714e-20+(a=-.000013882523362786469+(a=-.0000013654692000834679+(a=42347877827932404e-23+(a=-.000000029070369957882005+(a=-.000000004112633980346984+(a=10512122733215323e-25+(a=-.00000000005415412054294628+(a=-.000000000012975133253453532+(a=26335093153082323e-28+(a=-.00000000000008151934197605472+(a=-.00000000000004054566272975207+(a=6637638134358324e-30+(a=20972767875968562e-33+(a=-.0000000000000001333171662854621+(a=11157877678025181e-33+(a=128584807152564e-32+(a=-.00000000000000000016850591381820166+(a=-.00000000000000000000364441206401782)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i):a=i<16?3.0838856104922208+(a=1.0052589676941592+(a=.005370914553590064+(a=-.003751208507569241+(a=.002491442096107851+(a=-.0016882755560235047+(a=9532893797373805e-19+(a=-.0003550375203628475+(a=24031110387097894e-21+(a=6828485145957318e-20+(a=-.000047318229009055734+(a=12475304481671779e-21+(a=29234449089955446e-22+(a=-.000004013867526981546+(a=15027403968909828e-22+(a=18239629214389228e-24+(a=-.00000027517406297064545+(a=9075656193888539e-23+(a=22137376921775787e-25)*(i=Math.sqrt(i)-3.25))*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i:Number.isFinite(i)?4.849906401408584+(a=1.0103004648645344+(a=-.00013871931833623122+(a=-.00021503011930044477+(a=7599527703001776e-20+(a=-.00001968177810553167+(a=4526062597223154e-21+(a=-.00000099298272942317+(a=22900482228026655e-23+(a=-.00000006771199775845234+(a=2914795345090108e-23+(a=-.00000001496002662714924+(a=761570120807834e-23+(a=-.000000003789465440126737+(a=15076572693500548e-25+(a=-.0000000002555641816996525+(a=-.000000000027109920616438573)*(i=Math.sqrt(i)-5))*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i)*i:1/0,a*r)}function o3(e,t){let n,r;let i={mean(e){return arguments.length?(n=e||0,i):n},stdev(e){return arguments.length?(r=null==e?1:e,i):r},sample:()=>oK(n,r),pdf:e=>o0(e,n,r),cdf:e=>o1(e,n,r),icdf:e=>o2(e,n,r)};return i.mean(e).stdev(t)}function o5(e,t){let n=o3(),r=0,i={data(n){return arguments.length?(e=n,r=n?n.length:0,i.bandwidth(t)):e},bandwidth(n){return arguments.length?((t=n)||!e||(t=oU(e)),i):t},sample:()=>e[~~(oW()*r)]+t*n.sample(),pdf(i){let a=0,o=0;for(;o<r;++o)a+=n.pdf((i-e[o])/t);return a/t/r},cdf(i){let a=0,o=0;for(;o<r;++o)a+=n.cdf((i-e[o])/t);return a/r},icdf(){throw Error("KDE icdf not supported.")}};return i.data(e)}function o6(e,t){return t=null==t?1:t,Math.exp((e=e||0)+oK()*t)}function o4(e,t,n){if(e<=0)return 0;t=t||0,n=null==n?1:n;let r=(Math.log(e)-t)/n;return Math.exp(-.5*r*r)/(n*oZ*e)}function o8(e,t,n){return o1(Math.log(e),t,n)}function o9(e,t,n){return Math.exp(o2(e,t,n))}function o7(e,t){let n,r;let i={mean(e){return arguments.length?(n=e||0,i):n},stdev(e){return arguments.length?(r=null==e?1:e,i):r},sample:()=>o6(n,r),pdf:e=>o4(e,n,r),cdf:e=>o8(e,n,r),icdf:e=>o9(e,n,r)};return i.mean(e).stdev(t)}function le(e,t){let n=0,r,i={weights(e){return arguments.length?(r=function(e){let t=[],r=0,i;for(i=0;i<n;++i)r+=t[i]=null==e[i]?1:+e[i];for(i=0;i<n;++i)t[i]/=r;return t}(t=e||[]),i):t},distributions(r){return arguments.length?(r?(n=r.length,e=r):(n=0,e=[]),i.weights(t)):e}
14,sample(){let t=oW(),i=e[n-1],a=r[0],o=0;for(;o<n-1;a+=r[++o])if(t<a){i=e[o];break}return i.sample()},pdf(t){let i=0,a=0;for(;a<n;++a)i+=r[a]*e[a].pdf(t);return i},cdf(t){let i=0,a=0;for(;a<n;++a)i+=r[a]*e[a].cdf(t);return i},icdf(){throw Error("Mixture icdf not supported.")}};return i.distributions(e).weights(t)}function lt(e,t){return null==t&&(t=null==e?1:e,e=0),e+(t-e)*oW()}function ln(e,t,n){return null==n&&(n=null==t?1:t,t=0),e>=t&&e<=n?1/(n-t):0}function lr(e,t,n){return null==n&&(n=null==t?1:t,t=0),e<t?0:e>n?1:(e-t)/(n-t)}function li(e,t,n){return null==n&&(n=null==t?1:t,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function la(e,t){let n,r;let i={min(e){return arguments.length?(n=e||0,i):n},max(e){return arguments.length?(r=null==e?1:e,i):r},sample:()=>lt(n,r),pdf:e=>ln(e,n,r),cdf:e=>lr(e,n,r),icdf:e=>li(e,n,r)};return null==t&&(t=null==e?1:e,e=0),i.min(e).max(t)}function lo(e,t,n){let r=0,i=0;for(let a of e){let e=n(a);null==t(a)||null==e||isNaN(e)||(r+=(e-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function ll(e,t,n,r){let i=r-e*e,a=1e-24>Math.abs(i)?0:(n-e*t)/i;return[t-a*e,a]}function lu(e,t,n,r){e=e.filter(e=>{let r=t(e),i=n(e);return null!=r&&(r=+r)>=r&&null!=i&&(i=+i)>=i}),r&&e.sort((e,n)=>t(e)-t(n));let i=e.length,a=new Float64Array(i),o=new Float64Array(i),l=0,u=0,s=0,c,f,h;for(h of e)a[l]=c=+t(h),o[l]=f=+n(h),++l,u+=(c-u)/l,s+=(f-s)/l;for(l=0;l<i;++l)a[l]-=u,o[l]-=s;return[a,o,u,s]}function ls(e,t,n,r){let i=-1,a,o;for(let l of e)a=t(l),o=n(l),null!=a&&(a=+a)>=a&&null!=o&&(o=+o)>=o&&r(a,o,++i)}function lc(e,t,n,r,i){let a=0,o=0;return ls(e,t,n,(e,t)=>{let n=t-i(e),l=t-r;a+=n*n,o+=l*l}),1-a/o}function lf(e,t,n){let r=0,i=0,a=0,o=0,l=0;ls(e,t,n,(e,t)=>{++l,r+=(e-r)/l,i+=(t-i)/l,a+=(e*t-a)/l,o+=(e*e-o)/l});let u=ll(r,i,a,o),s=e=>u[0]+u[1]*e;return{coef:u,predict:s,rSquared:lc(e,t,n,i,s)}}function lh(e,t,n){let r=0,i=0,a=0,o=0,l=0;ls(e,t,n,(e,t)=>{++l,e=Math.log(e),r+=(e-r)/l,i+=(t-i)/l,a+=(e*t-a)/l,o+=(e*e-o)/l});let u=ll(r,i,a,o),s=e=>u[0]+u[1]*Math.log(e);return{coef:u,predict:s,rSquared:lc(e,t,n,i,s)}}function ld(e,t,n){let[r,i,a,o]=lu(e,t,n),l=0,u=0,s=0,c=0,f=0,h,d,p;ls(e,t,n,(e,t)=>{h=r[f++],d=Math.log(t),p=h*t,l+=(t*d-l)/f,u+=(p-u)/f,s+=(p*d-s)/f,c+=(h*p-c)/f});let[g,m]=ll(u/o,l/o,s/o,c/o),y=e=>Math.exp(g+m*(e-a));return{coef:[Math.exp(g-m*a),m],predict:y,rSquared:lc(e,t,n,o,y)}}function lp(e,t,n){let r=0,i=0,a=0,o=0,l=0,u=0;ls(e,t,n,(e,t)=>{let n=Math.log(e),s=Math.log(t);++u,r+=(n-r)/u,i+=(s-i)/u,a+=(n*s-a)/u,o+=(n*n-o)/u,l+=(t-l)/u});let s=ll(r,i,a,o),c=e=>s[0]*Math.pow(e,s[1]);return s[0]=Math.exp(s[0]),{coef:s,predict:c,rSquared:lc(e,t,n,l,c)}}function lg(e,t,n){let[r,i,a,o]=lu(e,t,n),l=r.length,u=0,s=0,c=0,f=0,h=0,d,p,g,m;for(d=0;d<l;)p=r[d],g=i[d++],m=p*p,u+=(m-u)/d,s+=(m*p-s)/d,c+=(m*m-c)/d,f+=(p*g-f)/d,h+=(m*g-h)/d;let y=c-u*u,v=u*y-s*s,b=(h*u-f*s)/v,x=(f*y-h*s)/v,_=-b*u,w=e=>b*(e-=a)*e+x*e+_+o;return{coef:[_-x*a+b*a*a+o,x-2*b*a,b],predict:w,rSquared:lc(e,t,n,o,w)}}function lm(e,t,n,r){let i,a,o,l,u;if(0===r)return lo(e,t,n);if(1===r)return lf(e,t,n);if(2===r)return lg(e,t,n);let[s,c,f,h]=lu(e,t,n),d=s.length,p=[],g=[],m=r+1;for(i=0;i<m;++i){for(o=0,l=0;o<d;++o)l+=Math.pow(s[o],i)*c[o];for(p.push(l),u=new Float64Array(m),a=0;a<m;++a){for(o=0,l=0;o<d;++o)l+=Math.pow(s[o],i+a);u[a]=l}g.push(u)}g.push(p);let y=function(e){let t,n,r,i,a;let o=e.length-1,l=[];for(t=0;t<o;++t){for(i=t,n=t+1;n<o;++n)Math.abs(e[t][n])>Math.abs(e[t][i])&&(i=n);for(r=t;r<o+1;++r)a=e[r][t],e[r][t]=e[r][i],e[r][i]=a;for(n=t+1;n<o;++n)for(r=o;r>=t;r--)e[r][n]-=e[r][t]*e[t][n]/e[t][t]}for(n=o-1;n>=0;--n){for(a=0,r=n+1;r<o;++r)a+=e[r][n]*l[r];l[n]=(e[o][n]-a)/e[n][n]}return l}(g),v=e=>{e-=f;let t=h+y[0]+y[1]*e+y[2]*e*e;for(i=3;i<m;++i)t+=y[i]*Math.pow(e,i);return t};return{coef:function(e,t,n,r){let i,a,o,l;let u=Array(e);for(i=0;i<e;++i)u[i]=0;for(i=e-1;i>=0;--i)for(o=t[i],l=1,u[i]+=o,a=1;a<=i;++a)l*=(i+1-a)/a,u[i-a]+=o*Math.pow(n,a)*l;return u[0]+=r,u}(m,y,-f,h),predict:v,rSquared:lc(e,t,n,h,v)}}function ly(e,t,n,r){let[i,a,o,l]=lu(e,t,n,!0),u=i.length,s=Math.max(2,~~(r*u)),c=new Float64Array(u),f=new Float64Array(u),h=new Float64Array(u).fill(1);for(let e=-1;++e<=2;){let t=[0,s-1];for(let e=0;e<u;++e){let n=i[e],r=t[0],o=t[1],l=n-i[r]>i[o]-n?r:o,u=0,s=0,p=0,g=0,m=0,y=1/Math.abs(i[l]-n||1);for(let e=r;e<=o;++e){var d;let t=i[e],r=a[e],o=(d=1-(d=Math.abs(n-t)*y)*d*d)*d*d*h[e],l=t*o;u+=o,s+=l,p+=r*o,g+=r*l,m+=t*l}let[v,b]=ll(s/u,p/u,g/u,m/u);c[e]=v+b*n,f[e]=Math.abs(a[e]-c[e]),function(e,t,n){let r=e[t],i=n[0],a=n[1]+1;if(!(a>=e.length))for(;t>
14i&&e[a]-r<=r-e[i];)n[0]=++i,n[1]=a,++a}(i,e+1,t)}if(2===e)break;let n=oL(f,.5,void 0);if(1e-12>Math.abs(n))break;for(let e=0,t,r;e<u;++e)t=f[e]/(6*n),h[e]=t>=1?1e-12:(r=1-t*t)*r}return function(e,t,n,r){let i=e.length,a=[],o=0,l=0,u=[],s;for(;o<i;++o)s=e[o]+n,u[0]===s?u[1]+=(t[o]-u[1])/++l:(l=0,u[1]+=r,a.push(u=[s,t[o]]));return u[1]+=r,a}(i,c,o,l)}let lv=.5*Math.PI/180;function lb(e,t,n,r){r=Math.max(n=n||25,r||200);let i=t=>[t,e(t)],a=t[0],o=t[1],l=o-a,u=l/r,s=[i(a)],c=[];if(n===r){for(let e=1;e<r;++e)s.push(i(a+e/n*l));return s.push(i(o)),s}c.push(i(o));for(let e=n;--e>0;)c.push(i(a+e/n*l));let f=s[0],h=c[c.length-1],d=1/l,p=function(e,t){let n=e,r=e,i=t.length;for(let e=0;e<i;++e){let i=t[e][1];i<n&&(n=i),i>r&&(r=i)}return 1/(r-n)}(f[1],c);for(;h;){let e=i((f[0]+h[0])/2),t=e[0]-f[0]>=u;t&&function(e,t,n,r,i){let a=Math.atan2(i*(n[1]-e[1]),r*(n[0]-e[0])),o=Math.atan2(i*(t[1]-e[1]),r*(t[0]-e[0]));return Math.abs(a-o)}(f,e,h,d,p)>lv?c.push(e):(f=h,s.push(h),c.pop()),h=c[c.length-1]}return s}function lx(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n<t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function l_(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function lw(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function lA(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(e<t?-1:e>t?1:0)}function lE(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function lk(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),a=Array(i);++r<i;)a[r]=e+r*n;return a}function lC(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function lD(){return 0}function lF(e){return e&&e.length?1===e.length?e[0]:t=>{let n=e.length,r=1,i=String(e[0](t));for(;r<n;++r)i+="|"+e[r](t);return i}:function(){return""}}let l$=()=>{},lM={init:l$,add:l$,rem:l$,idx:0},lS={values:{init:e=>e.cell.store=!0,value:e=>e.cell.data.values(),idx:-1},count:{value:e=>e.cell.num},__count__:{value:e=>e.missing+e.valid},missing:{value:e=>e.missing},valid:{value:e=>e.valid},sum:{init:e=>e.sum=0,value:e=>e.sum,add:(e,t)=>e.sum+=+t,rem:(e,t)=>e.sum-=t},product:{init:e=>e.product=1,value:e=>e.valid?e.product:void 0,add:(e,t)=>e.product*=t,rem:(e,t)=>e.product/=t},mean:{init:e=>e.mean=0,value:e=>e.valid?e.mean:void 0,add:(e,t)=>(e.mean_d=t-e.mean,e.mean+=e.mean_d/e.valid),rem:(e,t)=>(e.mean_d=t-e.mean,e.mean-=e.valid?e.mean_d/e.valid:e.mean)},average:{value:e=>e.valid?e.mean:void 0,req:["mean"],idx:1},variance:{init:e=>e.dev=0,value:e=>e.valid>1?e.dev/(e.valid-1):void 0,add:(e,t)=>e.dev+=e.mean_d*(t-e.mean),rem:(e,t)=>e.dev-=e.mean_d*(t-e.mean),req:["mean"],idx:1},variancep:{value:e=>e.valid>1?e.dev/e.valid:void 0,req:["variance"],idx:2},stdev:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:e=>e.valid>1?Math.sqrt(e.dev/e.valid):void 0,req:["variance"],idx:2},stderr:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid*(e.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:e=>e.cell.data.distinct(e.get),req:["values"],idx:3},ci0:{value:e=>e.cell.data.ci0(e.get),req:["values"],idx:3},ci1:{value:e=>e.cell.data.ci1(e.get),req:["values"],idx:3},median:{value:e=>e.cell.data.q2(e.get),req:["values"],idx:3},q1:{value:e=>e.cell.data.q1(e.get),req:["values"],idx:3},q3:{value:e=>e.cell.data.q3(e.get),req:["values"],idx:3},min:{init:e=>e.min=void 0,value:e=>e.min=Number.isNaN(e.min)?e.cell.data.min(e.get):e.min,add:(e,t)=>{(t<e.min||void 0===e.min)&&(e.min=t)},rem:(e,t)=>{t<=e.min&&(e.min=NaN)},req:["values"],idx:4},max:{init:e=>e.max=void 0,value:e=>e.max=Number.isNaN(e.max)?e.cell.data.max(e.get):e.max,add:(e,t)=>{(t>e.max||void 0===e.max)&&(e.max=t)},rem:(e,t)=>{t>=e.max&&(e.max=NaN)},req:["values"],idx:4},argmin:{init:e=>e.argmin=void 0,value:e=>e.argmin||e.cell.data.argmin(e.get),add:(e,t,n)=>{t<e.min&&(e.argmin=n)},rem:(e,t)=>{t<=e.min&&(e.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:e=>e.argmax=void 0,value:e=>e.argmax||e.cell.data.argmax(e.get),add:(e,t,n)=>{t>e.max&&(e.argmax=n)},rem:(e,t)=>
14{t>=e.max&&(e.argmax=void 0)},req:["max","values"],idx:3}},lN=Object.keys(lS).filter(e=>"__count__"!==e);function lO(e,t){return e.idx-t.idx}function lB(){this.valid=0,this.missing=0,this._ops.forEach(e=>e.init(this))}function lT(e,t){if(null==e||""===e){++this.missing;return}e==e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t)))}function lz(e,t){if(null==e||""===e){--this.missing;return}e==e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t)))}function lR(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function lL(e,t){let n=function(e){let t={};e.forEach(e=>t[e.name]=e);let n=e=>{e.req&&e.req.forEach(e=>{t[e]||n(t[e]=lS[e]())})};return e.forEach(n),Object.values(t).sort(lO)}(e),r=e.slice().sort(lO);function i(e){this._ops=n,this._out=r,this.cell=e,this.init()}return i.prototype.init=lB,i.prototype.add=lT,i.prototype.rem=lz,i.prototype.set=lR,i.prototype.get=t||eW,i.fields=e.map(e=>e.out),i}function lP(e){this._key=e?eU(e):a3,this.reset()}[...lN,"__count__"].forEach(e=>{var t;lS[e]=(t=lS[e],n=>tC({name:e,out:n||e},lM,t))});let lj=lP.prototype;function lI(e){oF.call(this,null,e),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}function lU(e){oF.call(this,null,e)}function lq(e,t,n){let r=t||[],i=n||[],a={},o=0;return{add:e=>i.push(e),remove:t=>a[e(t)]=++o,size:()=>r.length,data:(t,n)=>(o&&(r=r.filter(t=>!a[e(t)]),a={},o=0),n&&t&&r.sort(t),i.length&&(r=t?tH(t,r,i.sort(t)):r.concat(i),i=[]),r)}}function lW(e){oF.call(this,[],e)}function lH(e){oa.call(this,null,lY,e)}function lY(e){return this.value&&!e.modified()?this.value:tb(e.fields,e.orders)}function lG(e){oF.call(this,null,e)}function lV(e){oF.call(this,null,e)}lj.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},lj.add=function(e){this._add.push(e)},lj.rem=function(e){this._rem.push(e)},lj.values=function(){let e,t,n;if(this._get=null,0===this._rem.length)return this._add;let r=this._add,i=this._rem,a=this._key,o=r.length,l=i.length,u=Array(o-l),s={};for(e=0;e<l;++e)s[a(i[e])]=1;for(e=0,t=0;e<o;++e)s[a(n=r[e])]?s[a(n)]=0:u[t++]=n;return this._rem=[],this._add=u},lj.distinct=function(e){let t=this.values(),n={},r=t.length,i=0,a;for(;--r>=0;)!tM(n,a=e(t[r])+"")&&(n[a]=1,++i);return i},lj.extent=function(e){if(this._get!==e||!this._ext){let t=this.values(),n=tF(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext},lj.argmin=function(e){return this.extent(e)[0]||{}},lj.argmax=function(e){return this.extent(e)[1]||{}},lj.min=function(e){let t=this.extent(e)[0];return null!=t?e(t):void 0},lj.max=function(e){let t=this.extent(e)[1];return null!=t?e(t):void 0},lj.quartile=function(e){return this._get===e&&this._q||(this._q=oI(this.values(),e),this._get=e),this._q},lj.q1=function(e){return this.quartile(e)[0]},lj.q2=function(e){return this.quartile(e)[1]},lj.q3=function(e){return this.quartile(e)[2]},lj.ci=function(e){return this._get===e&&this._ci||(this._ci=oY(this.values(),1e3,.05,e),this._get=e),this._ci},lj.ci0=function(e){return this.ci(e)[0]},lj.ci1=function(e){return this.ci(e)[1]},lI.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:lN},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]},tB(lI,oF,{transform(e,t){let n=this,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.modified();return n.stamp=r.stamp,n.value&&(i||t.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(e):Object.create(null),t.visit(t.SOURCE,e=>n.add(e))):(n.value=n.value||n.init(e),t.visit(t.REM,e=>n.rem(e)),t.visit(t.ADD,e=>n.add(e))),r.modifies(n._outputs),n._drop=!1!==e.drop,e.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),t.clean()&&n._drop&&r.clean(!0).runAfter(()=>this.clean()),n.changes(r)},cross(){let e=this,t=e.value,n=e._dnames,r=n.map(()=>({})),i=n.length;function a(e){let t,a,o,l;for(t in e)for(a=0,o=e[t].tuple;a<i;++a)r[a][l=o[n[a]]]=l}a(e._prev),a(t),function a(o,l,u){let s=n[u],c=r[u++];for(let n in c){let r=o?o+"|"+n:n;l[s]=c[n],u<i?a(r,l,u):t[r]||e.cell(r,l)}}("",{},0)},init(e){let t,n,r,i,a,o;let l=this._inputs=[],u=this._outputs=[],s={};function c(e){let t=tm(ez(e)),n=t.length,r=0,i;for(;r<n;++r)s[i=t[r]]||(s[i]=1,l.push(i))}this._dims=tm(e.groupby),this._dnames=this._dims.map(e=>{let t=eT(e);return c(e),u.push(t),t}),this.cellkey=e.key?e.key:lF(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];let f=e.fields||[null],h=e.ops||["count"],d=e.as||[],p=f.length,g={};for(p!==h.length&&ej("Unmatched number of fields and aggregate ops."),o=0;o<p;++o){if(t=f[o],n=h[o],null==t&&"count"!==n&&ej("Null aggregate field specified."),i=eT(t),a=d[o]||n+(i?"_"+i:""),u.push(a),"count"===n){this._counts.push(a);continue}(r=g[i])||(c(t),(r=g[i]=[]).field=t,this._measures.push(r)),"count"!==n&&(this._countOnly=!1),r.push(lS[n](a))}return this._measures=this._measures.map(e=>lL(e,e.field)),Object.create(null)},cellkey:lF(),cell(e,t){let n=this.value[e];return n?0===n.num&&this._drop&&n.stamp<this.stamp?(n.stamp=this.stamp,this._adds[this._alen++]=n):n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n):(n=this.value[e]=this.newcell(e,t),this._adds[this._alen++]=n),n}
14,newcell(e,t){let n={key:e,num:0,agg:null,tuple:this.newtuple(t,this._prev&&this._prev[e]),stamp:this.stamp,store:!1};if(!this._countOnly){let e=this._measures,t=e.length;n.agg=Array(t);for(let r=0;r<t;++r)n.agg[r]=new e[r](n)}return n.store&&(n.data=new lP),n},newtuple(e,t){let n=this._dnames,r=this._dims,i=r.length,a={};for(let t=0;t<i;++t)a[n[t]]=r[t](e);return t?a8(t.tuple,a):a5(a)},clean(){let e=this.value;for(let t in e)0===e[t].num&&delete e[t]},add(e){let t=this.cellkey(e),n=this.cell(t,e);if(n.num+=1,this._countOnly)return;n.store&&n.data.add(e);let r=n.agg;for(let t=0,n=r.length;t<n;++t)r[t].add(r[t].get(e),e)},rem(e){let t=this.cellkey(e),n=this.cell(t,e);if(n.num-=1,this._countOnly)return;n.store&&n.data.rem(e);let r=n.agg;for(let t=0,n=r.length;t<n;++t)r[t].rem(r[t].get(e),e)},celltuple(e){let t=e.tuple,n=this._counts;e.store&&e.data.values();for(let r=0,i=n.length;r<i;++r)t[n[r]]=e.num;if(!this._countOnly){let n=e.agg;for(let e=0,r=n.length;e<r;++e)n[e].set(t)}return t},changes(e){let t,n,r,i;let a=this._adds,o=this._mods,l=this._prev,u=this._drop,s=e.add,c=e.rem,f=e.mod;if(l)for(n in l)t=l[n],(!u||t.num)&&c.push(t.tuple);for(r=0,i=this._alen;r<i;++r)s.push(this.celltuple(a[r])),a[r]=null;for(r=0,i=this._mlen;r<i;++r)(0===(t=o[r]).num&&u?c:f).push(this.celltuple(t)),o[r]=null;return this._alen=this._mlen=0,this._prev=null,e}}),lU.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]},tB(lU,oF,{transform(e,t){let n;let r=!1!==e.interval,i=this._bins(e),a=i.start,o=i.step,l=e.as||["bin0","bin1"],u=l[0],s=l[1];return n=e.modified()?(t=t.reflow(!0)).SOURCE:t.modified(ez(e.field))?t.ADD_MOD:t.ADD,t.visit(n,r?e=>{let t=i(e);e[u]=t,e[s]=null==t?null:a+o*(1+(t-a)/o)}:e=>e[u]=i(e)),t.modifies(r?l:u)},_bins(e){if(this.value&&!e.modified())return this.value;let t=e.field,n=oq(e),r=n.step,i=n.start,a=i+Math.ceil((n.stop-i)/r)*r,o,l;null!=(o=e.anchor)&&(l=o-(i+r*Math.floor((o-i)/r)),i+=l,a+=l);let u=function(e){let n=e9(t(e));return null==n?null:n<i?-1/0:n>a?Infinity:(n=Math.max(i,Math.min(n,a-r)),i+r*Math.floor(1e-14+(n-i)/r))};return u.start=i,u.stop=n.stop,u.step=r,this.value=eB(u,ez(t),e.name||"bin_"+eT(t))}}),lW.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},tB(lW,oF,{transform(e,t){let n=t.fork(t.ALL),r=lq(a3,this.value,n.materialize(n.ADD).add),i=e.sort,a=t.changed()||i&&(e.modified("sort")||t.modified(i.fields));return n.visit(n.REM,r.remove),this.modified(a),this.value=n.source=r.data(a9(i),a),t.source&&t.source.root&&(this.value.root=t.source.root),n}}),tB(lH,oa),lG.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]},tB(lG,oF,{transform(e,t){let n=t=>n=>{for(var r,i=function(e,t,n){switch(t){case"upper":e=e.toUpperCase();break;case"lower":e=e.toLowerCase()}return e.match(n)}(l(n),e.case,a)||[],u=0,s=i.length;u<s;++u)o.test(r=i[u])||t(r)},r=this._parameterCheck(e,t),i=this._counts,a=this._match,o=this._stop,l=e.field,u=e.as||["text","count"],s=n(e=>i[e]=1+(i[e]||0)),c=n(e=>i[e]-=1);return r?t.visit(t.SOURCE,s):(t.visit(t.ADD,s),t.visit(t.REM,c)),this._finish(t,u)},_parameterCheck(e,t){let n=!1;return(e.modified("stopwords")||!this._stop)&&(this._stop=RegExp("^"+(e.stopwords||"")+"$","i"),n=!0),(e.modified("pattern")||!this._match)&&(this._match=RegExp(e.pattern||"[\\w']+","g"),n=!0),(e.modified("field")||t.modified(e.field.fields))&&(n=!0),n&&(this._counts={}),n},_finish(e,t){let n,r,i;let a=this._counts,o=this._tuples||(this._tuples={}),l=t[0],u=t[1],s=e.fork(e.NO_SOURCE|e.NO_FIELDS);for(n in a)r=o[n],i=a[n]||0,!r&&i?(o[n]=r=a5({}),r[l]=n,r[u]=i,s.add.push(r)):0===i?(r&&s.rem.push(r),a[n]=null,o[n]=null):r[u]!==i&&(r[u]=i,s.mod.push(r));return s.modifies(t)}}),lV.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},tB(lV,oF,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.as||["a","b"],i=r[0],a=r[1],o=!this.value||t.changed(t.ADD_REM)||e.modified("as")||e.modified("filter"),l=this.value;return o?(l&&(n.rem=l),l=t.materialize(t.SOURCE).source,n.add=this.value=function(e,t,n,r){for(var i,a,o=[],l={},u=e.length,s=0;s<u;++s)for(i=0,l[t]=a=e[s];i<u;++i)l[n]=e[i],r(l)&&(o.push(a5(l)),(l={})[t]=a);return o}
14(l,i,a,e.filter||eG)):n.mod=l,n.source=this.value,n.modifies(r)}});let lX={kde:o5,mixture:le,normal:o3,lognormal:o7,uniform:la},lZ="function";function lJ(e){oF.call(this,null,e)}let lQ=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}];function lK(e,t){return e?e.map((e,n)=>t[n]||eT(e)):null}function l0(e,t,n){let r,i,a,o,l,u;let s=[],c=e=>e(o);if(null==t)s.push(e.map(n));else for(r={},i=0,a=e.length;i<a;++i)o=e[i],(u=r[l=t.map(c)])||(r[l]=u=[],u.dims=l,s.push(u)),u.push(n(o));return s}function l1(e){oF.call(this,null,e)}lJ.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:lQ.concat({key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:lQ},{name:"weights",type:"number",array:!0}]})},{name:"as",type:"string",array:!0,default:["value","density"]}]},tB(lJ,oF,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=function e(t,n){let r=t[lZ];tM(lX,r)||ej("Unknown distribution function: "+r);let i=lX[r]();for(let r in t)"field"===r?i.data((t.from||n()).map(t[r])):"distributions"===r?i[r](t[r].map(t=>e(t,n))):typeof i[r]===lZ&&i[r](t[r]);return i}(e.distribution,()=>t.materialize(t.SOURCE).source),i=e.steps||e.minsteps||25,a=e.steps||e.maxsteps||200,o=e.method||"pdf";"pdf"!==o&&"cdf"!==o&&ej("Invalid density method: "+o),e.extent||r.data||ej("Missing density extent parameter."),o=r[o];let l=e.as||["value","density"],u=e.extent||tD(r.data()),s=lb(o,u,i,a).map(e=>{let t={};return t[l[0]]=e[0],t[l[1]]=e[1],a5(t)});this.value&&(n.rem=this.value),this.value=n.add=n.source=s}return n}}),l1.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:"bin"}]};let l2=(e,t)=>tV(tD(e,t))/30;function l3(e){oa.call(this,null,l5,e),this.modified(!0)}function l5(e){let t=e.expr;return this.value&&!e.modified("expr")?this.value:eB(n=>t(n,e),ez(t),eT(t))}function l6(e){oF.call(this,[void 0,void 0],e)}function l4(e,t){oa.call(this,e),this.parent=t,this.count=0}function l8(e){oF.call(this,{},e),this._keys=tN();let t=this._targets=[];t.active=0,t.forEach=e=>{for(let n=0,r=t.active;n<r;++n)e(t[n],n,t)}}function l9(e){oa.call(this,null,l7,e)}function l7(e){return this.value&&!e.modified()?this.value:e2(e.name)?tm(e.name).map(e=>eU(e)):eU(e.name,e.as)}function ue(e){oF.call(this,tN(),e)}function ut(e){oF.call(this,[],e)}function un(e){oF.call(this,[],e)}function ur(e){oF.call(this,null,e)}function ui(e){oF.call(this,[],e)}tB(l1,oF,{transform(e,t){if(this.value&&!(e.modified()||t.changed()))return t;let n=t.materialize(t.SOURCE).source,r=l0(t.source,e.groupby,eW),i=e.smooth||!1,a=e.field,o=e.step||l2(n,a),l=a9((e,t)=>a(e)-a(t)),u=e.as||"bin",s=r.length,c=1/0,f=-1/0,h=0,d;for(;h<s;++h){let e=r[h].sort(l);for(let t of(d=-1,oG(e,o,i,a)))t<c&&(c=t),t>f&&(f=t),e[++d][u]=t}return this.value={start:c,stop:f,step:o},t.reflow(!0).modifies(u)}}),tB(l3,oa),l6.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},tB(l6,oF,{transform(e,t){let n=this.value,r=e.field,i=t.changed()||t.modified(r.fields)||e.modified("field"),a=n[0],o=n[1];if((i||null==a)&&(a=Infinity,o=-1/0),t.visit(i?t.SOURCE:t.ADD,e=>{let t=e9(r(e));null!=t&&(t<a&&(a=t),t>o&&(o=t))}),!Number.isFinite(a)||!Number.isFinite(o)){let e=eT(r);e&&(e=` for field "${e}"`),t.dataflow.warn(`Infinite extent${e}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}}),tB(l4,oa,{connect(e){return this.detachSubflow=e.detachSubflow,this.targets().add(e),e.source=this},add(e){this.count+=1,this.value.add.push(e)},rem(e){this.count-=1,this.value.rem.push(e)},mod(e){this.value.mod.push(e)},init(e){this.value.init(e,e.NO_SOURCE)},evaluate(){return this.value}}),tB(l8,oF,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,r){let i=this.value,a=tM(i,e)&&i[e],o,l;return a?a.value.stamp<n.stamp&&(a.init(n),this.activate(a)):(l=r||(l=this._group[e])&&l.tuple,o=n.dataflow,a=new l4(n.fork(n.NO_SOURCE),this),o.add(a).connect(t(o,e,l)),i[e]=a,this.activate(a)),a},clean(){let e=this.value,t=0;for(let n in e)if(0===e[n].count){let r=e[n].detachSubflow;r&&r(),delete e[n],++t}if(t){let e=this._targets.filter(e=>e&&e.count>0);this.initTargets(e)}},initTargets(e){let t=this._targets,n=t.length,r=e?e.length:0,i=0;for(;i<r;++i)t[i]=e[i];for(;i<n&&null!=t[i];++i)t[i]=null;t.active=r},transform(e,t){let n=t.dataflow,r=e.key,i=e.subflow,a=this._keys,o=e.modified("key"),l=e=>this.subflow(e,i,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,e=>{let t=a3(e),n=a.get(t);void 0!==n&&(a.delete(t),l(n).rem(e))}),t.visit(t.ADD,e=>{let t=r(e);a.set(a3(e),t),l(t).add(e)}),o||t.modified(r.fields)?t.visit(t.MOD,e=>{let t=a3(e),n=a.get(t),i=r(e);n===i?l(i).mod(e):(a.set(t,i),l(n).rem(e),l(i).add(e))}):t.changed(t.MOD)&&t.visit(t.MOD,e=>{l(a.get(a3(e))).mod(e)}),o&&t.visit(t.REFLOW,e=>{let t=a3(e),n=a.get(t),i=r(e);n!==i&&(a.set(t,i),l(n).rem(e),l(i).add(e))}),t.clean()?n.runAfter(()=>{this.clean(),a.clean()}):a.empty>n.cleanThreshold&&n.runAfter(a.clean),t}}),tB(l9,oa),ue.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},tB(ue,oF,{transform(e,t){let n=t.dataflow,r=this.value,i=t.fork(),a=i.add,o=i.rem,l=i.mod,u=e.expr,s=!0;function c(t){let n=a3(t),i=u(t,e),c=r.get(n);i&&c?(r.delete(n),a.push(t)):i||c?s&&i&&!c&&l.push(t):(r.set(n,1),o.push(t))}return t.visit(t.REM,e=>{let t=a3(e);r.has(t)?r.delete(t):o.push(e)}),t.visit(t.ADD,t=>{u(t,e)?a.push(t):r.set(a3(t),1)}),t.visit(t.MOD,c),e.modified()&&(s=!1,t.visit(t.REFLOW,c)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}}),ut.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]},tB(ut,oF,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=lK(r,e.as||[]),a=e.index||null,o=i.length;return n.rem=this.value,t.visit(t.SOURCE,e=>{let t=r.map(t=>t(e)),l=t.reduce((e,t)=>
14Math.max(e,t.length),0),u=0,s,c,f;for(;u<l;++u){for(s=0,c=a6(e);s<o;++s)c[i[s]]=null==(f=t[s][u])?null:f;a&&(c[a]=u),n.add.push(c)}}),this.value=n.source=n.add,a&&n.modifies(a),n.modifies(i)}}),un.Definition={type:"Fold",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0,length:2,default:["key","value"]}]},tB(un,oF,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=r.map(eT),a=e.as||["key","value"],o=a[0],l=a[1],u=r.length;return n.rem=this.value,t.visit(t.SOURCE,e=>{for(let t=0,a;t<u;++t)(a=a6(e))[o]=i[t],a[l]=r[t](e),n.add.push(a)}),this.value=n.source=n.add,n.modifies(a)}}),ur.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},tB(ur,oF,{transform(e,t){let n=e.expr,r=e.as,i=e.modified(),a=e.initonly?t.ADD:i?t.SOURCE:t.modified(n.fields)||t.modified(r)?t.ADD_MOD:t.ADD;return i&&(t=t.materialize().reflow(!0)),e.initonly||t.modifies(r),t.visit(a,t=>t[r]=n(t,e))}}),tB(ui,oF,{transform(e,t){let n=t.fork(t.ALL),r=e.generator,i=this.value,a=e.size-i.length,o,l,u;if(a>0){for(o=[];--a>=0;)o.push(u=a5(r(e))),i.push(u);n.add=n.add.length?n.materialize(n.ADD).add.concat(o):o}else l=i.slice(0,-a),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(l):l,i=i.slice(-a);return n.source=this.value=i,n}});let ua={value:"value",median:function(e,t){return function(e,t,n){if(!(!(r=(e=Float64Array.from(function*(e,t){if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)null!=(r=t(r,++n,e))&&(r=+r)>=r&&(yield r)}}(e,n))).length)||isNaN(t=+t))){if(t<=0||r<2)return l_(e);if(t>=1)return lx(e);var r,i=(r-1)*t,a=Math.floor(i),o=lx((function e(t,n,r=0,i=1/0,a){if(n=Math.floor(n),r=Math.floor(Math.max(0,r)),i=Math.floor(Math.min(t.length-1,i)),!(r<=n&&n<=i))return t;for(a=void 0===a?lA:function(e=lw){if(e===lw)return lA;if("function"!=typeof e)throw TypeError("compare is not a function");return(t,n)=>{let r=e(t,n);return r||0===r?r:(0===e(n,n))-(0===e(t,t))}}(a);i>r;){if(i-r>600){let o=i-r+1,l=n-r+1,u=Math.log(o),s=.5*Math.exp(2*u/3),c=.5*Math.sqrt(u*s*(o-s)/o)*(l-o/2<0?-1:1),f=Math.max(r,Math.floor(n-l*s/o+c)),h=Math.min(i,Math.floor(n+(o-l)*s/o+c));e(t,n,f,h,a)}let o=t[n],l=r,u=i;for(lE(t,r,n),a(t[i],o)>0&&lE(t,r,i);l<u;){for(lE(t,l,u),++l,--u;0>a(t[l],o);)++l;for(;a(t[u],o)>0;)--u}0===a(t[r],o)?lE(t,r,u):lE(t,++u,i),u<=n&&(r=u+1),n<=u&&(i=u-1)}return t})(e,a).subarray(0,a+1));return o+(l_(e.subarray(a+1))-o)*(i-a)}}(e,.5,t)},mean:function(e,t){let n=0,r=0;if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(++n,r+=t);else{let i=-1;for(let a of e)null!=(a=t(a,++i,e))&&(a=+a)>=a&&(++n,r+=a)}if(n)return r/n},min:l_,max:lx},uo=[];function ul(e){oF.call(this,[],e)}function uu(e){lI.call(this,e)}function us(e){oF.call(this,null,e)}function uc(e){oa.call(this,null,uf,e)}function uf(e){return this.value&&!e.modified()?this.value:tU(e.fields,e.flat)}function uh(e){oF.call(this,[],e),this._pending=null}function ud(e,t,n){n.forEach(a5);let r=t.fork(t.NO_FIELDS&t.NO_SOURCE);return r.rem=e.value,e.value=r.source=r.add=n,e._pending=null,r.rem.length&&r.clean(!0),r}function up(e){oF.call(this,{},e)}function ug(e){oa.call(this,null,um,e)}function um(e){if(this.value&&!e.modified())return this.value;let t=e.extents,n=t.length,r=Infinity,i=-1/0,a,o;for(a=0;a<n;++a)(o=t[a])[0]<r&&(r=o[0]),o[1]>i&&(i=o[1]);return[r,i]}function uy(e){oa.call(this,null,uv,e)}function uv(e){return this.value&&!e.modified()?this.value:e.values.reduce((e,t)=>e.concat(t),[])}function ub(e){oF.call(this,null,e)}function ux(e){lI.call(this,e)}function u_(e){l8.call(this,e)}function uw(e){oF.call(this,null,e)}function uA(e){oF.call(this,null,e)}function uE(e){oF.call(this,null,e)}function uk(e){oF.call(this,null,e)}function uC(e){oF.call(this,[],e),this.count=0}function uD(e){oF.call(this,null,e)}function uF(e){oF.call(this,null,e),this.modified(!0)}function u$(e){oF.call(this,null,e)}ul.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},tB(ul,oF,{transform(e,t){var n,r,i,a,o,l,u,s,c,f,h=t.fork(t.ALL),d=function(e){var t,n=e.method||ua.value;if(null==ua[n])ej("Unrecognized imputation method: "+n);else if(n===ua.value)return t=void 0!==e.value?e.value:0,()=>t;else return ua[n]}(e),p=function(e){let t=e.field;return e=>e?t(e):NaN}(e),g=eT(e.field),m=eT(e.key),y=(e.groupby||[]).map(eT),v=function(e,t,n,r){var i,a,o,l,u,s,c,f,h=e=>e(f),d=[],p=r?r.slice():[],g={},m={};
14for(p.forEach((e,t)=>g[e]=t+1),l=0,c=e.length;l<c;++l)u=g[s=n(f=e[l])]||(g[s]=p.push(s)),(o=m[a=(i=t?t.map(h):uo)+""])||(o=m[a]=[],d.push(o),o.values=i),o[u-1]=f;return d.domain=p,d}(t.source,e.groupby,e.key,e.keyvals),b=[],x=this.value,_=v.domain.length;for(o=0,s=v.length;o<s;++o)for(u=0,i=(n=v[o]).values,r=NaN;u<_;++u)if(null==n[u]){for(l=0,a=v.domain[u],f={_impute:!0},c=i.length;l<c;++l)f[y[l]]=i[l];f[m]=a,f[g]=Number.isNaN(r)?r=d(n,p):r,b.push(a5(f))}return b.length&&(h.add=h.materialize(h.ADD).add.concat(b)),x.length&&(h.rem=h.materialize(h.REM).rem.concat(x)),this.value=b,h}}),uu.Definition={type:"JoinAggregate",metadata:{modifies:!0},params:[{name:"groupby",type:"field",array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"ops",type:"enum",array:!0,values:lN},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]},tB(uu,lI,{transform(e,t){let n;let r=this,i=e.modified();return r.value&&(i||t.modified(r._inputs,!0))?(n=r.value=i?r.init(e):{},t.visit(t.SOURCE,e=>r.add(e))):(n=r.value=r.value||this.init(e),t.visit(t.REM,e=>r.rem(e)),t.visit(t.ADD,e=>r.add(e))),r.changes(),t.visit(t.SOURCE,e=>{tC(e,n[r.cellkey(e)].tuple)}),t.reflow(i).modifies(this._outputs)},changes(){let e,t;let n=this._adds,r=this._mods;for(e=0,t=this._alen;e<t;++e)this.celltuple(n[e]),n[e]=null;for(e=0,t=this._mlen;e<t;++e)this.celltuple(r[e]),r[e]=null;this._alen=this._mlen=0}}),us.Definition={type:"KDE",metadata:{generates:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"cumulative",type:"boolean",default:!1},{name:"counts",type:"boolean",default:!1},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:!0,length:2},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:!0,default:["value","density"]}]},tB(us,oF,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=l0(r,e.groupby,e.field),a=(e.groupby||[]).map(eT),o=e.bandwidth,l=e.cumulative?"cdf":"pdf",u=e.as||["value","density"],s=[],c=e.extent,f=e.steps||e.minsteps||25,h=e.steps||e.maxsteps||200;"pdf"!==l&&"cdf"!==l&&ej("Invalid density method: "+l),"shared"===e.resolve&&(c||(c=tD(r,e.field)),f=h=e.steps||h),i.forEach(t=>{let n=o5(t,o)[l],r=e.counts?t.length:1,i=c||tD(t);lb(n,i,f,h).forEach(e=>{let n={};for(let e=0;e<a.length;++e)n[a[e]]=t.dims[e];n[u[0]]=e[0],n[u[1]]=e[1]*r,s.push(a5(n))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=s}return n}}),tB(uc,oa),tB(uh,oF,{transform(e,t){let n=t.dataflow;if(this._pending)return ud(this,t,this._pending);if(e.modified("async")&&!(e.modified("values")||e.modified("url")||e.modified("format")))return t.StopPropagation;if(e.values)return ud(this,t,n.parse(e.values,e.format));if(!e.async)return n.request(e.url,e.format).then(e=>ud(this,t,tm(e.data)));{let t=n.request(e.url,e.format).then(e=>(this._pending=tm(e.data),e=>e.touch(this)));return{async:t}}}}),up.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},tB(up,oF,{transform(e,t){let n=e.fields,r=e.index,i=e.values,a=null==e.default?null:e.default,o=e.modified(),l=n.length,u=o?t.SOURCE:t.ADD,s=t,c=e.as,f,h;return i?(h=i.length,l>1&&!c&&ej('Multi-field lookup requires explicit "as" parameter.'),c&&c.length!==l*h&&ej('The "as" parameter has too few output field names.'),c=c||i.map(eT),f=function(e){for(var t,o,u=0,s=0;u<l;++u)if(null==(o=r.get(n[u](e))))for(t=0;t<h;++t,++s)e[c[s]]=a;else for(t=0;t<h;++t,++s)e[c[s]]=i[t](o)}):(c||ej("Missing output field names."),f=function(e){for(var t,i=0;i<l;++i)t=r.get(n[i](e)),e[c[i]]=null==t?a:t}),o?s=t.reflow(!0):u|=n.some(e=>t.modified(e.fields))?t.MOD:0,t.visit(u,f),s.modifies(c)}}),tB(ug,oa),tB(uy,oa),tB(ub,oF,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}}),ux.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:lN,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},tB(ux,lI,{_transform:lI.prototype.transform,transform(e,t){return this._transform(function(e,t){let n=e.field,r=e.value,i=("count"===e.op?"__count__":e.op)||"sum",a=ez(n).concat(ez(r)),o=function(e,t,n){let r={},i=[];return n.visit(n.SOURCE,t=>{let n=e(t);r[n]||(r[n]=1,i.push(n))}),i.sort(tx),t?i.slice(0,t):i}(n,e.limit||0,t);return t.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:o.map(()=>i),fields:o.map(e=>eB(t=>n(t)===e?r(t):NaN,a,e+"")),as:o.map(e=>e+""),modified:e.modified.bind(e)}}(e,t),t)}}),tB(u_,l8,{transform(e,t){let n=e.subflow,r=e.field,i=e=>this.subflow(a3(e),n,t,e);return(e.modified("field")||r&&t.modified(ez(r)))&&ej("PreFacet does not support field modification."),this.initTargets(),r?(t.visit(t.MOD,e=>{let t=i(e);
14r(e).forEach(e=>t.mod(e))}),t.visit(t.ADD,e=>{let t=i(e);r(e).forEach(e=>t.add(a5(e)))}),t.visit(t.REM,e=>{let t=i(e);r(e).forEach(e=>t.rem(e))})):(t.visit(t.MOD,e=>i(e).mod(e)),t.visit(t.ADD,e=>i(e).add(e)),t.visit(t.REM,e=>i(e).rem(e))),t.clean()&&t.runAfter(()=>this.clean()),t}}),uw.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},tB(uw,oF,{transform(e,t){let n;let r=t.fork(t.NO_SOURCE),i=e.fields,a=lK(e.fields,e.as||[]),o=i?(e,t)=>(function(e,t,n,r){for(let i=0,a=n.length;i<a;++i)t[r[i]]=n[i](e);return t})(e,t,i,a):a4;return this.value?n=this.value:(t=t.addAll(),n=this.value={}),t.visit(t.REM,e=>{let t=a3(e);r.rem.push(n[t]),n[t]=null}),t.visit(t.ADD,e=>{let t=o(e,a5({}));n[a3(e)]=t,r.add.push(t)}),t.visit(t.MOD,e=>{r.mod.push(o(e,n[a3(e)]))}),r}}),tB(uA,oF,{transform(e,t){return this.value=e.value,e.modified("value")?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}}),uE.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]},tB(uE,oF,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=e.as||["prob","value"];if(this.value&&!e.modified()&&!t.changed())return n.source=this.value,n;let i=t.materialize(t.SOURCE).source,a=l0(i,e.groupby,e.field),o=(e.groupby||[]).map(eT),l=[],u=e.step||.01,s=e.probs||lk(u/2,.99999999999999,u),c=s.length;return a.forEach(e=>{let t=oj(e,s);for(let n=0;n<c;++n){let i={};for(let t=0;t<o.length;++t)i[o[t]]=e.dims[t];i[r[0]]=s[n],i[r[1]]=t[n],l.push(a5(i))}}),this.value&&(n.rem=this.value),this.value=n.add=n.source=l,n}}),tB(uk,oF,{transform(e,t){let n,r;return this.value?r=this.value:(n=t=t.addAll(),r=this.value={}),e.derive&&(n=t.fork(t.NO_SOURCE),t.visit(t.REM,e=>{let t=a3(e);n.rem.push(r[t]),r[t]=null}),t.visit(t.ADD,e=>{let t=a6(e);r[a3(e)]=t,n.add.push(t)}),t.visit(t.MOD,e=>{let t=r[a3(e)];for(let r in e)t[r]=e[r],n.modifies(r);n.mod.push(t)})),n}}),uC.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},tB(uC,oF,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.modified("size"),i=e.size,a=this.value.reduce((e,t)=>(e[a3(t)]=1,e),{}),o=this.value,l=this.count,u=0;function s(e){let t,r;o.length<i?o.push(e):(r=~~((l+1)*oW()))<o.length&&r>=u&&(a[a3(t=o[r])]&&n.rem.push(t),o[r]=e),++l}if(t.rem.length&&(t.visit(t.REM,e=>{let t=a3(e);a[t]&&(a[t]=-1,n.rem.push(e)),--l}),o=o.filter(e=>-1!==a[a3(e)])),(t.rem.length||r)&&o.length<i&&t.source&&(u=l=o.length,t.visit(t.SOURCE,e=>{a[a3(e)]||s(e)}),u=-1),r&&o.length>i){let e=o.length-i;for(let t=0;t<e;++t)a[a3(o[t])]=-1,n.rem.push(o[t]);o=o.slice(e)}return t.mod.length&&t.visit(t.MOD,e=>{a[a3(e)]&&n.mod.push(e)}),t.add.length&&t.visit(t.ADD,s),(t.add.length||u<0)&&(n.add=o.filter(e=>!a[a3(e)])),this.count=l,this.value=n.source=o,n}}),uD.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},tB(uD,oF,{transform(e,t){if(this.value&&!e.modified())return;let n=t.materialize().fork(t.MOD),r=e.as||"data";return n.rem=this.value?t.rem.concat(this.value):t.rem,this.value=lk(e.start,e.stop,e.step||1).map(e=>{let t={};return t[r]=e,a5(t)}),n.add=t.add.concat(this.value),n}}),tB(uF,oF,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});let uM=["unit0","unit1"];function uS(e){oF.call(this,tN(),e)}function uN(e){oF.call(this,null,e)}u$.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:ru,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:uM}]},tB(u$,oF,{transform(e,t){let n=e.field,r=!1!==e.interval,i="utc"===e.timezone,a=this._floor(e,t),o=(i?rL:rR)(a.unit).offset,l=e.as||uM,u=l[0],s=l[1],c=a.step,f=a.start||1/0,h=a.stop||-1/0,d=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified(ez(n)))&&(d=(t=t.reflow(!0)).SOURCE,f=1/0,h=-1/0),t.visit(d,e=>{let t,i;let l=n(e);null==l?(e[u]=null,r&&(e[s]=null)):(e[u]=t=i=a(l),r&&(e[s]=i=o(t,c)),t<f&&(f=t),i>h&&(h=i))}),a.start=f,a.stop=h,t.modifies(r?l:u)},_floor(e,t){let n="utc"===e.timezone,{units:r,step:i}=e.units?{units:e.units,step:e.step||1}:r2({extent:e.extent||tD(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}
14),a=rc(r),o=this.value||{},l=(n?rB:rS)(a,i);return l.unit=e8(a),l.units=a,l.step=i,l.start=o.start,l.stop=o.stop,this.value=l}}),tB(uS,oF,{transform(e,t){let n=t.dataflow,r=e.field,i=this.value,a=e=>i.set(r(e),e),o=!0;return e.modified("field")||t.modified(r.fields)?(i.clear(),t.visit(t.SOURCE,a)):t.changed()?(t.visit(t.REM,e=>i.delete(r(e))),t.visit(t.ADD,a)):o=!1,this.modified(o),i.empty>n.cleanThreshold&&n.runAfter(i.clean),t.fork()}}),tB(uN,oF,{transform(e,t){let n=!this.value||e.modified("field")||e.modified("sort")||t.changed()||e.sort&&t.modified(e.sort.fields);n&&(this.value=(e.sort?t.source.slice().sort(a9(e.sort)):t.source).map(e.field))}});let uO={row_number:function(){return{next:e=>e.index+1}},rank:function(){let e;return{init:()=>e=1,next:t=>{let n=t.index,r=t.data;return n&&t.compare(r[n-1],r[n])?e=n+1:e}}},dense_rank:function(){let e;return{init:()=>e=1,next:t=>{let n=t.index,r=t.data;return n&&t.compare(r[n-1],r[n])?++e:e}}},percent_rank:function(){let e=uO.rank(),t=e.next;return{init:e.init,next:e=>(t(e)-1)/(e.data.length-1)}},cume_dist:function(){let e;return{init:()=>e=0,next:t=>{let n=t.data,r=t.compare,i=t.index;if(e<i){for(;i+1<n.length&&!r(n[i],n[i+1]);)++i;e=i}return(1+e)/n.length}}},ntile:function(e,t){(t=+t)>0||ej("ntile num must be greater than zero.");let n=uO.cume_dist(),r=n.next;return{init:n.init,next:e=>Math.ceil(t*r(e))}},lag:function(e,t){return t=+t||1,{next:n=>{let r=n.index-t;return r>=0?e(n.data[r]):null}}},lead:function(e,t){return t=+t||1,{next:n=>{let r=n.index+t,i=n.data;return r<i.length?e(i[r]):null}}},first_value:function(e){return{next:t=>e(t.data[t.i0])}},last_value:function(e){return{next:t=>e(t.data[t.i1-1])}},nth_value:function(e,t){return(t=+t)>0||ej("nth_value nth must be greater than zero."),{next:n=>{let r=n.i0+(t-1);return r<n.i1?e(n.data[r]):null}}},prev_value:function(e){let t;return{init:()=>t=null,next:n=>{let r=e(n.data[n.index]);return null!=r?t=r:t}}},next_value:function(e){let t,n;return{init:()=>(t=null,n=-1),next:r=>{let i=r.data;return r.index<=n?t:(n=function(e,t,n){for(let r=t.length;n<r;++n){let r=e(t[n]);if(null!=r)return n}return -1}(e,i,r.index))<0?(n=i.length,t=null):t=e(i[n])}}}},uB=Object.keys(uO);function uT(e){let t=tm(e.ops),n=tm(e.fields),r=tm(e.params),i=tm(e.as),a=this.outputs=[],o=this.windows=[],l={},u={},s=[],c=[],f=!0;function h(e){tm(ez(e)).forEach(e=>l[e]=1)}h(e.sort),t.forEach((e,t)=>{let l=n[t],d=eT(l),p=i[t]||e+(d?"_"+d:"");if(h(l),a.push(p),tM(uO,e))o.push(function(e,t,n,r){let i=uO[e](t,n);return{init:i.init||eH,update:function(e,t){t[r]=i.next(e)}}}(e,n[t],r[t],p));else{if(null==l&&"count"!==e&&ej("Null aggregate field specified."),"count"===e){s.push(p);return}f=!1;let t=u[d];t||((t=u[d]=[]).field=l,c.push(t)),t.push(lS[e](p))}}),(s.length||c.length)&&(this.cell=function(e,t,n){e=e.map(e=>lL(e,e.field));let r={num:0,agg:null,store:!1,count:t};if(!n)for(var i=e.length,a=r.agg=Array(i),o=0;o<i;++o)a[o]=new e[o](r);if(r.store)var l=r.data=new lP;return r.add=function(e){if(r.num+=1,!n){l&&l.add(e);for(let t=0;t<i;++t)a[t].add(a[t].get(e),e)}},r.rem=function(e){if(r.num-=1,!n){l&&l.rem(e);for(let t=0;t<i;++t)a[t].rem(a[t].get(e),e)}},r.set=function(e){let i,o;for(l&&l.values(),i=0,o=t.length;i<o;++i)e[t[i]]=r.num;if(!n)for(i=0,o=a.length;i<o;++i)a[i].set(e)},r.init=function(){r.num=0,l&&l.reset();for(let e=0;e<i;++e)a[e].init()},r}(c,s,f)),this.inputs=Object.keys(l)}let uz=uT.prototype;function uR(e){oF.call(this,{},e),this._mlen=0,this._mods=[]}function uL(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function uP(e){this._context=e}function uj(){}function uI(e){this._context=e}function uU(e){this._context=e}function uq(e,t){this._basis=new uP(e),this._beta=t}uz.init=function(){this.windows.forEach(e=>e.init()),this.cell&&this.cell.init()},uz.update=function(e,t){let n;let r=this.cell,i=this.windows,a=e.data,o=i&&i.length;if(r){for(n=e.p0;n<e.i0;++n)r.rem(a[n]);for(n=e.p1;n<e.i1;++n)r.add(a[n]);r.set(t)}for(n=0;n<o;++n)i[n].update(e,t)},uR.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:uB.concat(lN)},{name:"params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"frame",type:"number",null:!0,array:!0,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:!1}]},tB(uR,oF,{transform(e,t){this.stamp=t.stamp;let n=e.modified(),r=a9(e.sort),i=lF(e.groupby),a=e=>this.group(i(e)),o=this.state;(!o||n)&&(o=this.state=new uT(e)),n||t.modified(o.inputs)?(this.value={},t.visit(t.SOURCE,e=>a(e).add(e))):(t.visit(t.REM,e=>a(e).remove(e)),t.visit(t.ADD,e=>a(e).add(e)));for(let t=0,n=this._mlen;t<n;++t)(function(e,t,n,r){let i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],l=e.data(n),u=l.length,s=a?function(e){let t,n,r;
vendor: 8,447 bytes, line 14
14function i(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{let t=i+a>>>1;0>n(e[t],r)?i=t+1:a=t}while(i<a)}return i}return 2!==e.length?(t=lw,n=(t,n)=>lw(e(t),n),r=(t,n)=>e(t)-n):(t=e===lw||e===lC?e:lD,n=e,r=e),{left:i,center:function(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o},right:function(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{let t=i+a>>>1;0>=n(e[t],r)?i=t+1:a=t}while(i<a)}return i}}}(i):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:l,compare:i||tE(-1)};t.init();for(let e=0;e<u;++e){var f,h;f=c,h=e,f.p0=f.i0,f.p1=f.i1,f.i0=null==o[0]?0:Math.max(0,h-Math.abs(o[0])),f.i1=null==o[1]?u:Math.min(u,h+Math.abs(o[1])+1),f.index=h,a&&function(e,t){let n=e.i0,r=e.i1-1,i=e.compare,a=e.data,o=a.length-1;n>0&&!i(a[n],a[n-1])&&(e.i0=t.left(a,a[n])),r<o&&!i(a[r],a[r+1])&&(e.i1=t.right(a,a[r]))}(c,s),t.update(c,l[e])}})(this._mods[t],o,r,e);return this._mlen=0,this._mods=[],t.reflow(n).modifies(o.outputs)},group(e){let t=this.value[e];return t||((t=this.value[e]=lq(a3)).stamp=-1),t.stamp<this.stamp&&(t.stamp=this.stamp,this._mods[this._mlen++]=t),t}}),uP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:uL(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:uL(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},uI.prototype={areaStart:uj,areaEnd:uj,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:uL(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},uU.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:uL(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},uq.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r,i=e[0],a=t[0],o=e[n]-i,l=t[n]-a,u=-1;++u<=n;)r=u/n,this._basis.point(this._beta*e[u]+(1-this._beta)*(i+r*o),this._beta*t[u]+(1-this._beta)*(a+r*l));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var uW=function e(t){function n(e){return 1===t?new uP(e):new uq(e,t)}return n.beta=function(t){return e(+t)},n}(.85);function uH(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function uY(e,t){this._context=e,this._k=(1-t)/6}uY.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:uH(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:uH(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var uG=function e(t){function n(e){return new uY(e,t)}return n.tension=function(t){return e(+t)},n}(0);function uV(e,t){this._context=e,this._k=(1-t)/6}uV.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:uH(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var uX=function e(t){function n(e){return new uV(e,t)}return n.tension=function(t){return e(+t)},n}(0);function uZ(e,t){this._context=e,this._k=(1-t)/6}uZ.prototype={areaStart:uj,areaEnd:uj,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:uH(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var uJ=function e(t){function n(e){return new uZ(e,t)}return n.tension=function(t){return e(+t)},n}(0);let uQ=Math.abs,uK=Math.atan2,u0=Math.cos,u1=Math.max,u2=Math.min,u3=Math.sin,u5=Math.sqrt,u6=Math.PI,u4=u6/2,u8=2*u6;function u9(e){return e>=1?u4:e<=-1?-u4:Math.asin(e)}function u7(e,t,n){var r=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var l=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,u=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*l-e._x0*e._l12_2a+e._x2*e._l01_2a)/u,i=(i*l-e._y0*e._l12_2a+e._y2*e._l01_2a)/u}if(e._l23_a>1e-12){var s=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,c=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*s+e._x1*e._l23_2a-t*e._l12_2a)/c,o=(o*s+e._y1*e._l23_2a-n*e._l12_2a)/c}e._context.bezierCurveTo(r,i,a,o,e._x2,e._y2)}function se(e,t){this._context=e,this._alpha=t}se.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:u7(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var st=function e(t){function n(e){return t?new se(e,t):new uY(e,0)}
vendor: 8,091 bytes, line 14
14return n.alpha=function(t){return e(+t)},n}(.5);function sn(e,t){this._context=e,this._alpha=t}sn.prototype={areaStart:uj,areaEnd:uj,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:u7(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var sr=function e(t){function n(e){return t?new sn(e,t):new uZ(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function si(e,t){this._context=e,this._alpha=t}si.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:u7(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var sa=function e(t){function n(e){return t?new si(e,t):new uV(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function so(e){this._context=e}function sl(e){return new so(e)}function su(e){this._context=e}function ss(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0);return((a<0?-1:1)+(o<0?-1:1))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs((a*i+o*r)/(r+i)))||0}function sc(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function sf(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,l=(a-r)/3;e._context.bezierCurveTo(r+l,i+l*t,a-l,o-l*n,a,o)}function sh(e){this._context=e}function sd(e){this._context=new sp(e)}function sp(e){this._context=e}function sg(e){this._context=e}function sm(e){var t,n,r=e.length-1,i=Array(r),a=Array(r),o=Array(r);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<r-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[r-1]=2,a[r-1]=7,o[r-1]=8*e[r-1]+e[r],t=1;t<r;++t)n=i[t]/a[t-1],a[t]-=n,o[t]-=n*o[t-1];for(i[r-1]=o[r-1]/a[r-1],t=r-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(t=0,a[r-1]=(e[r]+i[r-1])/2;t<r-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function sy(e,t){this._context=e,this._t=t}function sv(e){return function(){return e}}so.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}},su.prototype={areaStart:uj,areaEnd:uj,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}},sh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:sf(this,this._t0,sc(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(t=+t,(e=+e)!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,sf(this,sc(this,n=ss(this,e,t)),n);break;default:sf(this,this._t0,n=ss(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},(sd.prototype=Object.create(sh.prototype)).point=function(e,t){sh.prototype.point.call(this,t,e)},sp.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}},sg.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n){if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),2===n)this._context.lineTo(e[1],t[1]);else for(var r=sm(e),i=sm(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],e[o],t[o])}(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}},sy.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};let sb=Math.PI,sx=2*sb,s_=sx-1e-6;function sw(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}class sA{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==e?sw:function(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return sw;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,(i=+i)<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,l=n-e,u=r-t,s=a-e,c=o-t,f=s*s+c*c;if(null===this._x1)this._append`M${this._x1=e},${this._y1=t}`;else if(f>1e-6){if(Math.abs(c*l-u*s)>1e-6&&i){let h=n-a,d=r-o,p=l*l+u*u,g=Math.sqrt(p),m=Math.sqrt(f),y=i*Math.tan((sb-Math.acos((p+f-(h*h+d*d))/(2*g*m)))/2),v=y/m,b=y/g;Math.abs(v-1)>1e-6&&this._append`L${e+v*s},${t+v*c}`,this._append`A${i},${i},0,0,${+(c*h>s*d)},${this._x1=e+b*l},${this._y1=t+b*u}`}else this._append`L${this._x1=e},${this._y1=t}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,a=!!a,(n=+n)<0)throw Error(`negative radius: ${n}`);
14let o=n*Math.cos(r),l=n*Math.sin(r),u=e+o,s=t+l,c=1^a,f=a?r-i:i-r;null===this._x1?this._append`M${u},${s}`:(Math.abs(this._x1-u)>1e-6||Math.abs(this._y1-s)>1e-6)&&this._append`L${u},${s}`,n&&(f<0&&(f=f%sx+sx),f>s_?this._append`A${n},${n},0,1,${c},${e-o},${t-l}A${n},${n},0,1,${c},${this._x1=u},${this._y1=s}`:f>1e-6&&this._append`A${n},${n},0,${+(f>=sb)},${c},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}}function sE(){return new sA}function sk(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(null==n)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new sA(t)}function sC(e){return e.innerRadius}function sD(e){return e.outerRadius}function sF(e){return e.startAngle}function s$(e){return e.endAngle}function sM(e){return e&&e.padAngle}function sS(e,t,n,r,i,a,o){var l=e-n,u=t-r,s=(o?a:-a)/u5(l*l+u*u),c=s*u,f=-s*l,h=e+c,d=t+f,p=n+c,g=r+f,m=(h+p)/2,y=(d+g)/2,v=p-h,b=g-d,x=v*v+b*b,_=i-a,w=h*g-p*d,A=(b<0?-1:1)*u5(u1(0,_*_*x-w*w)),E=(w*b-v*A)/x,k=(-w*v-b*A)/x,C=(w*b+v*A)/x,D=(-w*v+b*A)/x,F=E-m,$=k-y,M=C-m,S=D-y;return F*F+$*$>M*M+S*S&&(E=C,k=D),{cx:E,cy:k,x01:-c,y01:-f,x11:E*(i/_-1),y11:k*(i/_-1)}}function sN(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function sO(e){return e[0]}function sB(e){return e[1]}function sT(e,t){var n=sv(!0),r=null,i=sl,a=null,o=sk(l);function l(l){var u,s,c,f=(l=sN(l)).length,h=!1;for(null==r&&(a=i(c=o())),u=0;u<=f;++u)!(u<f&&n(s=l[u],u,l))===h&&((h=!h)?a.lineStart():a.lineEnd()),h&&a.point(+e(s,u,l),+t(s,u,l));if(c)return a=null,c+""||null}return e="function"==typeof e?e:void 0===e?sO:sv(e),t="function"==typeof t?t:void 0===t?sB:sv(t),l.x=function(t){return arguments.length?(e="function"==typeof t?t:sv(+t),l):e},l.y=function(e){return arguments.length?(t="function"==typeof e?e:sv(+e),l):t},l.defined=function(e){return arguments.length?(n="function"==typeof e?e:sv(!!e),l):n},l.curve=function(e){return arguments.length?(i=e,null!=r&&(a=i(r)),l):i},l.context=function(e){return arguments.length?(null==e?r=a=null:a=i(r=e),l):r},l}function sz(e,t,n){var r=null,i=sv(!0),a=null,o=sl,l=null,u=sk(s);function s(s){var c,f,h,d,p,g=(s=sN(s)).length,m=!1,y=Array(g),v=Array(g);for(null==a&&(l=o(p=u())),c=0;c<=g;++c){if(!(c<g&&i(d=s[c],c,s))===m){if(m=!m)f=c,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),h=c-1;h>=f;--h)l.point(y[h],v[h]);l.lineEnd(),l.areaEnd()}}m&&(y[c]=+e(d,c,s),v[c]=+t(d,c,s),l.point(r?+r(d,c,s):y[c],n?+n(d,c,s):v[c]))}if(p)return l=null,p+""||null}function c(){return sT().defined(i).curve(o).context(a)}return e="function"==typeof e?e:void 0===e?sO:sv(+e),t="function"==typeof t?t:void 0===t?sv(0):sv(+t),n="function"==typeof n?n:void 0===n?sB:sv(+n),s.x=function(t){return arguments.length?(e="function"==typeof t?t:sv(+t),r=null,s):e},s.x0=function(t){return arguments.length?(e="function"==typeof t?t:sv(+t),s):e},s.x1=function(e){return arguments.length?(r=null==e?null:"function"==typeof e?e:sv(+e),s):r},s.y=function(e){return arguments.length?(t="function"==typeof e?e:sv(+e),n=null,s):t},s.y0=function(e){return arguments.length?(t="function"==typeof e?e:sv(+e),s):t},s.y1=function(e){return arguments.length?(n=null==e?null:"function"==typeof e?e:sv(+e),s):n},s.lineX0=s.lineY0=function(){return c().x(e).y(t)},s.lineY1=function(){return c().x(e).y(n)},s.lineX1=function(){return c().x(r).y(t)},s.defined=function(e){return arguments.length?(i="function"==typeof e?e:sv(!!e),s):i},s.curve=function(e){return arguments.length?(o=e,null!=a&&(l=o(a)),s):o},s.context=function(e){return arguments.length?(null==e?a=l=null:l=o(a=e),s):a},s}sE.prototype=sA.prototype,Array.prototype.slice,u5(3);var sR={draw(e,t){let n=u5(t/u6);e.moveTo(n,0),e.arc(0,0,n,0,u8)}};function sL(e,t){if("undefined"!=typeof document&&document.createElement){let n=document.createElement("canvas");if(n&&n.getContext)return n.width=e,n.height=t,n}return null}u5(1/3),u3(u6/10),u3(7*u6/10),u3(u8/10),u0(u8/10),u5(3),u5(3),u5(3),u5(12);let sP=()=>"undefined"!=typeof Image?Image:null;function sj(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function sI(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function sU(e){let t,n,r;
14function i(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{let t=i+a>>>1;0>n(e[t],r)?i=t+1:a=t}while(i<a)}return i}return 2!==e.length?(t=sj,n=(t,n)=>sj(e(t),n),r=(t,n)=>e(t)-n):(t=e===sj||e===sI?e:sq,n=e,r=e),{left:i,center:function(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o},right:function(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{let t=i+a>>>1;0>=n(e[t],r)?i=t+1:a=t}while(i<a)}return i}}}function sq(){return 0}function sW(e){return null===e?NaN:+e}let sH=sU(sj),sY=sH.right;sH.left,sU(sW).center;let sG=Math.sqrt(50),sV=Math.sqrt(10),sX=Math.sqrt(2);function sZ(e,t,n){let r,i,a;let o=(t-e)/Math.max(0,n),l=Math.floor(Math.log10(o)),u=o/Math.pow(10,l),s=u>=sG?10:u>=sV?5:u>=sX?2:1;return(l<0?(r=Math.round(e*(a=Math.pow(10,-l)/s)),i=Math.round(t*a),r/a<e&&++r,i/a>t&&--i,a=-a):(r=Math.round(e/(a=Math.pow(10,l)*s)),i=Math.round(t/a),r*a<e&&++r,i*a>t&&--i),i<r&&.5<=n&&n<2)?sZ(e,t,2*n):[r,i,a]}function sJ(e,t,n){if(t=+t,e=+e,!((n=+n)>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?sZ(t,e,n):sZ(e,t,n);if(!(a>=i))return[];let l=a-i+1,u=Array(l);if(r){if(o<0)for(let e=0;e<l;++e)u[e]=-((a-e)/o);else for(let e=0;e<l;++e)u[e]=(a-e)*o}else if(o<0)for(let e=0;e<l;++e)u[e]=-((i+e)/o);else for(let e=0;e<l;++e)u[e]=(i+e)*o;return u}function sQ(e,t,n){return sZ(e=+e,t=+t,n=+n)[2]}var sK=n(16372);function s0(e,t,n,r,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*n+(1+3*e+3*a-3*o)*r+o*i)/6}function s1(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],a=e[r+1],o=r>0?e[r-1]:2*i-a,l=r<t-1?e[r+2]:2*a-i;return s0((n-r/t)*t,o,i,a,l)}}function s2(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),i=e[(r+t-1)%t],a=e[r%t],o=e[(r+1)%t],l=e[(r+2)%t];return s0((n-r/t)*t,i,a,o,l)}}var s3=e=>()=>e;function s5(e,t){return function(n){return e+n*t}}function s6(e,t){var n=t-e;return n?s5(e,n>180||n<-180?n-360*Math.round(n/360):n):s3(isNaN(e)?t:e)}function s4(e,t){var n=t-e;return n?s5(e,n):s3(isNaN(e)?t:e)}var s8=function e(t){var n,r=1==(n=+(n=t))?s4:function(e,t){var r,i,a;return t-e?(r=e,i=t,r=Math.pow(r,a=n),i=Math.pow(i,a)-r,a=1/a,function(e){return Math.pow(r+e*i,a)}):s3(isNaN(e)?t:e)};function i(e,t){var n=r((e=(0,sK.B8)(e)).r,(t=(0,sK.B8)(t)).r),i=r(e.g,t.g),a=r(e.b,t.b),o=s4(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+""}}return i.gamma=e,i}(1);function s9(e){return function(t){var n,r,i=t.length,a=Array(i),o=Array(i),l=Array(i);for(n=0;n<i;++n)r=(0,sK.B8)(t[n]),a[n]=r.r||0,o[n]=r.g||0,l[n]=r.b||0;return a=e(a),o=e(o),l=e(l),r.opacity=1,function(e){return r.r=a(e),r.g=o(e),r.b=l(e),r+""}}}var s7=s9(s1),ce=s9(s2);function ct(e,t){t||(t=[]);var n,r=e?Math.min(t.length,e.length):0,i=t.slice();return function(a){for(n=0;n<r;++n)i[n]=e[n]*(1-a)+t[n]*a;return i}}function cn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cr(e,t){return(cn(t)?ct:ci)(e,t)}function ci(e,t){var n,r=t?t.length:0,i=e?Math.min(r,e.length):0,a=Array(i),o=Array(r);for(n=0;n<i;++n)a[n]=cf(e[n],t[n]);for(;n<r;++n)o[n]=t[n];return function(e){for(n=0;n<i;++n)o[n]=a[n](e);return o}}function ca(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function co(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function cl(e,t){var n,r={},i={};for(n in(null===e||"object"!=typeof e)&&(e={}),(null===t||"object"!=typeof t)&&(t={}),t)n in e?r[n]=cf(e[n],t[n]):i[n]=t[n];return function(e){for(n in r)i[n]=r[n](e);return i}}var cu=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,cs=RegExp(cu.source,"g");function cc(e,t){var n,r,i,a,o,l=cu.lastIndex=cs.lastIndex=0,u=-1,s=[],c=[];for(e+="",t+="";(i=cu.exec(e))&&(a=cs.exec(t));)(o=a.index)>l&&(o=t.slice(l,o),s[u]?s[u]+=o:s[++u]=o),(i=i[0])===(a=a[0])?s[u]?s[u]+=a:s[++u]=a:(s[++u]=null,c.push({i:u,x:co(i,a)})),l=cs.lastIndex;return l<t.length&&(o=t.slice(l),s[u]?s[u]+=o:s[++u]=o),s.length<2?c[0]?(n=c[0].x,function(e){return n(e)+""}):(r=t,function(){return r}):(t=c.length,function(e){for(var n,r=0;r<t;++r)s[(n=c[r]).i]=n.x(e);return s.join("")})}function cf(e,t){var n,r=typeof t;return null==t||"boolean"===r?s3(t):("number"===r?co:"string"===r?(n=(0,sK.ZP)(t))?(t=n,s8):cc:t instanceof sK.ZP?s8:t instanceof Date?ca:cn(t)?ct:Array.isArray(t)?ci:"function"!=typeof t.valueOf&&"function"!=typeof t.toString||isNaN(t)?cl:co)(e,t)}function ch(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function cd(e){return+e}var cp=[0,1];function cg(e){return e}function cm(e,t){var n;return(t-=e=+e)?function(n){return(n-e)/t}:(n=isNaN(t)?NaN:.5,function(){return n})}function cy(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=cm(i,r),a=n(o,a)):(r=cm(r,i),a=n(a,o)),function(e){return a(r(e))}}function cv(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=cm(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=sY(e,t,1,r)-1;return a[n](i[n](t))}}function cb(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function cx(){var e,t,n,r,i,a,o=cp,l=cp,u=cf,s=cg;function c(){var e,t,n,u=Math.min(o.length,l.length);return s!==cg&&((e=o[0])>
14(t=o[u-1])&&(n=e,e=t,t=n),s=function(n){return Math.max(e,Math.min(t,n))}),r=u>2?cv:cy,i=a=null,f}function f(t){return null==t||isNaN(t=+t)?n:(i||(i=r(o.map(e),l,u)))(e(s(t)))}return f.invert=function(n){return s(t((a||(a=r(l,o.map(e),co)))(n)))},f.domain=function(e){return arguments.length?(o=Array.from(e,cd),c()):o.slice()},f.range=function(e){return arguments.length?(l=Array.from(e),c()):l.slice()},f.rangeRound=function(e){return l=Array.from(e),u=ch,c()},f.clamp=function(e){return arguments.length?(s=!!e||cg,c()):s!==cg},f.interpolate=function(e){return arguments.length?(u=e,c()):u},f.unknown=function(e){return arguments.length?(n=e,f):n},function(n,r){return e=n,t=r,c()}}function c_(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function cw(e,t){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof t?this.interpolator(t):this.range(t)}return this}var cA=n(46196),cE=n(53726),ck=n(42957),cC=n(37655),cD=n(68195);function cF(e,t,n,r){var i,a=function(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?sQ(t,e,n):sQ(e,t,n);return(r?-1:1)*(i<0?-(1/i):i)}(e,t,n);switch((r=(0,cA.Z)(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN(i=(0,cE.Z)(a,o))||(r.precision=i),(0,ck.jH)(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=(0,cC.Z)(a,Math.max(Math.abs(e),Math.abs(t))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=(0,cD.Z)(a))||(r.precision=i-("%"===r.type)*2)}return(0,ck.WU)(r)}function c$(e){var t=e.domain;return e.ticks=function(e){var n=t();return sJ(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var r=t();return cF(r[0],r[r.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var r,i,a=t(),o=0,l=a.length-1,u=a[o],s=a[l],c=10;for(s<u&&(i=u,u=s,s=i,i=o,o=l,l=i);c-- >0;){if((i=sQ(u,s,n))===r)return a[o]=u,a[l]=s,t(a);if(i>0)u=Math.floor(u/i)*i,s=Math.ceil(s/i)*i;else if(i<0)u=Math.ceil(u*i)/i,s=Math.floor(s*i)/i;else break;r=i}return e},e}function cM(e,t){e=e.slice();var n,r=0,i=e.length-1,a=e[r],o=e[i];return o<a&&(n=r,r=i,i=n,n=a,a=o,o=n),e[r]=t.floor(a),e[i]=t.ceil(o),e}function cS(e){return Math.log(e)}function cN(e){return Math.exp(e)}function cO(e){return-Math.log(-e)}function cB(e){return-Math.exp(-e)}function cT(e){return isFinite(e)?+("1e"+e):e<0?0:e}function cz(e){return(t,n)=>-e(-t,n)}function cR(e){let t,n;let r=e(cS,cN),i=r.domain,a=10;function o(){var o,l;return t=(o=a)===Math.E?Math.log:10===o&&Math.log10||2===o&&Math.log2||(o=Math.log(o),e=>Math.log(e)/o),n=10===(l=a)?cT:l===Math.E?Math.exp:e=>Math.pow(l,e),i()[0]<0?(t=cz(t),n=cz(n),e(cO,cB)):e(cS,cN),r}
14return r.base=function(e){return arguments.length?(a=+e,o()):a},r.domain=function(e){return arguments.length?(i(e),o()):i()},r.ticks=e=>{let r,o;let l=i(),u=l[0],s=l[l.length-1],c=s<u;c&&([u,s]=[s,u]);let f=t(u),h=t(s),d=null==e?10:+e,p=[];if(!(a%1)&&h-f<d){if(f=Math.floor(f),h=Math.ceil(h),u>0){for(;f<=h;++f)for(r=1;r<a;++r)if(!((o=f<0?r/n(-f):r*n(f))<u)){if(o>s)break;p.push(o)}}else for(;f<=h;++f)for(r=a-1;r>=1;--r)if(!((o=f>0?r/n(-f):r*n(f))<u)){if(o>s)break;p.push(o)}2*p.length<d&&(p=sJ(u,s,d))}else p=sJ(f,h,Math.min(h-f,d)).map(n);return c?p.reverse():p},r.tickFormat=(e,i)=>{if(null==e&&(e=10),null==i&&(i=10===a?"s":","),"function"!=typeof i&&(a%1||null!=(i=(0,cA.Z)(i)).precision||(i.trim=!0),i=(0,ck.WU)(i)),e===1/0)return i;let o=Math.max(1,a*e/r.ticks().length);return e=>{let r=e/n(Math.round(t(e)));return r*a<a-.5&&(r*=a),r<=o?i(e):""}},r.nice=()=>i(cM(i(),{floor:e=>n(Math.floor(t(e))),ceil:e=>n(Math.ceil(t(e)))})),r}function cL(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function cP(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function cj(e){return e<0?-e*e:e*e}function cI(e){var t=e(cg,cg),n=1;return t.exponent=function(t){return arguments.length?1==(n=+t)?e(cg,cg):.5===n?e(cP,cj):e(cL(n),cL(1/n)):n},c$(t)}function cU(){var e=cI(cx());return e.copy=function(){return cb(e,cU()).exponent(e.exponent())},c_.apply(e,arguments),e}function cq(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function cW(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function cH(e){var t=1,n=e(cq(1),cW(t));return n.constant=function(n){return arguments.length?e(cq(t=+n),cW(t)):t},c$(n)}var cY=n(29173),cG=n(67614),cV=n(61222),cX=n(11829),cZ=(0,cX.Z)(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});cZ.every=function(e){return isFinite(e=Math.floor(e))&&e>0?e>1?(0,cX.Z)(function(t){t.setTime(Math.floor(t/e)*e)},function(t,n){t.setTime(+t+n*e)},function(t,n){return(n-t)/e}):cZ:null},cZ.range;var cJ=(0,cX.Z)(function(e){e.setTime(e-e.getMilliseconds())},function(e,t){e.setTime(+e+t*cV.Ym)},function(e,t){return(t-e)/cV.Ym},function(e){return e.getUTCSeconds()});cJ.range;var cQ=(0,cX.Z)(function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*cV.Ym)},function(e,t){e.setTime(+e+t*cV.yB)},function(e,t){return(t-e)/cV.yB},function(e){return e.getMinutes()});cQ.range;var cK=(0,cX.Z)(function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*cV.Ym-e.getMinutes()*cV.yB)},function(e,t){e.setTime(+e+t*cV.Y2)},function(e,t){return(t-e)/cV.Y2},function(e){return e.getHours()});cK.range;var c0=(0,cX.Z)(function(e){e.setDate(1),e.setHours(0,0,0,0)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12},function(e){return e.getMonth()});c0.range;var c1=(0,cX.Z)(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+t*cV.yB)},function(e,t){return(t-e)/cV.yB},function(e){return e.getUTCMinutes()});c1.range;var c2=(0,cX.Z)(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+t*cV.Y2)},function(e,t){return(t-e)/cV.Y2},function(e){return e.getUTCHours()});c2.range;var c3=(0,cX.Z)(function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12},function(e){return e.getUTCMonth()});function c5(e,t,n,r,i,a){let o=[[cJ,1,cV.Ym],[cJ,5,5*cV.Ym],[cJ,15,15*cV.Ym],[cJ,30,30*cV.Ym],[a,1,cV.yB],[a,5,5*cV.yB],[a,15,15*cV.yB],[a,30,30*cV.yB],[i,1,cV.Y2],[i,3,3*cV.Y2],[i,6,6*cV.Y2],[i,12,12*cV.Y2],[r,1,cV.UD],[r,2,2*cV.UD],[n,1,cV.iM],[t,1,cV.jz],[t,3,3*cV.jz],[e,1,cV.qz]];function l(t,n,r){let i=Math.abs(n-t)/r,a=(0,cY.Z)(([,,e])=>e).right(o,i);if(a===o.length)return e.every((0,cG.ly)(t/cV.qz,n/cV.qz,r));if(0===a)return cZ.every(Math.max((0,cG.ly)(t,n,r),1));let[l,u]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return l.every(u)}return[function(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&"function"==typeof n.range?n:l(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a},l]}c3.range;let[c6,c4]=c5(r9.Z,c3,r3.Ox,r5.Z,c2,c1),[c8,c9]=c5(r8.Z,c0,r6.OM,r4.Z,cK,
14cQ);var c7=n(47123);function fe(e){return new Date(e)}function ft(e){return e instanceof Date?+e:+new Date(+e)}function fn(e,t,n,r,i,a,o,l,u,s){var c=cx()(cg,cg),f=c.invert,h=c.domain,d=s(".%L"),p=s(":%S"),g=s("%I:%M"),m=s("%I %p"),y=s("%a %d"),v=s("%b %d"),b=s("%B"),x=s("%Y");function _(e){return(u(e)<e?d:l(e)<e?p:o(e)<e?g:a(e)<e?m:r(e)<e?i(e)<e?y:v:n(e)<e?b:x)(e)}return c.invert=function(e){return new Date(f(e))},c.domain=function(e){return arguments.length?h(Array.from(e,ft)):h().map(fe)},c.ticks=function(t){var n=h();return e(n[0],n[n.length-1],null==t?10:t)},c.tickFormat=function(e,t){return null==t?_:s(t)},c.nice=function(e){var n=h();return e&&"function"==typeof e.range||(e=t(n[0],n[n.length-1],null==e?10:e)),e?h(cM(n,e)):c},c.copy=function(){return cb(c,fn(e,t,n,r,i,a,o,l,u,s))},c}function fr(){var e,t,n,r,i,a=0,o=1,l=cg,u=!1;function s(t){return null==t||isNaN(t=+t)?i:l(0===n?.5:(t=(r(t)-e)*n,u?Math.max(0,Math.min(1,t)):t))}function c(e){return function(t){var n,r;return arguments.length?([n,r]=t,l=e(n,r),s):[l(0),l(1)]}}return s.domain=function(i){return arguments.length?([a,o]=i,n=(e=r(a=+a))===(t=r(o=+o))?0:1/(t-e),s):[a,o]},s.clamp=function(e){return arguments.length?(u=!!e,s):u},s.interpolator=function(e){return arguments.length?(l=e,s):l},s.range=c(cf),s.rangeRound=c(ch),s.unknown=function(e){return arguments.length?(i=e,s):i},function(i){return r=i,n=(e=i(a))===(t=i(o))?0:1/(t-e),s}}function fi(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function fa(){var e=c$(fr()(cg));return e.copy=function(){return fi(e,fa())},cw.apply(e,arguments)}function fo(){var e=cI(fr());return e.copy=function(){return fi(e,fo()).exponent(e.exponent())},cw.apply(e,arguments)}function fl(e,t){void 0===t&&(t=e,e=cf);for(var n=0,r=t.length-1,i=t[0],a=Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return a[t](e-t)}}function fu(){var e,t,n,r,i,a,o,l=0,u=.5,s=1,c=1,f=cg,h=!1;function d(e){return isNaN(e=+e)?o:(e=.5+((e=+a(e))-t)*(c*e<c*t?r:i),f(h?Math.max(0,Math.min(1,e)):e))}function p(e){return function(t){var n,r,i;return arguments.length?([n,r,i]=t,f=fl(e,[n,r,i]),d):[f(0),f(.5),f(1)]}}return d.domain=function(o){return arguments.length?([l,u,s]=o,e=a(l=+l),t=a(u=+u),n=a(s=+s),r=e===t?0:.5/(t-e),i=t===n?0:.5/(n-t),c=t<e?-1:1,d):[l,u,s]},d.clamp=function(e){return arguments.length?(h=!!e,d):h},d.interpolator=function(e){return arguments.length?(f=e,d):f},d.range=p(cf),d.rangeRound=p(ch),d.unknown=function(e){return arguments.length?(o=e,d):o},function(o){return a=o,e=o(l),t=o(u),n=o(s),r=e===t?0:.5/(t-e),i=t===n?0:.5/(n-t),c=t<e?-1:1,d}}function fs(){var e=cI(fu());return e.copy=function(){return fi(e,fs()).exponent(e.exponent())},cw.apply(e,arguments)}var fc=n(28419);let ff=Symbol("implicit");function fh(){var e=new fc.L,t=[],n=[],r=ff;function i(i){let a=e.get(i);if(void 0===a){if(r!==ff)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();for(let r of(t=[],e=new fc.L,n))e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return fh(t,n).unknown(r)},c_.apply(i,arguments),i}function fd(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}function fp(e,t){var n=s6(+e,+t);return function(e){var t=n(e);return t-360*Math.floor(t/360)}}var fg=180/Math.PI,fm={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function fy(e,t,n,r,i,a){var o,l,u;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(u=e*n+t*r)&&(n-=e*u,r-=t*u),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,u/=l),e*r<t*n&&(e=-e,t=-t,u=-u,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*fg,skewX:Math.atan(u)*fg,scaleX:o,scaleY:l}}function fv(e,t,n,r){function i(e){return e.length?e.pop()+" ":""}return function(a,o){var l,u,s,c,f=[],h=[];return a=e(a),o=e(o),!function(e,r,i,a,o,l){if(e!==i||r!==a){var u=o.push("translate(",null,t,null,n);l.push({i:u-4,x:co(e,i)},{i:u-2,x:co(r,a)})}else(i||a)&&o.push("translate("+i+t+a+n)}
14(a.translateX,a.translateY,o.translateX,o.translateY,f,h),(l=a.rotate)!==(u=o.rotate)?(l-u>180?u+=360:u-l>180&&(l+=360),h.push({i:f.push(i(f)+"rotate(",null,r)-2,x:co(l,u)})):u&&f.push(i(f)+"rotate("+u+r),(s=a.skewX)!==(c=o.skewX)?h.push({i:f.push(i(f)+"skewX(",null,r)-2,x:co(s,c)}):c&&f.push(i(f)+"skewX("+c+r),!function(e,t,n,r,a,o){if(e!==n||t!==r){var l=a.push(i(a)+"scale(",null,",",null,")");o.push({i:l-4,x:co(e,n)},{i:l-2,x:co(t,r)})}else(1!==n||1!==r)&&a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,f,h),a=o=null,function(e){for(var t,n=-1,r=h.length;++n<r;)f[(t=h[n]).i]=t.x(e);return f.join("")}}}var fb=fv(function(e){let t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?fm:fy(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),fx=fv(function(e){return null==e?fm:(vQ||(vQ=document.createElementNS("http://www.w3.org/2000/svg","g")),vQ.setAttribute("transform",e),e=vQ.transform.baseVal.consolidate())?fy((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):fm},", ",")",")");function f_(e){return((e=Math.exp(e))+1/e)/2}var fw=function e(t,n,r){function i(e,i){var a,o,l=e[0],u=e[1],s=e[2],c=i[0],f=i[1],h=i[2],d=c-l,p=f-u,g=d*d+p*p;if(g<1e-12)o=Math.log(h/s)/t,a=function(e){return[l+e*d,u+e*p,s*Math.exp(t*e*o)]};else{var m=Math.sqrt(g),y=(h*h-s*s+r*g)/(2*s*n*m),v=(h*h-s*s-r*g)/(2*h*n*m),b=Math.log(Math.sqrt(y*y+1)-y);o=(Math.log(Math.sqrt(v*v+1)-v)-b)/t,a=function(e){var r,i,a=e*o,c=f_(b),f=s/(n*m)*(c*(((r=Math.exp(2*(r=t*a+b)))-1)/(r+1))-((i=Math.exp(i=b))-1/i)/2);return[l+f*d,u+f*p,s*c/f_(t*a+b)]}}return a.duration=1e3*o*t/Math.SQRT2,a}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i}(Math.SQRT2,2,4);function fA(e){return function(t,n){var r=e((t=(0,sK.Ym)(t)).h,(n=(0,sK.Ym)(n)).h),i=s4(t.s,n.s),a=s4(t.l,n.l),o=s4(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=a(e),t.opacity=o(e),t+""}}}var fE=fA(s6),fk=fA(s4),fC=n(44087);let fD=Math.PI/180,fF=180/Math.PI,f$=4/29,fM=6/29,fS=3*fM*fM,fN=fM*fM*fM;function fO(e){if(e instanceof fT)return new fT(e.l,e.a,e.b,e.opacity);if(e instanceof fI)return fU(e);e instanceof sK.Ss||(e=(0,sK.SU)(e));var t,n,r=fP(e.r),i=fP(e.g),a=fP(e.b),o=fz((.2225045*r+.7168786*i+.0606169*a)/1);return r===i&&i===a?t=n=o:(t=fz((.4360747*r+.3850649*i+.1430804*a)/.96422),n=fz((.0139322*r+.0971045*i+.7141733*a)/.82521)),new fT(116*o-16,500*(t-o),200*(o-n),e.opacity)}function fB(e,t,n,r){return 1==arguments.length?fO(e):new fT(e,t,n,null==r?1:r)}function fT(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}function fz(e){return e>fN?Math.pow(e,1/3):e/fS+f$}function fR(e){return e>fM?e*e*e:fS*(e-f$)}function fL(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function fP(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function fj(e,t,n,r){return 1==arguments.length?function(e){if(e instanceof fI)return new fI(e.h,e.c,e.l,e.opacity);if(e instanceof fT||(e=fO(e)),0===e.a&&0===e.b)return new fI(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*fF;return new fI(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}(e):new fI(e,t,n,null==r?1:r)}function fI(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function fU(e){if(isNaN(e.h))return new fT(e.l,0,0,e.opacity);var t=e.h*fD;return new fT(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}function fq(e,t){var n=s4((e=fB(e)).l,(t=fB(t)).l),r=s4(e.a,t.a),i=s4(e.b,t.b),a=s4(e.opacity,t.opacity);return function(t){return e.l=n(t),e.a=r(t),e.b=i(t),e.opacity=a(t),e+""}}function fW(e){return function(t,n){var r=e((t=fj(t)).h,(n=fj(n)).h),i=s4(t.c,n.c),a=s4(t.l,n.l),o=s4(t.opacity,n.opacity);return function(e){return t.h=r(e),t.c=i(e),t.l=a(e),t.opacity=o(e),t+""}}}(0,fC.Z)(fT,fB,(0,fC.l)(sK.Il,{brighter:function(e){return new fT(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new fT(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=.96422*fR(t),e=1*fR(e),n=.82521*fR(n),new sK.Ss(fL(3.1338561*t-1.6168667*e-.4906146*n),fL(-.9787684*t+1.9161415*e+.033454*n),fL(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),(0,fC.Z)(fI,fj,(0,fC.l)(sK.Il,{brighter:function(e){return new fI(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker:function(e){return new fI(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb:function(){return fU(this).rgb()}}));var fH=fW(s6),fY=fW(s4),fG=-1.78277*.29227-.1347134789;function fV(e,t,n,r){return 1==arguments.length?function(e){if(e instanceof fX)return new fX(e.h,e.s,e.l,e.opacity);e instanceof sK.Ss||(e=(0,sK.SU)(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(fG*r+-1.7884503806*t-3.5172982438*n)/(fG+-1.7884503806-3.5172982438),a=r-i,o=-((1.97294*(n-i)- -.29227*a
14)/.90649),l=Math.sqrt(o*o+a*a)/(1.97294*i*(1-i)),u=l?Math.atan2(o,a)*fF-120:NaN;return new fX(u<0?u+360:u,l,i,e.opacity)}(e):new fX(e,t,n,null==r?1:r)}function fX(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function fZ(e){return function t(n){function r(t,r){var i=e((t=fV(t)).h,(r=fV(r)).h),a=s4(t.s,r.s),o=s4(t.l,r.l),l=s4(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=a(e),t.l=o(Math.pow(e,n)),t.opacity=l(e),t+""}}return n=+n,r.gamma=t,r}(1)}(0,fC.Z)(fX,fV,(0,fC.l)(sK.Il,{brighter:function(e){return e=null==e?sK.J5:Math.pow(sK.J5,e),new fX(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?sK.xV:Math.pow(sK.xV,e),new fX(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*fD,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new sK.Ss(255*(t+n*(-.14861*r+1.78277*i)),255*(t+n*(-.29227*r+-.90649*i)),255*(t+n*(1.97294*r)),this.opacity)}}));var fJ=fZ(s6),fQ=fZ(s4);function fK(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}function f0(e,t,n){let r=e-t+2*n;return e?r>0?r:1:0}let f1="linear",f2="sqrt",f3="symlog",f5="time",f6="sequential",f4="diverging",f8="quantile",f9="quantize",f7="threshold",he="ordinal",ht="point",hn="band",hr="bin-ordinal",hi="continuous",ha="discrete",ho="discretizing",hl="interpolating",hu="temporal";function hs(){let e=fh().unknown(void 0),t=e.domain,n=e.range,r=[0,1],i,a,o=!1,l=0,u=0,s=.5;function c(){let e=t().length,c=r[1]<r[0],f=r[1-c],h=f0(e,l,u),d=r[c-0];i=(f-d)/(h||1),o&&(i=Math.floor(i)),d+=(f-d-i*(e-l))*s,a=i*(1-l),o&&(d=Math.round(d),a=Math.round(a));let p=(function(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),a=Array(i);++r<i;)a[r]=e+r*n;return a})(e).map(e=>d+i*e);return n(c?p.reverse():p)}return delete e.unknown,e.domain=function(e){return arguments.length?(t(e),c()):t()},e.range=function(e){return arguments.length?(r=[+e[0],+e[1]],c()):r.slice()},e.rangeRound=function(e){return r=[+e[0],+e[1]],o=!0,c()},e.bandwidth=function(){return a},e.step=function(){return i},e.round=function(e){return arguments.length?(o=!!e,c()):o},e.padding=function(e){return arguments.length?(l=u=Math.max(0,Math.min(1,e)),c()):l},e.paddingInner=function(e){return arguments.length?(l=Math.max(0,Math.min(1,e)),c()):l},e.paddingOuter=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),c()):u},e.align=function(e){return arguments.length?(s=Math.max(0,Math.min(1,e)),c()):s},e.invertRange=function(e){if(null==e[0]||null==e[1])return;let i=r[1]<r[0],o=i?n().reverse():n(),l=o.length-1,u=+e[0],s=+e[1],c,f,h;if(u==u&&s==s&&(s<u&&(h=u,u=s,s=h),!(s<o[0])&&!(u>r[1-i])))return c=Math.max(0,sY(o,u)-1),f=u===s?c:sY(o,s)-1,u-o[c]>a+1e-10&&++c,i&&(h=c,c=l-f,f=l-h),c>f?void 0:t().slice(c,f+1)},e.invert=function(t){let n=e.invertRange([t,t]);return n?n[0]:n},e.copy=function(){return hs().domain(t()).range(r).round(o).paddingInner(l).paddingOuter(u).align(s)},c()}var hc=Array.prototype.map;let hf=Array.prototype.slice,hh=new Map,hd=Symbol("vega_scale");function hp(e,t,n){return arguments.length>1?(hh.set(e,function(e,t,n){let r=function(){let n=t();return n.invertRange||(n.invertRange=n.invert?function(e){let t=e[0],r=e[1],i;return r<t&&(i=t,t=r,r=i),[n.invert(t),n.invert(r)]}:n.invertExtent?function(e){let t=n.range(),r=e[0],i=e[1],a=-1,o,l,u,s;for(i<r&&(l=r,r=i,i=l),u=0,s=t.length;u<s;++u)t[u]>=r&&t[u]<=i&&(a<0&&(a=u),o=u);if(!(a<0))return r=n.invertExtent(t[a]),i=n.invertExtent(t[o]),[void 0===r[0]?r[1]:r[0],void 0===i[1]?i[0]:i[1]]}:void 0),n.type=e,n[hd]=!0,n};return r.metadata=t0(tm(n)),r}(e,t,n)),this):hh.has(e)?hh.get(e):void 0}function hg(e,t){let n=hh.get(e);return n&&n.metadata[t]}hp("identity",function e(t){var n;function r(e){return null==e||isNaN(e=+e)?n:e}return r.invert=r,r.domain=r.range=function(e){return arguments.length?(t=Array.from(e,cd),r):t.slice()},r.unknown=function(e){return arguments.length?(n=e,r):n},r.copy=function(){return e(t).unknown(n)},t=arguments.length?Array.from(t,cd):[0,1],c$(r)}),hp(f1,function e(){var t=cx()(cg,cg);return t.copy=function(){return cb(t,e())},c_.apply(t,arguments),c$(t)},hi),hp("log",function e(){let t=cR(cx()).domain([1,10]);return t.copy=()=>cb(t,e()).base(t.base()),c_.apply(t,arguments),t},[hi,"log"]),hp("pow",cU,hi),hp(f2,function(){return cU.apply(null,arguments).exponent(.5)},hi),hp(f3,function e(){var t=cH(cx());return t.copy=function(){return cb(t,e()).constant(t.constant())},c_.apply(t,arguments)},hi),hp(f5,function(){return c_.apply(fn(c8,c9,r8.Z,c0,r6.OM,r4.Z,cK,
14cQ,cJ,c7.i$).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},[hi,hu]),hp("utc",function(){return c_.apply(fn(c6,c4,r9.Z,c3,r3.Ox,r5.Z,c2,c1,cJ,c7.g0).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[hi,hu]),hp(f6,fa,[hi,hl]),hp(`${f6}-${f1}`,fa,[hi,hl]),hp(`${f6}-log`,function e(){var t=cR(fr()).domain([1,10]);return t.copy=function(){return fi(t,e()).base(t.base())},cw.apply(t,arguments)},[hi,hl,"log"]),hp(`${f6}-pow`,fo,[hi,hl]),hp(`${f6}-${f2}`,function(){return fo.apply(null,arguments).exponent(.5)},[hi,hl]),hp(`${f6}-${f3}`,function e(){var t=cH(fr());return t.copy=function(){return fi(t,e()).constant(t.constant())},cw.apply(t,arguments)},[hi,hl]),hp(`${f4}-${f1}`,function e(){var t=c$(fu()(cg));return t.copy=function(){return fi(t,e())},cw.apply(t,arguments)},[hi,hl]),hp(`${f4}-log`,function e(){var t=cR(fu()).domain([.1,1,10]);return t.copy=function(){return fi(t,e()).base(t.base())},cw.apply(t,arguments)},[hi,hl,"log"]),hp(`${f4}-pow`,fs,[hi,hl]),hp(`${f4}-${f2}`,function(){return fs.apply(null,arguments).exponent(.5)},[hi,hl]),hp(`${f4}-${f3}`,function e(){var t=cH(fu());return t.copy=function(){return fi(t,e()).constant(t.constant())},cw.apply(t,arguments)},[hi,hl]),hp(f8,function e(){var t,n=[],r=[],i=[];function a(){var e=0,t=Math.max(1,r.length);for(i=Array(t-1);++e<t;)i[e-1]=function(e,t,n=sW){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}(n,e/t);return o}function o(e){return null==e||isNaN(e=+e)?t:r[sY(i,e)]}return o.invertExtent=function(e){var t=r.indexOf(e);return t<0?[NaN,NaN]:[t>0?i[t-1]:n[0],t<i.length?i[t]:n[n.length-1]]},o.domain=function(e){if(!arguments.length)return n.slice();for(let t of(n=[],e))null==t||isNaN(t=+t)||n.push(t);return n.sort(sj),a()},o.range=function(e){return arguments.length?(r=Array.from(e),a()):r.slice()},o.unknown=function(e){return arguments.length?(t=e,o):t},o.quantiles=function(){return i.slice()},o.copy=function(){return e().domain(n).range(r).unknown(t)},c_.apply(o,arguments)},[ho,f8]),hp(f9,function e(){var t,n=0,r=1,i=1,a=[.5],o=[0,1];function l(e){return null!=e&&e<=e?o[sY(a,e,0,i)]:t}function u(){var e=-1;for(a=Array(i);++e<i;)a[e]=((e+1)*r-(e-i)*n)/(i+1);return l}return l.domain=function(e){return arguments.length?([n,r]=e,n=+n,r=+r,u()):[n,r]},l.range=function(e){return arguments.length?(i=(o=Array.from(e)).length-1,u()):o.slice()},l.invertExtent=function(e){var t=o.indexOf(e);return t<0?[NaN,NaN]:t<1?[n,a[0]]:t>=i?[a[i-1],r]:[a[t-1],a[t]]},l.unknown=function(e){return arguments.length&&(t=e),l},l.thresholds=function(){return a.slice()},l.copy=function(){return e().domain([n,r]).range(o).unknown(t)},c_.apply(c$(l),arguments)},ho),hp(f7,function e(){var t,n=[.5],r=[0,1],i=1;function a(e){return null!=e&&e<=e?r[sY(n,e,0,i)]:t}return a.domain=function(e){return arguments.length?(i=Math.min((n=Array.from(e)).length,r.length-1),a):n.slice()},a.range=function(e){return arguments.length?(r=Array.from(e),i=Math.min(n.length,r.length-1),a):r.slice()},a.invertExtent=function(e){var t=r.indexOf(e);return[n[t-1],n[t]]},a.unknown=function(e){return arguments.length?(t=e,a):t},a.copy=function(){return e().domain(n).range(r).unknown(t)},c_.apply(a,arguments)},ho),hp(hr,function e(){let t=[],n=[];function r(e){return null==e||e!=e?void 0:n[(sY(t,e)-1)%n.length]}return r.domain=function(e){return arguments.length?(t=hc.call(e,e9),r):t.slice()},r.range=function(e){return arguments.length?(n=hf.call(e),r):n.slice()},r.tickFormat=function(e,n){return cF(t[0],e8(t),null==e?10:e,n)},r.copy=function(){return e().domain(r.domain()).range(r.range())},r},[ha,ho]),hp(he,fh,ha),hp(hn,hs,ha),hp(ht,function(){return function e(t){let n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,t.copy=function(){return e(n())},t}(hs().paddingInner(1))},ha);let hm=["clamp","base","constant","exponent"];function hy(e,t){let n=t[0],r=e8(t)-n;return function(t){return e(n+t*r)}}function hv(e,t,n){return fl(h_(t||"rgb",n),e)}function hb(e,t){let n=Array(t),r=t+1;for(let i=0;i<t;)n[i]=e(++i/r);return n}
14function hx(e,t,n){let r,i,a;let o=n-t;return o&&Number.isFinite(o)?(a=hp(i=(r=(i=e.type).indexOf("-"))<0?i:i.slice(r+1))().domain([t,n]).range([0,1]),hm.forEach(t=>e[t]?a[t](e[t]()):0),a):tE(.5)}function h_(e,t){let n=j["interpolate"+e.toLowerCase().split("-").map(e=>e[0].toUpperCase()+e.slice(1)).join("")];return null!=t&&n&&n.gamma?n.gamma(t):n}function hw(e){let t=e.length/6|0,n=Array(t);for(let r=0;r<t;)n[r]="#"+e.slice(6*r,6*++r);return n}function hA(e,t){for(let n in e)hk(n,t(e[n]))}let hE={};function hk(e,t){return(e=e&&e.toLowerCase(),arguments.length>1)?(hE[e]=t,this):hE[e]}hA({category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"},hw),hA({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033
14059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},e=>hv(hw(e)));let hC="symbol",hD=e=>e2(e)?e.map(e=>String(e)):String(e),hF=(e,t)=>e[1]-t[1],h$=(e,t)=>t[1]-e[1];function hM(e,t,n){let r;return tP(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),null!=n&&(t=Math.min(t,Math.floor(tV(e.domain())/n||1)))),e3(t)&&(r=t.step,t=t.interval),tI(t)&&(t=e.type===f5?rR(t):"utc"==e.type?rL(t):ej("Only time and utc scales accept interval strings."),r&&(t=t.every(r))),t}function hS(e,t,n){let r=e.range(),i=r[0],a=e8(r),o=hF;if(i>a&&(r=a,a=i,i=r,o=h$),i=Math.floor(i),a=Math.ceil(a),t=t.map(t=>[t,e(t)]).filter(e=>i<=e[1]&&e[1]<=a).sort(o).map(e=>e[0]),n>0&&t.length>1){let e=[t[0],e8(t)];for(;t.length>n&&t.length>=3;)t=t.filter((e,t)=>!(t%2));t.length<3&&(t=e)}return t}function hN(e,t){return e.bins?hS(e,e.bins):e.ticks?e.ticks(t):e.domain()}function hO(e,t,n,r,i,a){let o=t.type,l=hD;if(o===f5||i===f5)l=e.timeFormat(r);else if("utc"===o||"utc"===i)l=e.utcFormat(r);else if(hg(o,"log")){let i=e.formatFloat(r);if(a||t.bins)l=i;else{let e=hB(t,n,!1);l=t=>e(t)?i(t):""}}else if(t.tickFormat){let i=t.domain();l=e.formatSpan(i[0],i[i.length-1],n,r)}else r&&(l=e.format(r));return l}function hB(e,t,n){let r=hN(e,t),i=e.base(),a=Math.log(i),o=Math.max(1,i*t/r.length),l=e=>{let t=e/Math.pow(i,Math.round(Math.log(e)/a));return t*i<i-.5&&(t*=i),t<=o};return n?r.filter(l):l}let hT={[f8]:"quantiles",[f9]:"thresholds",[f7]:"domain"},hz={[f8]:"quantiles",[f9]:"domain"};function hR(e,t){return e.bins?function(e){let t=e.slice(0,-1);return t.max=e8(e),t}(e.bins):"log"===e.type?hB(e,t,!0):hT[e.type]?function(e){let t=[-1/0].concat(e);return t.max=Infinity,t}(e[hT[e.type]]()):hN(e,t)}let hL=e=>hT[e.type]||e.bins;function hP(e,t,n,r,i,a,o){let l=hz[t.type]&&a!==f5&&"utc"!==a?function(e,t,n){let r=t[hz[t.type]](),i=r.length,a=i>1?r[1]-r[0]:r[0],o;for(o=1;o<i;++o)a=Math.min(a,r[o]-r[o-1]);return e.formatSpan(0,a,30,n)}(e,t,i):hO(e,t,n,i,a,o);return r===hC&&hL(t)?hj(l):"discrete"===r?hU(l):hq(l)}let hj=e=>(t,n,r)=>
14{let i=hI(r[n+1],hI(r.max,Infinity)),a=hW(t,e),o=hW(i,e);return a&&o?a+" – "+o:o?"< "+o:"≥ "+a},hI=(e,t)=>null!=e?e:t,hU=e=>(t,n)=>n?e(t):null,hq=e=>t=>e(t),hW=(e,t)=>Number.isFinite(e)?t(e):null;function hH(e,t,n){n=n||{};let r=Math.max(3,n.maxlen||7),i=function(e,t,n,r){let i=r||t.type;return tI(n)&&hg(i,hu)&&(n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")),n||i!==f5?n||"utc"!==i?hP(e,t,5,null,n,r,!0):e.utcFormat("%A, %d %B %Y, %X UTC"):e.timeFormat("%A, %d %B %Y, %X")}(e,t,n.format,n.formatType);if(hg(t.type,ho)){let e=hR(t).slice(1).map(i),n=e.length;return`${n} boundar${1===n?"y":"ies"}: ${e.join(", ")}`}if(hg(t.type,ha)){let e=t.domain(),n=e.length,a=n>r?e.slice(0,r-2).map(i).join(", ")+", ending with "+e.slice(-1).map(i):e.map(i).join(", ");return`${n} value${1===n?"":"s"}: ${a}`}{let e=t.domain();return`values from ${i(e[0])} to ${i(e8(e))}`}}let hY=0;function hG(e){return e&&e.gradient}function hV(e,t,n){let r=e.gradient,i=e.id,a="radial"===r?"p_":"";return i||(i=e.id="gradient_"+hY++,"radial"===r?(e.x1=hX(e.x1,.5),e.y1=hX(e.y1,.5),e.r1=hX(e.r1,0),e.x2=hX(e.x2,.5),e.y2=hX(e.y2,.5),e.r2=hX(e.r2,.5),a="p_"):(e.x1=hX(e.x1,0),e.y1=hX(e.y1,0),e.x2=hX(e.x2,1),e.y2=hX(e.y2,0))),t[i]=e,"url("+(n||"")+"#"+a+i+")"}function hX(e,t){return null!=e?e:t}function hZ(e,t){var n,r=[];return n={gradient:"linear",x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:r,stop:function(e,t){return r.push({offset:e,color:t}),n}}}let hJ={basis:{curve:function(e){return new uP(e)}},"basis-closed":{curve:function(e){return new uI(e)}},"basis-open":{curve:function(e){return new uU(e)}},bundle:{curve:uW,tension:"beta",value:.85},cardinal:{curve:uG,tension:"tension",value:0},"cardinal-open":{curve:uX,tension:"tension",value:0},"cardinal-closed":{curve:uJ,tension:"tension",value:0},"catmull-rom":{curve:st,tension:"alpha",value:.5},"catmull-rom-closed":{curve:sr,tension:"alpha",value:.5},"catmull-rom-open":{curve:sa,tension:"alpha",value:.5},linear:{curve:sl},"linear-closed":{curve:function(e){return new su(e)}},monotone:{horizontal:function(e){return new sd(e)},vertical:function(e){return new sh(e)}},natural:{curve:function(e){return new sg(e)}},step:{curve:function(e){return new sy(e,.5)}},"step-after":{curve:function(e){return new sy(e,1)}},"step-before":{curve:function(e){return new sy(e,0)}}};function hQ(e,t,n){var r=tM(hJ,e)&&hJ[e],i=null;return r&&(i=r.curve||r[t||"vertical"],r.tension&&null!=n&&(i=i[r.tension](n))),i}let hK={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},h0=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,h1=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,h2=/^((\s+,?\s*)|(,\s*))/,h3=/^[01]/;function h5(e){let t=[],n=e.match(h0)||[];return n.forEach(e=>{let n=e[0],r=n.toLowerCase(),i=hK[r],a=function(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let a=0;a<t;++a){let t="a"===e&&(3===a||4===a)?h3:h1,o=n.slice(i).match(t);if(null===o)throw Error("Invalid SVG path, incorrect parameter type");i+=o[0].length,r.push(+o[0]);let l=n.slice(i).match(h2);null!==l&&(i+=l[0].length)}return r}(r,i,e.slice(1).trim()),o=a.length;if(o<i||o&&o%i!=0)throw Error("Invalid SVG path, incorrect parameter count");if(t.push([n,...a.slice(0,i)]),o!==i){"m"===r&&(n="M"===n?"L":"l");for(let e=i;e<o;e+=i)t.push([n,...a.slice(e,e+i)])}}),t}let h6=Math.PI/180,h4=Math.PI/2,h8=2*Math.PI,h9=Math.sqrt(3)/2;var h7={},de={},dt=[].join;let dn=["l",0,0,0,0,0,0,0];function dr(e,t,n,r,i,a){var o,l,u,s,c,f=null,h=0,d=0,p=0,g=0,m=0,y=0;null==n&&(n=0),null==r&&(r=0),null==i&&(i=1),null==a&&(a=i),e.beginPath&&e.beginPath();for(var v=0,b=t.length;v<b;++v){switch(o=t[v],(1!==i||1!==a)&&(o=function(e,t,n){let r=dn[0]=e[0];if("a"===r||"A"===r)dn[1]=t*e[1],dn[2]=n*e[2],dn[3]=e[3],dn[4]=e[4],dn[5]=e[5],dn[6]=t*e[6],dn[7]=n*e[7];else if("h"===r||"H"===r)dn[1]=t*e[1];else if("v"===r||"V"===r)dn[1]=n*e[1];else for(var i=1,a=e.length;i<a;++i)dn[i]=(i%2==1?t:n)*e[i];return dn}(o,i,a)),o[0]){case"l":h+=o[1],d+=o[2],e.lineTo(h+n,d+r);break;case"L":h=o[1],d=o[2],e.lineTo(h+n,d+r);break;case"h":h+=o[1],e.lineTo(h+n,d+r);break;case"H":h=o[1],e.lineTo(h+n,d+r);break;case"v":d+=o[1],e.lineTo(h+n,d+r);break;case"V":d=o[1],e.lineTo(h+n,d+r);break;case"m":h+=o[1],d+=o[2],m=h,y=d,e.moveTo(h+n,d+r);break;case"M":h=o[1],d=o[2],m=h,y=d,e.moveTo(h+n,d+r);break;case"c":l=h+o[5],u=d+o[6],p=h+o[3],g=d+o[4],e.bezierCurveTo(h+o[1]+n,d+o[2]+r,p+n,g+r,l+n,u+r),h=l,d=u;break;case"C":h=o[5],d=o[6],p=o[3],g=o[4],e.bezierCurveTo(o[1]+n,o[2]+r,p+n,g+r,h+n,d+r);break;case"s":l=h+o[3],u=d+o[4],p=2*h-p,g=2*d-g,e.bezierCurveTo(p+n,g+r,h+o[1]+n,d+o[2]+r,l+n,u+r),p=h+o[1],g=d+o[2],h=l,d=u;break;case"S":l=o[3],u=o[4],p=2*h-p,g=2*d-g,e.bezierCurveTo(p+n,g+r,o[1]+n,o[2]+r,l+n,u+r),h=l,d=u,p=o[1],g=o[2];break;case"q":l=h+o[3],u=d+o[4],p=h+o[1],g=d+o[2],e.quadraticCurveTo(p+n,g+r,l+n,u+r),h=l,d=u;break;case"Q":l=o[3],u=o[4],e.quadraticCurveTo(o[1]+n,o[2]+r,l+n,u+r),h=l,d=u,p=o[1],g=o[2];break;case"t":l=h+o[1],u=d+o[2],null===f[0].match(/[QqTt]/)?(p=h,g=d):"t"===f[0]?(p=2*h-s,g=2*d-c):"q"===f[0]&&(p=2*h-p,g=2*d-g),s=p,c=g,e.quadraticCurveTo(p+n,g+r,l+n,u+r),h=l,d=u,p=h+o[1],g=d+o[2];break;case"T":l=o[1],u=o[2],p=2*h-p,g=2*d-g,e.quadraticCurveTo(p+n,g+r,l+n,u+r),h=l,d=u;break;case"a":di(e,h+n,d+r,[o[1],o[2],o[3],o[4],o[5],o[6]+h+n,o[7]+d+r]),h+=o[6],d+=o[7];break;case"A":di(e,h+n,d+r,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+r]),h=o[6],d=o[7];break;case"z":case"Z":h=m,d=y,e.closePath()}f=o}}function di(e,t,n,r){let i=function(e,t,n,r,i,a,o,l,u){let s=dt.call(arguments);if(h7[s])return h7[s];let c=o*h6,f=Math.sin(c),h=Math.cos(c);n=Math.abs(n),r=Math.abs(r);let d=h*(l-e)*.5+f*(u-t)*.5,p=h*(u-t)*.5-f*(l-e)*.5,g=d*d/(n*n)+p*p/(r*r);g>1&&(n*=g=Math.sqrt(g),r*=g);let m=h/n,y=f/n,v=-f/r,b=h/r,x=m*l+y*u,_=v*l+b*u,w=m*e+y*t,A=v*e+b*t,E=1/((w-x)*(w-x)+(A-_)*(A-_))-.25;E<0&&(E=0);let k=Math.sqrt(E);a==i&&(k=-k);let C=.5*(x+w)-k*(A-_),D=.5*(_+A)+k*(w-x),F=Math.atan2(_-D,x-C),$=Math.atan2(A-D,w-C)-F;$<0&&1===a?$+=h8:$>0&&0===a&&($-=h8);let M=Math.ceil(Math.abs($/(h4+.001))),S=[];for(let e=0;e<M;++e){let t=F+e*$/M,i=F+(e+1)*$/M;S[e]=[C,D,t,i,n,r,f,h]}return h7[s]=S}(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let t=0;t<i.length;++t){let n=function(e){let t=dt.call(e);
14if(de[t])return de[t];var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],l=e[5],u=e[6],s=e[7];let c=s*o,f=-u*l,h=u*o,d=s*l,p=Math.cos(i),g=Math.sin(i),m=Math.cos(a),y=Math.sin(a),v=.5*(a-i),b=Math.sin(.5*v),x=8/3*b*b/Math.sin(v),_=n+p-x*g,w=r+g+x*p,A=n+m,E=r+y,k=A+x*y,C=E-x*m;return de[t]=[c*_+f*w,h*_+d*w,c*k+f*C,h*k+d*C,c*A+f*E,h*A+d*E]}(i[t]);e.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5])}}let da={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,h8)}},cross:{draw:function(e,t){var n=Math.sqrt(t)/2,r=n/2.5;e.moveTo(-n,-r),e.lineTo(-n,r),e.lineTo(-r,r),e.lineTo(-r,n),e.lineTo(r,n),e.lineTo(r,r),e.lineTo(n,r),e.lineTo(n,-r),e.lineTo(r,-r),e.lineTo(r,-n),e.lineTo(-r,-n),e.lineTo(-r,-r),e.closePath()}},diamond:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(-n,0),e.lineTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.closePath()}},square:{draw:function(e,t){var n=Math.sqrt(t),r=-n/2;e.rect(r,r,n,n)}},arrow:{draw:function(e,t){var n=Math.sqrt(t)/2,r=n/7,i=n/2.5,a=n/8;e.moveTo(-r,n),e.lineTo(r,n),e.lineTo(r,-a),e.lineTo(i,-a),e.lineTo(0,-n),e.lineTo(-i,-a),e.lineTo(-r,-a),e.closePath()}},wedge:{draw:function(e,t){var n=Math.sqrt(t)/2,r=h9*n,i=r-.5773502691896257*n,a=n/4;e.moveTo(0,-r-i),e.lineTo(-a,r-i),e.lineTo(a,r-i),e.closePath()}},triangle:{draw:function(e,t){var n=Math.sqrt(t)/2,r=h9*n,i=r-.5773502691896257*n;e.moveTo(0,-r-i),e.lineTo(-n,r-i),e.lineTo(n,r-i),e.closePath()}},"triangle-up":{draw:function(e,t){var n=Math.sqrt(t)/2,r=h9*n;e.moveTo(0,-r),e.lineTo(-n,r),e.lineTo(n,r),e.closePath()}},"triangle-down":{draw:function(e,t){var n=Math.sqrt(t)/2,r=h9*n;e.moveTo(0,r),e.lineTo(-n,-r),e.lineTo(n,-r),e.closePath()}},"triangle-right":{draw:function(e,t){var n=Math.sqrt(t)/2,r=h9*n;e.moveTo(r,0),e.lineTo(-r,-n),e.lineTo(-r,n),e.closePath()}},"triangle-left":{draw:function(e,t){var n=Math.sqrt(t)/2,r=h9*n;e.moveTo(-r,0),e.lineTo(r,-n),e.lineTo(r,n),e.closePath()}},stroke:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(-n,0),e.lineTo(n,0)}}};function dl(e){return tM(da,e)?da[e]:function(e){if(!tM(du,e)){let t=h5(e);du[e]={draw:function(e,n){dr(e,t,0,0,Math.sqrt(n)/2)}}}return du[e]}(e)}var du={};function ds(e){return e.x}function dc(e){return e.y}function df(e){return e.width}function dh(e){return e.height}function dd(e){return"function"==typeof e?e:()=>+e}function dp(e,t,n){return Math.max(t,Math.min(e,n))}function dg(){var e=ds,t=dc,n=df,r=dh,i=dd(0),a=i,o=i,l=i,u=null;function s(s,c,f){var h,d=null!=c?c:+e.call(this,s),p=null!=f?f:+t.call(this,s),g=+n.call(this,s),m=+r.call(this,s),y=Math.min(g,m)/2,v=dp(+i.call(this,s),0,y),b=dp(+a.call(this,s),0,y),x=dp(+o.call(this,s),0,y),_=dp(+l.call(this,s),0,y);if(u||(u=h=sE()),v<=0&&b<=0&&x<=0&&_<=0)u.rect(d,p,g,m);else{var w=d+g,A=p+m;u.moveTo(d+v,p),u.lineTo(w-b,p),u.bezierCurveTo(w-.448084975506*b,p,w,p+.448084975506*b,w,p+b),u.lineTo(w,A-_),u.bezierCurveTo(w,A-.448084975506*_,w-.448084975506*_,A,w-_,A),u.lineTo(d+x,A),u.bezierCurveTo(d+.448084975506*x,A,d,A-.448084975506*x,d,A-x),u.lineTo(d,p+v),u.bezierCurveTo(d,p+.448084975506*v,d+.448084975506*v,p,d+v,p),u.closePath()}if(h)return u=null,h+""||null}return s.x=function(t){return arguments.length?(e=dd(t),s):e},s.y=function(e){return arguments.length?(t=dd(e),s):t},s.width=function(e){return arguments.length?(n=dd(e),s):n},s.height=function(e){return arguments.length?(r=dd(e),s):r},s.cornerRadius=function(e,t,n,r){return arguments.length?(i=dd(e),a=null!=t?dd(t):i,l=null!=n?dd(n):i,o=null!=r?dd(r):a,s):i},s.context=function(e){return arguments.length?(u=null==e?null:e,s):u},s}function dm(){var e,t,n,r,i,a,o,l,u=null;function s(s){var c,f,h,d=s.length,p=!1;for(null==u&&(u=h=sE()),c=0;c<=d;++c)!(c<d&&r(f=s[c],c,s))===p&&(p=!p)&&(i=0),p&&function(e,t,n){let r=n/2;if(i){var s=o-t,c=e-a;if(s||c){var f=Math.sqrt(s*s+c*c),h=(s/=f)*l,d=(c/=f)*l,p=Math.atan2(c,s);u.moveTo(a-h,o-d),u.lineTo(e-s*r,t-c*r),u.arc(e,t,r,p-Math.PI,p),u.lineTo(a+h,o+d),u.arc(a,o,l,p,p+Math.PI)}else u.arc(e,t,r,0,h8);u.closePath()}else i=1;a=e,o=t,l=r}(+e(f,c,s),+t(f,c,s),+n(f,c,s));if(h)return u=null,h+""||null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(e){return arguments.length?(t=e,s):t},s.size=function(e){return arguments.length?(n=e,s):n},s.defined=function(e){return arguments.length?(r=e,s):r},s.context=function(e){return arguments.length?(u=null==e?null:e,s):u},s}function dy(e,t){return null!=e?e:t}let dv=e=>e.x||0,db=e=>e.y||0,dx=e=>dy(e.cornerRadiusTopLeft,e.cornerRadius)||0,d_=e=>dy(e.cornerRadiusTopRight,e.cornerRadius)||0,dw=e=>dy(e.cornerRadiusBottomRight,e.cornerRadius)||0,dA=e=>dy(e.cornerRadiusBottomLeft,e.cornerRadius)||0,dE=e=>dy(e.size,64),dk=e=>!1!==e.defined,dC=e=>dl(e.shape||"circle"),dD=(function(){var e=sC,t=sD,n=sv(0),r=null,i=sF,a=s$,o=sM,l=null,u=sk(s);function s(){var s,c,f=+e.apply(this,arguments),h=+t.apply(this,arguments),d=i.apply(this,arguments)-u4,p=a.apply(this,arguments)-u4,g=uQ(p-d),m=p>d;if(l||(l=s=u()),h<f&&(c=h,h=f,f=c),h>1e-12){if(g>
14u8-1e-12)l.moveTo(h*u0(d),h*u3(d)),l.arc(0,0,h,d,p,!m),f>1e-12&&(l.moveTo(f*u0(p),f*u3(p)),l.arc(0,0,f,p,d,m));else{var y,v,b=d,x=p,_=d,w=p,A=g,E=g,k=o.apply(this,arguments)/2,C=k>1e-12&&(r?+r.apply(this,arguments):u5(f*f+h*h)),D=u2(uQ(h-f)/2,+n.apply(this,arguments)),F=D,$=D;if(C>1e-12){var M=u9(C/f*u3(k)),S=u9(C/h*u3(k));(A-=2*M)>1e-12?(M*=m?1:-1,_+=M,w-=M):(A=0,_=w=(d+p)/2),(E-=2*S)>1e-12?(S*=m?1:-1,b+=S,x-=S):(E=0,b=x=(d+p)/2)}var N=h*u0(b),O=h*u3(b),B=f*u0(w),T=f*u3(w);if(D>1e-12){var z,R=h*u0(x),L=h*u3(x),P=f*u0(_),j=f*u3(_);if(g<u6){if(z=function(e,t,n,r,i,a,o,l){var u=n-e,s=r-t,c=o-i,f=l-a,h=f*u-c*s;if(!(h*h<1e-12))return h=(c*(t-a)-f*(e-i))/h,[e+h*u,t+h*s]}(N,O,P,j,R,L,B,T)){var I,U=N-z[0],q=O-z[1],W=R-z[0],H=L-z[1],Y=1/u3(((I=(U*W+q*H)/(u5(U*U+q*q)*u5(W*W+H*H)))>1?0:I<-1?u6:Math.acos(I))/2),G=u5(z[0]*z[0]+z[1]*z[1]);F=u2(D,(f-G)/(Y-1)),$=u2(D,(h-G)/(Y+1))}else F=$=0}}E>1e-12?$>1e-12?(y=sS(P,j,N,O,h,$,m),v=sS(R,L,B,T,h,$,m),l.moveTo(y.cx+y.x01,y.cy+y.y01),$<D?l.arc(y.cx,y.cy,$,uK(y.y01,y.x01),uK(v.y01,v.x01),!m):(l.arc(y.cx,y.cy,$,uK(y.y01,y.x01),uK(y.y11,y.x11),!m),l.arc(0,0,h,uK(y.cy+y.y11,y.cx+y.x11),uK(v.cy+v.y11,v.cx+v.x11),!m),l.arc(v.cx,v.cy,$,uK(v.y11,v.x11),uK(v.y01,v.x01),!m))):(l.moveTo(N,O),l.arc(0,0,h,b,x,!m)):l.moveTo(N,O),f>1e-12&&A>1e-12?F>1e-12?(y=sS(B,T,R,L,f,-F,m),v=sS(N,O,P,j,f,-F,m),l.lineTo(y.cx+y.x01,y.cy+y.y01),F<D?l.arc(y.cx,y.cy,F,uK(y.y01,y.x01),uK(v.y01,v.x01),!m):(l.arc(y.cx,y.cy,F,uK(y.y01,y.x01),uK(y.y11,y.x11),!m),l.arc(0,0,f,uK(y.cy+y.y11,y.cx+y.x11),uK(v.cy+v.y11,v.cx+v.x11),m),l.arc(v.cx,v.cy,F,uK(v.y11,v.x11),uK(v.y01,v.x01),!m))):l.arc(0,0,f,w,_,m):l.lineTo(B,T)}}else l.moveTo(0,0);if(l.closePath(),s)return l=null,s+""||null}return s.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-u6/2;return[u0(r)*n,u3(r)*n]},s.innerRadius=function(t){return arguments.length?(e="function"==typeof t?t:sv(+t),s):e},s.outerRadius=function(e){return arguments.length?(t="function"==typeof e?e:sv(+e),s):t},s.cornerRadius=function(e){return arguments.length?(n="function"==typeof e?e:sv(+e),s):n},s.padRadius=function(e){return arguments.length?(r=null==e?null:"function"==typeof e?e:sv(+e),s):r},s.startAngle=function(e){return arguments.length?(i="function"==typeof e?e:sv(+e),s):i},s.endAngle=function(e){return arguments.length?(a="function"==typeof e?e:sv(+e),s):a},s.padAngle=function(e){return arguments.length?(o="function"==typeof e?e:sv(+e),s):o},s.context=function(e){return arguments.length?(l=null==e?null:e,s):l},s})().startAngle(e=>e.startAngle||0).endAngle(e=>e.endAngle||0).padAngle(e=>e.padAngle||0).innerRadius(e=>e.innerRadius||0).outerRadius(e=>e.outerRadius||0).cornerRadius(e=>e.cornerRadius||0),dF=sz().x(dv).y1(db).y0(e=>(e.y||0)+(e.height||0)).defined(dk),d$=sz().y(db).x1(dv).x0(e=>(e.x||0)+(e.width||0)).defined(dk),dM=sT().x(dv).y(db).defined(dk),dS=dg().x(dv).y(db).width(e=>e.width||0).height(e=>e.height||0).cornerRadius(dx,d_,dw,dA),dN=(function(e,t){let n=null,r=sk(i);function i(){let i;if(n||(n=i=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+""||null}return e="function"==typeof e?e:sv(e||sR),t="function"==typeof t?t:sv(void 0===t?64:+t),i.type=function(t){return arguments.length?(e="function"==typeof t?t:sv(t),i):e},i.size=function(e){return arguments.length?(t="function"==typeof e?e:sv(+e),i):t},i.context=function(e){return arguments.length?(n=null==e?null:e,i):n},i})().type(dC).size(dE),dO=dm().x(dv).y(db).defined(dk).size(e=>e.size||1);function dB(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function dT(e,t,n,r){return dS.context(e)(t,n,r)}var dz=1;function dR(){dz=1}function dL(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||(t.clip_id="clip"+dz++),o=i.clipping[a]||(i.clipping[a]={id:a});return tv(r)?o.path=r(null):dB(n)?o.path=dT(null,n,0,0):(o.width=n.width||0,o.height=n.height||0),"url(#"+a+")"}function dP(e){this.clear(),e&&this.union(e)}function dj(e){this.mark=e,this.bounds=this.bounds||new dP}function dI(e){dj.call(this,e),this.items=this.items||[]}function dU(e){this._pending=0,this._loader=e||aJ()}function dq(e){e._pending+=1}function dW(e){e._pending-=1}function dH(e,t,n){if(t.stroke&&0!==t.opacity&&0!==t.strokeOpacity){let r=null!=t.strokeWidth?+t.strokeWidth:1;e.expand(r+(n?t.strokeJoin&&"miter"!==t.strokeJoin?0:r:0))}return e}dP.prototype={clone(){return new dP(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2}
14,set(e,t,n,r){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),r<t?(this.y2=t,this.y1=r):(this.y1=t,this.y2=r),this},add(e,t){return e<this.x1&&(this.x1=e),t<this.y1&&(this.y1=t),e>this.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate(e,t,n){let r=this.rotatedPoints(e,t,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(e,t,n){var{x1:r,y1:i,x2:a,y2:o}=this,l=Math.cos(e),u=Math.sin(e),s=t-t*l+n*u,c=n-t*u-n*l;return[l*r-u*i+s,u*r+l*i+c,l*r-u*o+s,u*r+l*o+c,l*a-u*i+s,u*a+l*i+c,l*a-u*o+s,u*a+l*o+c]},union(e){return e.x1<this.x1&&(this.x1=e.x1),e.y1<this.y1&&(this.y1=e.y1),e.x2>this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2<this.x2&&(this.x2=e.x2),e.y2<this.y2&&(this.y2=e.y2),this},encloses(e){return e&&this.x1<=e.x1&&this.x2>=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2<e.x1||this.x1>e.x2||this.y2<e.y1||this.y1>e.y2)},contains(e,t){return!(e<this.x1||e>this.x2||t<this.y1||t>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}},tB(dI,dj),dU.prototype={pending(){return this._pending},sanitizeURL(e){let t=this;return dq(t),t._loader.sanitize(e,{context:"href"}).then(e=>(dW(t),e)).catch(()=>(dW(t),null))},loadImage(e){let t=this,n=sP();return dq(t),t._loader.sanitize(e,{context:"image"}).then(e=>{let r=e.href;if(!r||!n)throw{url:r};let i=new n,a=tM(e,"crossOrigin")?e.crossOrigin:"anonymous";return null!=a&&(i.crossOrigin=a),i.onload=()=>dW(t),i.onerror=()=>dW(t),i.src=r,i}).catch(e=>(dW(t),{complete:!1,width:0,height:0,src:e&&e.url||""}))},ready(){let e=this;return new Promise(t=>{!function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}(!1)})}};let dY=h8-1e-8,dG=(e,t)=>a.add(e,t),dV=(e,t)=>dG(o=e,l=t),dX=e=>dG(e,a.y1),dZ=e=>dG(a.x1,e),dJ=(e,t)=>s*e+f*t,dQ=(e,t)=>c*e+h*t,dK=(e,t)=>dG(dJ(e,t),dQ(e,t)),d0=(e,t)=>dV(dJ(e,t),dQ(e,t));function d1(e,t){return a=e,t?(s=h=Math.cos(u=t*h6),f=-(c=Math.sin(u))):(s=h=1,u=c=f=0),d2}let d2={beginPath(){},closePath(){},moveTo:d0,lineTo:d0,rect(e,t,n,r){u?(dK(e+n,t),dK(e+n,t+r),dK(e,t+r),d0(e,t)):(dG(e+n,t+r),dV(e,t))},quadraticCurveTo(e,t,n,r){let i=dJ(e,t),a=dQ(e,t),u=dJ(n,r),s=dQ(n,r);d3(o,i,u,dX),d3(l,a,s,dZ),dV(u,s)},bezierCurveTo(e,t,n,r,i,a){let u=dJ(e,t),s=dQ(e,t),c=dJ(n,r),f=dQ(n,r),h=dJ(i,a),d=dQ(i,a);d5(o,u,c,h,dX),d5(l,s,f,d,dZ),dV(h,d)},arc(e,t,n,r,i,a){if(r+=u,i+=u,o=n*Math.cos(i)+e,l=n*Math.sin(i)+t,Math.abs(i-r)>dY)dG(e-n,t-n),dG(e+n,t+n);else{let o,l;let u=r=>dG(n*Math.cos(r)+e,n*Math.sin(r)+t);if(u(r),u(i),i!==r){if((r%=h8)<0&&(r+=h8),(i%=h8)<0&&(i+=h8),i<r&&(a=!a,o=r,r=i,i=o),a)for(i-=h8,o=r-r%h4,l=0;l<4&&o>i;++l,o-=h4)u(o);else for(l=0,o=r-r%h4+h4;l<4&&o<i;++l,o+=h4)u(o)}}}};function d3(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function d5(e,t,n,r,i){let a=r-e+3*t-3*n,o=e+n-2*t,l=e-t,u=0,s=0,c;Math.abs(a)>1e-14?(c=o*o+l*a)>=0&&(u=(-o+(c=Math.sqrt(c)))/a,s=(-o-c)/a):u=.5*l/o,0<u&&u<1&&i(d6(u,e,t,n,r)),0<s&&s<1&&i(d6(s,e,t,n,r))}function d6(e,t,n,r,i){let a=1-e,o=a*a,l=e*e;return o*a*t+3*o*e*n+3*a*l*r+l*e*i}var d4=(d4=sL(1,1))?d4.getContext("2d"):null;let d8=new dP;function d9(e){return function(t,n){if(!d4)return!0;e(d4,t),d8.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:a,y2:o}=d8;for(let e=i;e<=o;++e)for(let t=r;t<=a;++t)if(d4.isPointInPath(t,e))return!0;return!1}}function d7(e,t){return t.contains(e.x||0,e.y||0)}function pe(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,a=e.height||0;return t.intersects(d8.set(n,r,n+i,r+a))}function pt(e,t){let n=e.x||0,r=e.y||0,i=null!=e.x2?e.x2:n,a=null!=e.y2?e.y2:r;return pn(t,n,r,i,a)}function pn(e,t,n,r,i){let{x1:a,y1:o,x2:l,y2:u}=e,s=r-t,c=i-n,f=0,h=1,d,p,g,m;for(m=0;m<4;++m){if(0===m&&(d=-s,p=-(a-t)),1===m&&(d=s,p=l-t),2===m&&(d=-c,p=-(o-n)),3===m&&(d=c,p=u-n),1e-10>Math.abs(d)&&p<0)return!1;if(g=p/d,d<0){if(g>h)return!1;g>f&&(f=g)}else if(d>0){if(g<f)return!1;g<h&&(h=g)}}return!0}function pr(e,t){e.globalCompositeOperation=t.blend||"source-over"}function pi(e,t){return null==e?t:e}function pa(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}
14function po(e,t,n){return hG(n)?function(e,t,n){let r;let i=n.width(),a=n.height();if("radial"===t.gradient)r=e.createRadialGradient(n.x1+pi(t.x1,.5)*i,n.y1+pi(t.y1,.5)*a,Math.max(i,a)*pi(t.r1,0),n.x1+pi(t.x2,.5)*i,n.y1+pi(t.y2,.5)*a,Math.max(i,a)*pi(t.r2,.5));else{let o=pi(t.x1,0),l=pi(t.y1,0),u=pi(t.x2,1),s=pi(t.y2,0);if(o===u||l===s||i===a)r=e.createLinearGradient(n.x1+o*i,n.y1+l*a,n.x1+u*i,n.y1+s*a);else{let n=sL(Math.ceil(i),Math.ceil(a)),r=n.getContext("2d");return r.scale(i,a),r.fillStyle=pa(r.createLinearGradient(o,l,u,s),t.stops),r.fillRect(0,0,i,a),e.createPattern(n,"no-repeat")}}return pa(r,t.stops)}(e,n,t.bounds):n}function pl(e,t,n){return(n*=null==t.fillOpacity?1:t.fillOpacity)>0&&(e.globalAlpha=n,e.fillStyle=po(e,t,t.fill),!0)}var pu=[];function ps(e,t,n){var r=null!=(r=t.strokeWidth)?r:1;return!(r<=0)&&(n*=null==t.strokeOpacity?1:t.strokeOpacity)>0&&(e.globalAlpha=n,e.strokeStyle=po(e,t,t.stroke),e.lineWidth=r,e.lineCap=t.strokeCap||"butt",e.lineJoin=t.strokeJoin||"miter",e.miterLimit=t.strokeMiterLimit||10,e.setLineDash&&(e.setLineDash(t.strokeDash||pu),e.lineDashOffset=t.strokeDashOffset||0),!0)}function pc(e,t){return e.zindex-t.zindex||e.index-t.index}function pf(e){if(!e.zdirty)return e.zitems;var t,n,r,i=e.items,a=[];for(n=0,r=i.length;n<r;++n)(t=i[n]).index=n,t.zindex&&a.push(t);return e.zdirty=!1,e.zitems=a.sort(pc)}function ph(e,t){var n,r,i=e.items;if(!i||!i.length)return;let a=pf(e);if(a&&a.length){for(n=0,r=i.length;n<r;++n)i[n].zindex||t(i[n]);i=a}for(n=0,r=i.length;n<r;++n)t(i[n])}function pd(e,t){var n,r,i=e.items;if(!i||!i.length)return null;let a=pf(e);for(a&&a.length&&(i=a),r=i.length;--r>=0;)if(n=t(i[r]))return n;if(i===a){for(r=(i=e.items).length;--r>=0;)if(!i[r].zindex&&(n=t(i[r])))return n}return null}function pp(e){return function(t,n,r){ph(n,n=>{(!r||r.intersects(n.bounds))&&pg(e,t,n,n)})}}function pg(e,t,n,r){var i=null==n.opacity?1:n.opacity;0!==i&&!e(t,r)&&(pr(t,n),n.fill&&pl(t,n,i)&&t.fill(),n.stroke&&ps(t,n,i)&&t.stroke())}function pm(e){return e=e||eG,function(t,n,r,i,a,o){return r*=t.pixelRatio,i*=t.pixelRatio,pd(n,n=>{let l=n.bounds;if((!l||l.contains(a,o))&&l&&e(t,n,r,i,a,o))return n})}}function py(e,t){return function(n,r,i,a){var o,l,u=Array.isArray(r)?r[0]:r,s=null==t?u.fill:t,c=u.stroke&&n.isPointInStroke;return c&&(o=u.strokeWidth,l=u.strokeCap,n.lineWidth=null!=o?o:1,n.lineCap=null!=l?l:"butt"),!e(n,r)&&(s&&n.isPointInPath(i,a)||c&&n.isPointInStroke(i,a))}}function pv(e,t){return"translate("+e+","+t+")"}function pb(e){return"rotate("+e+")"}function px(e){return pv(e.x||0,e.y||0)}function p_(e,t,n){function r(e,n){var r=n.x||0,i=n.y||0,a=n.angle||0;e.translate(r,i),a&&e.rotate(a*=h6),e.beginPath(),t(e,n),a&&e.rotate(-a),e.translate(-r,-i)}return{type:e,tag:"path",nested:!1,attr:function(e,n){e("transform",pv(n.x||0,n.y||0)+(n.angle?" "+pb(n.angle):"")),e("d",t(null,n))},bound:function(e,n){return t(d1(e,n.angle),n),dH(e,n).translate(n.x||0,n.y||0)},draw:pp(r),pick:pm(py(r)),isect:n||d9(r)}}var pw=p_("arc",function(e,t){return dD.context(e)(t)});function pA(e,t,n){function r(e,n){e.beginPath(),t(e,n)}let i=py(r);return{type:e,tag:"path",nested:!0,attr:function(e,n){var r=n.mark.items;r.length&&e("d",t(null,r))},bound:function(e,n){var r=n.items;return 0===r.length?e:(t(d1(e),r),dH(e,r[0]))},draw:function(e,t,n){t.items.length&&(!n||n.intersects(t.bounds))&&pg(r,e,t.items[0],t.items)},pick:function(e,t,n,r,a,o){var l=t.items,u=t.bounds;return l&&l.length&&(!u||u.contains(a,o))?(n*=e.pixelRatio,r*=e.pixelRatio,i(e,l,n,r)?l[0]:null):null},isect:d7,tip:n}}var pE=pA("area",function(e,t){let n=t[0],r=n.interpolate||"linear";return("horizontal"===n.orient?d$:dF).curve(hQ(r,n.orient,n.tension)).context(e)(t)},function(e,t){for(var n,r,i="horizontal"===e[0].orient?t[1]:t[0],a="horizontal"===e[0].orient?"y":"x",o=e.length,l=Infinity;--o>=0;)!1!==e[o].defined&&(r=Math.abs(e[o][a]-i))<l&&(l=r,n=e[o]);return n});function pk(e,t){e.beginPath(),dB(t)?dT(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function pC(e){let t=pi(e.strokeWidth,1);return null!=e.strokeOffset?e.strokeOffset:e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0}function pD(e,t){let n=pC(t);e("d",dT(null,t,n,n))}function pF(e,t,n,r){let i=pC(t);e.beginPath(),dT(e,t,(n||0)+i,(r||0)+i)}let p$=py(pF),pM=py(pF,!1),pS=py(pF,!0);var pN={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function pO(e,t){var n=e.image;return(!n||e.url&&e.url!==n.url)&&(n={complete:!1,width:0,height:0},t.loadImage(e.url).then(t=>{e.image=t,e.image.url=e.url})),n}function pB(e,t){return null!=e.width?e.width:t&&t.width?!1!==e.aspect&&e.height?e.height*t.width/t.height:t.width:0}function pT(e,t){return null!=e.height?e.height:t&&t.height?!1!==e.aspect&&e.width?e.width*t.height/t.width:t.height:0}function pz(e,t){return"center"===e?t/2:"right"===e?t:0}function pR(e,t){return"middle"===e?t/2:"bottom"===e?t:0}var pL={type:"image",tag:"image",nested:!1,attr:function(e,t,n){let r=pO(t,n),i=pB(t,r),a=pT(t,r),o=(t.x||0)-pz(t.align,i),l=(t.y||0)-pR(t.baseline,a),u=!r.src&&r.toDataURL?r.toDataURL():r.src||"";e("href",u,pN["xmlns:xlink"],"xlink:href"),e("transform",pv(o,l)),e("width",i),e("height",a),e("preserveAspectRatio",!1===t.aspect?"none":"xMidYMid")}
14,bound:function(e,t){let n=t.image,r=pB(t,n),i=pT(t,n),a=(t.x||0)-pz(t.align,r),o=(t.y||0)-pR(t.baseline,i);return e.set(a,o,a+r,o+i)},draw:function(e,t,n){ph(t,t=>{if(n&&!n.intersects(t.bounds))return;let r=pO(t,this),i=pB(t,r),a=pT(t,r);if(0===i||0===a)return;let o=(t.x||0)-pz(t.align,i),l=(t.y||0)-pR(t.baseline,a),u,s,c,f;!1!==t.aspect&&(s=r.width/r.height,c=t.width/t.height,s==s&&c==c&&s!==c&&(c<s?(l+=(a-(f=i/s))/2,a=f):(o+=(i-(f=a*s))/2,i=f))),(r.complete||r.toDataURL)&&(pr(e,t),e.globalAlpha=null!=(u=t.opacity)?u:1,e.imageSmoothingEnabled=!1!==t.smooth,e.drawImage(r,o,l,i,a))})},pick:pm(),isect:eG,get:pO,xOffset:pz,yOffset:pR},pP=pA("line",function(e,t){let n=t[0],r=n.interpolate||"linear";return dM.curve(hQ(r,n.orient,n.tension)).context(e)(t)},function(e,t){for(var n,r,i=Math.pow(e[0].strokeWidth||1,2),a=e.length;--a>=0;)if(!1!==e[a].defined&&(n=e[a].x-t[0])*n+(r=e[a].y-t[1])*r<i)return e[a];return null});function pj(e,t){var n=t.path;if(null==n)return!0;var r=t.x||0,i=t.y||0,a=t.scaleX||1,o=t.scaleY||1,l=(t.angle||0)*h6,u=t.pathCache;u&&u.path===n||((t.pathCache=u=h5(n)).path=n),l&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(l),dr(e,u,0,0,a,o),e.rotate(-l),e.translate(-r,-i)):dr(e,u,r,i,a,o)}var pI={type:"path",tag:"path",nested:!1,attr:function(e,t){var n=t.scaleX||1,r=t.scaleY||1;(1!==n||1!==r)&&e("vector-effect","non-scaling-stroke"),e("transform",pv(t.x||0,t.y||0)+(t.angle?" "+pb(t.angle):"")+(t.scaleX||t.scaleY?" "+("scale("+(t.scaleX||1)+",")+(t.scaleY||1)+")":"")),e("d",t.path)},bound:function(e,t){return pj(d1(e,t.angle),t)?e.set(0,0,0,0):dH(e,t,!0)},draw:pp(pj),pick:pm(py(pj)),isect:d9(pj)};function pU(e,t){e.beginPath(),dT(e,t)}var pq={type:"rect",tag:"path",nested:!1,attr:function(e,t){e("d",dT(null,t))},bound:function(e,t){var n,r;return dH(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)},draw:pp(pU),pick:pm(py(pU)),isect:pe};function pW(e,t,n){var r,i,a,o;return!!(t.stroke&&ps(e,t,n))&&(r=t.x||0,i=t.y||0,a=null!=t.x2?t.x2:r,o=null!=t.y2?t.y2:i,e.beginPath(),e.moveTo(r,i),e.lineTo(a,o),!0)}var pH={type:"rule",tag:"line",nested:!1,attr:function(e,t){e("transform",px(t)),e("x2",null!=t.x2?t.x2-(t.x||0):0),e("y2",null!=t.y2?t.y2-(t.y||0):0)},bound:function(e,t){var n,r;return dH(e.set(n=t.x||0,r=t.y||0,null!=t.x2?t.x2:n,null!=t.y2?t.y2:r),t)},draw:function(e,t,n){ph(t,t=>{if(!n||n.intersects(t.bounds)){var r=null==t.opacity?1:t.opacity;r&&pW(e,t,r)&&(pr(e,t),e.stroke())}})},pick:pm(function(e,t,n,r){return!!e.isPointInStroke&&pW(e,t,1)&&e.isPointInStroke(n,r)}),isect:pt},pY=p_("shape",function(e,t){return(t.mark.shape||t.shape).context(e)(t)}),pG=p_("symbol",function(e,t){return dN.context(e)(t)},d7);let pV=tW();var pX={height:p1,measureWidth:pK,estimateWidth:pJ,width:pJ,canvas:pZ};function pZ(e){pX.width=e&&d4?pK:pJ}function pJ(e,t){return pQ(p6(e,t),p1(e))}function pQ(e,t){return~~(.8*e.length*t)}function pK(e,t){return!(0>=p1(e))&&(t=p6(e,t))?p0(t,p8(e)):0}function p0(e,t){let n=`(${t}) ${e}`,r=pV.get(n);return void 0===r&&(d4.font=t,r=d4.measureText(e).width,pV.set(n,r)),r}function p1(e){return null!=e.fontSize?+e.fontSize||0:11}function p2(e){return null!=e.lineHeight?e.lineHeight:p1(e)+2}function p3(e){var t;return t=e.lineBreak&&e.text&&!e2(e.text)?e.text.split(e.lineBreak):e.text,e2(t)?t.length>1?t:t[0]:t}function p5(e){let t=p3(e);return(e2(t)?t.length-1:0)*p2(e)}function p6(e,t){let n=null==t?"":(t+"").trim();return e.limit>0&&n.length?function(e,t){var n=+e.limit,r=function(e){if(pX.width===pK){let t=p8(e);return e=>p0(e,t)}{let t=p1(e);return e=>pQ(e,t)}}(e);if(r(t)<n)return t;var i,a=e.ellipsis||"…",o="rtl"===e.dir,l=0,u=t.length;if(n-=r(a),o){for(;l<u;)i=l+u>>>1,r(t.slice(i))>n?l=i+1:u=i;return a+t.slice(l)}for(;l<u;)i=1+(l+u>>>1),r(t.slice(0,i))<n?l=i:u=i-1;return t.slice(0,l)+a}(e,n):n}function p4(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,"'"):n)||"sans-serif"}function p8(e,t){return(e.fontStyle?e.fontStyle+" ":"")+(e.fontVariant?e.fontVariant+" ":"")+(e.fontWeight?e.fontWeight+" ":"")+p1(e)+"px "+p4(e,t)}function p9(e){var t=e.baseline,n=p1(e);return Math.round("top"===t?.79*n:"middle"===t?.3*n:"bottom"===t?-.21*n:"line-top"===t?.29*n+.5*p2(e):"line-bottom"===t?.29*n-.5*p2(e):0)}pZ(!0);let p7={left:"start",center:"middle",right:"end"},ge=new dP;function gt(e){var t,n=e.x||0,r=e.y||0,i=e.radius||0;return i&&(n+=i*Math.cos(t=(e.theta||0)-h4),r+=i*Math.sin(t)),ge.x1=n,ge.y1=r,ge}function gn(e,t,n){var r,i=pX.height(t),a=t.align,o=gt(t),l=o.x1,u=o.y1,s=t.dx||0,c=(t.dy||0)+p9(t)-Math.round(.8*i),f=p3(t);if(e2(f)?(i+=p2(t)*(f.length-1),r=f.reduce((e,n)=>Math.max(e,pX.width(t,n)),0)):r=pX.width(t,f),"center"===a?s-=r/2:"right"===a&&(s-=r),e.set(s+=l,c+=u,s+r,c+i),t.angle&&!n)e.rotate(t.angle*h6,l,u);else if(2===n)return e.rotatedPoints(t.angle*h6,l,u);return e}var gr={arc:pw,area:pE,group:{type:"group",tag:"g",nested:!1,attr:function(e,t){e("transform",px(t))},bound:function(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let t=0;t<r;++t)e.union(n[t].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),dH(e,t),e.translate(t.x||0,t.y||0)},draw:function(e,t,n){ph(t,t=>{let r=t.x||0,i=t.y||0,a=t.strokeForeground,o=null==t.opacity?1:t.opacity;(t.stroke||t.fill)&&o&&(pF(e,t,r,i),pr(e,t),t.fill&&pl(e,t,o)&&e.fill(),t.stroke&&!a&&ps(e,t,o)&&e.stroke()),e.save(),e.translate(r,i),t.clip&&pk(e,t),n&&n.translate(-r,-i),ph(t,t=>{this.draw(e,t,n)}
14),n&&n.translate(r,i),e.restore(),a&&t.stroke&&o&&(pF(e,t,r,i),pr(e,t),ps(e,t,o)&&e.stroke())})},pick:function(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;let o=n*e.pixelRatio,l=r*e.pixelRatio;return pd(t,u=>{let s,c,f;let h=u.bounds;if(h&&!h.contains(i,a))return;c=u.x||0,f=u.y||0;let d=c+(u.width||0),p=f+(u.height||0),g=u.clip;if(g&&(i<c||i>d||a<f||a>p))return;if(e.save(),e.translate(c,f),c=i-c,f=a-f,g&&dB(u)&&!pS(e,u,o,l))return e.restore(),null;let m=u.strokeForeground,y=!1!==t.interactive;return y&&m&&u.stroke&&pM(e,u,o,l)?(e.restore(),u):(!(s=pd(u,e=>{var t,i;return(t=c,i=f,(!1!==e.interactive||"group"===e.marktype)&&e.bounds&&e.bounds.contains(t,i))?this.pick(e,n,r,c,f):null}))&&y&&(u.fill||!m&&u.stroke)&&p$(e,u,o,l)&&(s=u),e.restore(),s||null)})},isect:pe,content:function(e,t,n){let r=t.clip?dL(n,t,t):null;e("clip-path",r)},background:function(e,t){e("class","background"),e("aria-hidden",!0),pD(e,t)},foreground:function(e,t){e("class","foreground"),e("aria-hidden",!0),t.strokeForeground?pD(e,t):e("d","")}},image:pL,line:pP,path:pI,rect:pq,rule:pH,shape:pY,symbol:pG,text:{type:"text",tag:"text",nested:!1,attr:function(e,t){var n,r=t.dx||0,i=(t.dy||0)+p9(t),a=gt(t),o=a.x1,l=a.y1,u=t.angle||0;e("text-anchor",p7[t.align]||"start"),u?(n=pv(o,l)+" "+pb(u),(r||i)&&(n+=" "+pv(r,i))):n=pv(o+r,l+i),e("transform",n)},bound:gn,draw:function(e,t,n){ph(t,t=>{var r,i,a,o,l,u,s,c=null==t.opacity?1:t.opacity;if((!n||n.intersects(t.bounds))&&0!==c&&!(t.fontSize<=0)&&null!=t.text&&0!==t.text.length){if(e.font=p8(t),e.textAlign=t.align||"left",i=(r=gt(t)).x1,a=r.y1,t.angle&&(e.save(),e.translate(i,a),e.rotate(t.angle*h6),i=a=0),i+=t.dx||0,a+=(t.dy||0)+p9(t),u=p3(t),pr(e,t),e2(u))for(o=0,l=p2(t);o<u.length;++o)s=p6(t,u[o]),t.fill&&pl(e,t,c)&&e.fillText(s,i,a),t.stroke&&ps(e,t,c)&&e.strokeText(s,i,a),a+=l;else s=p6(t,u),t.fill&&pl(e,t,c)&&e.fillText(s,i,a),t.stroke&&ps(e,t,c)&&e.strokeText(s,i,a);t.angle&&e.restore()}})},pick:pm(function(e,t,n,r,i,a){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=gt(t),l=o.x1,u=o.y1,s=gn(ge,t,1),c=-t.angle*h6,f=Math.cos(c),h=Math.sin(c);return s.contains(f*i-h*a+(l-f*l+h*u),h*i+f*a+(u-h*l-f*u))}),isect:function(e,t){let n=gn(ge,e,2);return pn(t,n[0],n[1],n[2],n[3])||pn(t,n[0],n[1],n[4],n[5])||pn(t,n[4],n[5],n[6],n[7])||pn(t,n[2],n[3],n[6],n[7])}},trail:pA("trail",function(e,t){return dO.context(e)(t)},function(e,t){for(var n,r,i=e.length;--i>=0;)if(!1!==e[i].defined&&(n=e[i].x-t[0])*n+(r=e[i].y-t[1])*r<(n=e[i].size||1)*n)return e[i];return null})};function gi(e,t,n){var r=gr[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new dP),e,n)}var ga={mark:null};function go(e,t,n){var r,i,a,o,l=gr[e.marktype],u=l.bound,s=e.items,c=s&&s.length;if(l.nested)return c?a=s[0]:(ga.mark=e,a=ga),o=gi(a,u,n),t=t&&t.union(o)||o;if(t=t||e.bounds&&e.bounds.clear()||new dP,c)for(r=0,i=s.length;r<i;++r)t.union(gi(s[r],u,n));return e.bounds=t}let gl=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","blend","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","strokeForeground","strokeOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight","interpolate","tension","orient","defined","url","aspect","smooth","path","scaleX","scaleY","x2","y2","size","shape","text","angle","theta","radius","dir","dx","dy","ellipsis","limit","lineBreak","lineHeight","font","fontSize","fontWeight","fontStyle","fontVariant","description","aria","ariaRole","ariaRoleDescription"];function gu(e,t){return JSON.stringify(e,gl,t)}function gs(e){let t="string"==typeof e?JSON.parse(e):e;return function e(t){var n,r,i,a=t.marktype,o=t.items;if(o)for(r=0,i=o.length;r<i;++r)n=a?"mark":"group",o[r][n]=t,o[r].zindex&&(o[r][n].zdirty=!0),"group"===(a||n)&&e(o[r]);return a&&go(t),t}(t)}function gc(e){arguments.length?this.root=gs(e):(this.root=gf({marktype:"group",name:"root",role:"frame"}),this.root.items=[new dI(this.root)])}function gf(e,t){let n={bounds:new dP,clip:!!e.clip,group:t,interactive:!1!==e.interactive,items:[],marktype:e.marktype,name:e.name||void 0,role:e.role||void 0,zindex:e.zindex||0};return null!=e.aria&&(n.aria=e.aria),e.description&&(n.description=e.description),n}function gh(e,t,n){return!e&&"undefined"!=typeof document&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function gd(e,t){t=t.toLowerCase();for(var n=e.childNodes,r=0,i=n.length;r<i;++r)if(n[r].tagName.toLowerCase()===t)return n[r]}function gp(e,t,n,r){var i,a=e.childNodes[t];return a&&a.tagName.toLowerCase()===n.toLowerCase()||(i=a||null,a=gh(e.ownerDocument,n,r),e.insertBefore(a,i)),a}function gg(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function gm(e){return"mark-"+e.marktype+(e.role?" role-"+e.role:"")+(e.name?" "+e.name:"")}function gy(e,t){let n=t.getBoundingClientRect();return[e.clientX-n.left-(t.clientLeft||0),e.clientY-n.top-(t.clientTop||0)]}
14function gv(e,t){this._active=null,this._handlers={},this._loader=e||aJ(),this._tooltip=t||gb}function gb(e,t,n,r){e.element().setAttribute("title",r||"")}function gx(e){this._el=null,this._bgcolor=null,this._loader=new dU(e)}gc.prototype={toJSON(e){return gu(this.root,e||0)},mark(e,t,n){t=t||this.root.items[0];let r=gf(e,t);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}},gv.prototype={initialize(e,t,n){return this._el=e,this._obj=n||null,this.origin(t)},element(){return this._el},canvas(){return this._el&&this._el.firstChild},origin(e){return arguments.length?(this._origin=e||[0,0],this):this._origin.slice()},scene(e){return arguments.length?(this._scene=e,this):this._scene},on(){},off(){},_handlerIndex(e,t,n){for(let r=e?e.length:0;--r>=0;)if(e[r].type===t&&(!n||e[r].handler===n))return r;return -1},handlers(e){let t=this._handlers,n=[];if(e)n.push(...t[this.eventName(e)]);else for(let e in t)n.push(...t[e]);return n},eventName(e){let t=e.indexOf(".");return t<0?e:e.slice(0,t)},handleHref(e,t,n){this._loader.sanitize(n,{context:"href"}).then(t=>{let n=new MouseEvent(e.type,e),r=gh(null,"a");for(let e in t)r.setAttribute(e,t[e]);r.dispatchEvent(n)}).catch(()=>{})}
14,handleTooltip(e,t,n){if(t&&null!=t.tooltip){t=function(e,t,n,r){var i,a,o=e&&e.mark;if(o&&(i=gr[o.marktype]).tip){for(a=gy(t,n),a[0]-=r[0],a[1]-=r[1];e=e.mark.group;)a[0]-=e.x||0,a[1]-=e.y||0;e=i.tip(o.items,a)}return e}(t,e,this.canvas(),this._origin);let r=n&&t&&t.tooltip||null;this._tooltip.call(this._obj,this,e,t,r)}},getItemBoundingClientRect(e){let t=this.canvas();if(!t)return;let n=t.getBoundingClientRect(),r=this._origin,i=e.bounds,a=i.width(),o=i.height(),l=i.x1+r[0]+n.left,u=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)l+=e.x||0,u+=e.y||0;return{x:l,y:u,width:a,height:o,left:l,top:u,right:l+a,bottom:u+o}}},gx.prototype={initialize(e,t,n,r,i){return this._el=e,this.resize(t,n,r,i)},element(){return this._el},canvas(){return this._el&&this._el.firstChild},background(e){return 0==arguments.length?this._bgcolor:(this._bgcolor=e,this)},resize(e,t,n,r){return this._width=e,this._height=t,this._origin=n||[0,0],this._scale=r||1,this},dirty(){},render(e){let t=this;return t._call=function(){t._render(e)},t._call(),t._call=null,t},_render(){},renderAsync(e){let t=this.render(e);return this._ready?this._ready.then(()=>t):Promise.resolve(t)},_load(e,t){var n=this,r=n._loader[e](t);if(!n._ready){let e=n._call;n._ready=n._loader.ready().then(t=>{t&&e(),n._ready=null})}return r},sanitizeURL(e){return this._load("sanitizeURL",e)},loadImage(e){return this._load("loadImage",e)}};let g_="dragenter",gw="dragleave",gA="dragover",gE="mousedown",gk="mousemove",gC="mouseout",gD="mouseover",gF="click",g$="mousewheel",gM="touchstart",gS="touchmove",gN="touchend";function gO(e,t){gv.call(this,e,t),this._down=null,this._touch=null,this._first=!0,this._events={}}let gB=e=>e===gM||e===gS||e===gN?[gM,gS,gN]:[e];function gT(e,t){gB(t).forEach(t=>(function(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?n=>e[t](n):n=>e.fire(t,n)))})(e,t))}function gz(e,t,n){return function(r){let i=this._active,a=this.pickEvent(r);a===i||(i&&i.exit||this.fire(n,r),this._active=a,this.fire(t,r)),this.fire(e,r)}}function gR(e){return function(t){this.fire(e,t),this._active=null}}tB(gO,gv,{initialize(e,t,n){return this._canvas=e&&gd(e,"canvas"),[gF,gE,gk,gC,gw].forEach(e=>gT(this,e)),gv.prototype.initialize.call(this,e,t,n)},canvas(){return this._canvas},context(){return this._canvas.getContext("2d")},events:["keydown","keypress","keyup",g_,gw,gA,gE,"mouseup",gk,gC,gD,gF,"dblclick","wheel",g$,gM,gS,gN],DOMMouseScroll(e){this.fire(g$,e)},mousemove:gz(gk,gD,gC),dragover:gz(gA,g_,gw),mouseout:gR(gC),dragleave:gR(gw),mousedown(e){this._down=this._active,this.fire(gE,e)},click(e){this._down===this._active&&(this.fire(gF,e),this._down=null)},touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire(gM,e,!0)},touchmove(e){this.fire(gS,e,!0)},touchend(e){this.fire(gN,e,!0),this._touch=null},fire(e,t,n){let r=n?this._touch:this._active,i=this._handlers[e];if(t.vegaType=e,e===gF&&r&&r.href?this.handleHref(t,r,r.href):(e===gk||e===gC)&&this.handleTooltip(t,r,e!==gC),i)for(let e=0,n=i.length;e<n;++e)i[e].handler.call(this._obj,t,r)},on(e,t){let n=this.eventName(e),r=this._handlers,i=this._handlerIndex(r[n],e,t);return i<0&&(gT(this,e),(r[n]||(r[n]=[])).push({type:e,handler:t})),this},off(e,t){let n=this.eventName(e),r=this._handlers[n],i=this._handlerIndex(r,e,t);return i>=0&&r.splice(i,1),this},pickEvent(e){let t=gy(e,this._canvas),n=this._origin;return this.pick(this._scene,t[0],t[1],t[0]-n[0],t[1]-n[1])},pick(e,t,n,r,i){let a=this.context(),o=gr[e.marktype];return o.pick.call(this,a,e,t,n,r,i)}});var gL="undefined"!=typeof window&&window.devicePixelRatio||1;function gP(e){gx.call(this,e),this._options={},this._redraw=!1,this._dirty=new dP,this._tempb=new dP}let gj=gx.prototype,gI=(e,t,n)=>new dP().set(0,0,t,n).translate(-e[0],-e[1]);function gU(e,t){gv.call(this,e,t);let n=this;n._hrefHandler=gq(n,(e,t)=>{t&&t.href&&n.handleHref(e,t,t.href)}),n._tooltipHandler=gq(n,(e,t)=>{n.handleTooltip(e,t,e.type!==gC)})}tB(gP,gx,{initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:sL(1,1,this._options.type),e&&this._canvas&&(gg(e,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),gj.initialize.call(this,e,t,n,r,i)},resize(e,t,n,r){if(gj.resize.call(this,e,t,n,r),this._canvas)!function(e,t,n,r,i,a){let o="undefined"!=typeof HTMLElement&&e instanceof HTMLElement&&null!=e.parentNode,l=e.getContext("2d"),u=o?gL:i;for(let r in e.width=t*u,e.height=n*u,a)l[r]=a[r];o&&1!==u&&(e.style.width=t+"px",e.style.height=n+"px"),l.pixelRatio=u,l.setTransform(u,0,0,u,u*r[0],u*r[1])}(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let e=this._options.externalContext;
14e||ej("CanvasRenderer is missing a valid canvas or context"),e.scale(this._scale,this._scale),e.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this},canvas(){return this._canvas},context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)},dirty(e){let t=this._tempb.clear().union(e.bounds),n=e.mark.group;for(;n;)t.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(t)},_render(e){var t;let n=this.context(),r=this._origin,i=this._width,a=this._height,o=this._dirty,l=gI(r,i,a);n.save();let u=this._redraw||o.empty()?(this._redraw=!1,l.expand(1)):((t=l.intersect(o)).expand(1).round(),n.pixelRatio%1&&t.scale(n.pixelRatio).round().scale(1/n.pixelRatio),t.translate(-(r[0]%1),-(r[1]%1)),n.beginPath(),n.rect(t.x1,t.y1,t.width(),t.height()),n.clip(),t);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,u),n.restore(),o.clear(),this},draw(e,t,n){let r=gr[t.marktype];if(t.clip){var i;i=t.clip,e.save(),tv(i)?(e.beginPath(),i(e),e.clip()):pk(e,t.group)}r.draw.call(this,e,t,n),t.clip&&e.restore()},clear(e,t,n,r){let i=this._options,a=this.context();"pdf"===i.type||i.externalContext||a.clearRect(e,t,n,r),null!=this._bgcolor&&(a.fillStyle=this._bgcolor,a.fillRect(e,t,n,r))}});let gq=(e,t)=>n=>{let r=n.target.__data__;r=Array.isArray(r)?r[0]:r,n.vegaType=n.type,t.call(e._obj,n,r)};tB(gU,gv,{initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener(gF,this._hrefHandler),r.removeEventListener(gk,this._tooltipHandler),r.removeEventListener(gC,this._tooltipHandler)),this._svg=r=e&&gd(e,"svg"),r&&(r.addEventListener(gF,this._hrefHandler),r.addEventListener(gk,this._tooltipHandler),r.addEventListener(gC,this._tooltipHandler)),gv.prototype.initialize.call(this,e,t,n)},canvas(){return this._svg},on(e,t){let n=this.eventName(e),r=this._handlers,i=this._handlerIndex(r[n],e,t);if(i<0){let i={type:e,handler:t,listener:gq(this,t)};(r[n]||(r[n]=[])).push(i),this._svg&&this._svg.addEventListener(n,i.listener)}return this},off(e,t){let n=this.eventName(e),r=this._handlers[n],i=this._handlerIndex(r,e,t);return i>=0&&(this._svg&&this._svg.removeEventListener(n,r[i].listener),r.splice(i,1)),this}});let gW="aria-hidden",gH="aria-label",gY="role",gG="aria-roledescription",gV="graphics-object",gX="graphics-symbol",gZ=(e,t,n)=>({[gY]:e,[gG]:t,[gH]:n||void 0}),gJ=t0(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),gQ={axis:{desc:"axis",caption:function(e){let t=e.datum,n=e.orient,r=t.title?g3(e):null,i=e.context,a=i.scales[t.scale].value,o=i.dataflow.locale(),l=a.type;return`${"left"===n||"right"===n?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${hg(l,ha)?"discrete":l} scale`+` with ${hH(o,a,e)}`}},legend:{desc:"legend",caption:function(e){var t;let n=e.datum,r=n.title?g3(e):null,i=`${n.type||""} legend`.trim(),a=n.scales,o=Object.keys(a),l=e.context,u=l.scales[a[o[0]]].value,s=l.dataflow.locale();return(i.length?i[0].toUpperCase()+i.slice(1):i)+(r?` titled '${r}'`:"")+` for ${(t=(t=o).map(e=>e+("fill"===e||"stroke"===e?" color":""))).length<2?t[0]:t.slice(0,-1).join(", ")+" and "+e8(t)}`+` with ${hH(s,u,e)}`}},"title-text":{desc:"title",caption:e=>`Title text '${g2(e)}'`}
14,"title-subtitle":{desc:"subtitle",caption:e=>`Subtitle text '${g2(e)}'`}},gK={ariaRole:gY,ariaRoleDescription:gG,description:gH};function g0(e,t){let n=!1===t.aria;if(e(gW,n||void 0),n||null==t.description)for(let t in gK)e(gK[t],void 0);else{let n=t.mark.marktype;e(gH,t.description),e(gY,t.ariaRole||("group"===n?gV:gX)),e(gG,t.ariaRoleDescription||`${n} mark`)}}function g1(e){return!1===e.aria?{[gW]:!0}:gJ[e.role]?null:gQ[e.role]?function(e,t){try{let n=e.items[0],r=t.caption||(()=>"");return gZ(t.role||gX,t.desc,n.description||r(n))}catch(e){return null}}(e,gQ[e.role]):function(e){let t=e.marktype,n="group"===t||"text"===t||e.items.some(e=>null!=e.description&&!1!==e.aria);return gZ(n?gV:gX,`${t} mark container`,e.description)}(e)}function g2(e){return tm(e.text).join(" ")}function g3(e){try{return tm(e8(e.items).items[0].text).join(" ")}catch(e){return null}}let g5=e=>(e+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),g6=e=>g5(e).replace(/"/g,""").replace(/\t/g,"	").replace(/\n/g,"
").replace(/\r/g,"
");function g4(){let e="",t="",n="",r=[],i=()=>t=n="",a=a=>{t&&(e+=`${t}>${n}`,i()),r.push(a)},o=(e,n)=>(null!=n&&(t+=` ${e}="${g6(n)}"`),l),l={open(e){a(e),t="<"+e;for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];for(let e of r)for(let t in e)o(t,e[t]);return l},close(){let a=r.pop();return t?e+=t+(n?`>${n}</${a}>`:"/>"):e+=`</${a}>`,i(),l},attr:o,text:e=>(n+=g5(e),l),toString:()=>e};return l}let g8=e=>(function e(t,n){if(t.open(n.tagName),n.hasAttributes()){let e=n.attributes,r=e.length;for(let n=0;n<r;++n)t.attr(e[n].name,e[n].value)}if(n.hasChildNodes()){let r=n.childNodes;for(let n of r)3===n.nodeType?t.text(n.nodeValue):e(t,n)}return t.close()})(g4(),e)+"",g9={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},g7={blend:"mix-blend-mode"},me={fill:"none","stroke-miterlimit":10},mt="http://www.w3.org/2000/xmlns/",mn=pN.xmlns;function mr(e){gx.call(this,e),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}let mi=gx.prototype;function ma(e,t){for(;e&&e.dirty!==t;e=e.mark.group){if(e.dirty=t,!e.mark||e.mark.dirty===t)return;e.mark.dirty=t}}function mo(e,t,n,r,i){var a;let o=e._svg,l;if(!o&&(o=gh(l=t.ownerDocument,r,mn),e._svg=o,e.mark&&(o.__data__=e,o.__values__={fill:"default"},"g"===r))){let t=gh(l,"path",mn);o.appendChild(t),t.__data__=e;let n=gh(l,"g",mn);o.appendChild(n),n.__data__=e;let r=gh(l,"path",mn);o.appendChild(r),r.__data__=e,r.__values__={fill:"default"}}return(o.ownerSVGElement!==i||(a=o).parentNode&&a.parentNode.childNodes.length>1&&a.previousSibling!=n)&&t.insertBefore(o,n?n.nextSibling:t.firstChild),o}tB(mr,gx,{initialize(e,t,n,r,i){return this._defs={},this._clearDefs(),e&&(this._svg=gp(e,0,"svg",mn),this._svg.setAttributeNS(mt,"xmlns",mn),this._svg.setAttributeNS(mt,"xmlns:xlink",pN["xmlns:xlink"]),this._svg.setAttribute("version",pN.version),this._svg.setAttribute("class","marks"),gg(e,1),this._root=gp(this._svg,0,"g",mn),mh(this._root,me),gg(this._svg,1)),this.background(this._bgcolor),mi.initialize.call(this,e,t,n,r,i)},background(e){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",e),mi.background.apply(this,arguments)},resize(e,t,n,r){return mi.resize.call(this,e,t,n,r),this._svg&&(mh(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}),this._root.setAttribute("transform",`translate(${this._origin})`)),this._dirty=[],this},canvas(){return this._svg},svg(){let e;let t=this._svg,n=this._bgcolor;if(!t)return null;n&&(t.removeAttribute("style"),mh(e=gp(t,0,"rect",mn),{width:this._width,height:this._height,fill:n}));let r=g8(t);return n&&(t.removeChild(e),this._svg.style.setProperty("background-color",n)),r},_render(e){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,e),gg(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this},dirty(e){e.dirty!==this._dirtyID&&(e.dirty=this._dirtyID,this._dirty.push(e))},isDirty(e){return this._dirtyAll||!e._svg||!e._svg.ownerSVGElement||e.dirty===this._dirtyID},_dirtyCheck(){let e,t,n,r,i,a,o;this._dirtyAll=!0;let l=this._dirty;if(!l.length||!this._dirtyID)return!0;let u=++this._dirtyID;for(i=0,a=l.length;i<a;++i)if((t=(e=l[i]).mark).marktype!==n&&(r=gr[n=t.marktype]),t.zdirty&&t.dirty!==u&&(this._dirtyAll=!1,ma(e,u),t.items.forEac
14h(e=>{e.dirty=u})),!t.zdirty){if(e.exit){r.nested&&t.items.length?(o=t.items[0])._svg&&this._update(r,o._svg,o):e._svg&&(o=e._svg.parentNode)&&o.removeChild(e._svg),e._svg=null;continue}(e=r.nested?t.items[0]:e)._update!==u&&(e._svg&&e._svg.ownerSVGElement?this._update(r,e._svg,e):(this._dirtyAll=!1,ma(e,u)),e._update=u)}return!this._dirtyAll},mark(e,t,n){if(!this.isDirty(t))return t._svg;let r=this._svg,i=gr[t.marktype],a=!1===t.interactive?"none":null,o="g"===i.tag,l=mo(t,e,n,"g",r);l.setAttribute("class",gm(t));let u=g1(t);for(let e in u)md(l,e,u[e]);o||md(l,"pointer-events",a),md(l,"clip-path",t.clip?dL(this,t,t.group):null);let s=null,c=0,f=e=>{var t,n;let a,u;let f=this.isDirty(e),h=mo(e,l,s,i.tag,r);f&&(this._update(i,h,e),o&&(t=this,n=(n=h).lastChild.previousSibling,u=0,ph(e,e=>{a=t.mark(n,e,a),++u}),gg(n,1+u))),s=h,++c};return i.nested?t.items.length&&f(t.items[0]):ph(t,f),gg(l,c),l},_update(e,t,n){ml=t,mu=t.__values__,g0(mc,n),e.attr(mc,n,this);let r=ms[e.type];r&&r.call(this,e,t,n),ml&&this.style(ml,n)},style(e,t){if(null!=t){for(let n in g9){let r="font"===n?p4(t):t[n];if(r===mu[n])continue;let i=g9[n];null==r?e.removeAttribute(i):(hG(r)&&(r=hV(r,this._defs.gradient,mp())),e.setAttribute(i,r+"")),mu[n]=r}for(let n in g7)mf(e,g7[n],t[n])}},defs(){let e=this._svg,t=this._defs,n=t.el,r=0;for(let i in t.gradient)n||(t.el=n=gp(e,1,"defs",mn)),r=function(e,t,n){let r,i,a;if("radial"===t.gradient){let r=gp(e,n++,"pattern",mn);mh(r,{id:"p_"+t.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),mh(r=gp(r,0,"rect",mn),{width:1,height:1,fill:`url(${mp()}#${t.id})`}),mh(e=gp(e,n++,"radialGradient",mn),{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else mh(e=gp(e,n++,"linearGradient",mn),{id:t.id,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2});for(r=0,i=t.stops.length;r<i;++r)(a=gp(e,r,"stop",mn)).setAttribute("offset",t.stops[r].offset),a.setAttribute("stop-color",t.stops[r].color);return gg(e,r),n}(n,t.gradient[i],r);for(let l in t.clipping){var i,a,o;n||(t.el=n=gp(e,1,"defs",mn)),i=n,a=t.clipping[l],(i=gp(i,o=r,"clipPath",mn)).setAttribute("id",a.id),a.path?gp(i,0,"path",mn).setAttribute("d",a.path):mh(gp(i,0,"rect",mn),{x:0,y:0,width:a.width,height:a.height}),gg(i,1),r=o+1}n&&(0===r?(e.removeChild(n),t.el=null):gg(n,r))},_clearDefs(){let e=this._defs;e.gradient={},e.clipping={}}});let ml=null,mu=null,ms={group(e,t,n){let r=ml=t.childNodes[2];mu=r.__values__,e.foreground(mc,n,this),mu=t.__values__,ml=t.childNodes[1],e.content(mc,n,this);let i=ml=t.childNodes[0];e.background(mc,n,this);let a=!1===n.mark.interactive?"none":null;if(a!==mu.events&&(md(r,"pointer-events",a),md(i,"pointer-events",a),mu.events=a),n.strokeForeground&&n.stroke){let e=n.fill;md(r,"display",null),this.style(i,n),md(i,"stroke",null),e&&(n.fill=null),mu=r.__values__,this.style(r,n),e&&(n.fill=e),ml=null}else md(r,"display","none")},image(e,t,n){!1===n.smooth?(mf(t,"image-rendering","optimizeSpeed"),mf(t,"image-rendering","pixelated")):mf(t,"image-rendering",null)},text(e,t,n){let r,i,a,o;let l=p3(n);e2(l)?(r=(i=l.map(e=>p6(n,e))).join("\n"))!==mu.text&&(gg(t,0),a=t.ownerDocument,o=p2(n),i.forEach((e,r)=>{let i=gh(a,"tspan",mn);i.__data__=n,i.textContent=e,r&&(i.setAttribute("x",0),i.setAttribute("dy",o)),t.appendChild(i)}),mu.text=r):(i=p6(n,l))!==mu.text&&(t.textContent=i,mu.text=i),md(t,"font-family",p4(n)),md(t,"font-size",p1(n)+"px"),md(t,"font-style",n.fontStyle),md(t,"font-variant",n.fontVariant),md(t,"font-weight",n.fontWeight)}};function mc(e,t,n){var r;t!==mu[e]&&(n?(r=ml,null!=t?r.setAttributeNS(n,e,t):r.removeAttributeNS(n,e)):md(ml,e,t),mu[e]=t)}function mf(e,t,n){n!==mu[t]&&(null==n?e.style.removeProperty(t):e.style.setProperty(t,n+""),mu[t]=n)}function mh(e,t){for(let n in t)md(e,n,t[n])}function md(e,t,n){null!=n?e.setAttribute(t,n):e.removeAttribute(t)}function mp(){let e;return"undefined"==typeof window?"":(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}function mg(e){gx.call(this,e),this._text=null,this._defs={gradient:{},clipping:{}}}tB(mg,gx,{svg(){return this._text},_render(e){let t=g4();t.open("svg",tC({},pN,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));let n=this._bgcolor;return n&&"transparent"!==n&&"none"!==n&&t.open("rect",{width:this._width,height:this._height,fill:n}).close(),t.open("g",me,{transform:"translate("+this._origin+")"}),this.mark(t,e),t.close(),this.defs(t),this._text=t.close()+"",this},mark(e,t){let n=gr[t.marktype],r=n.tag,i=[g0,n.attr];e.open("g",{class:gm(t),"clip-path":t.clip?dL(this,t,t.group):null},g1(t),{"pointer-events":"g"!==r&&!1===t.interactive?"none":null});let a=a=>{let o=this.href(a);if(o&&e.open("a",o),e.open(r,this.attr(t,a,i,"g"!==r?r:null)),"text"===r){let t=p3(a);if(e2(t)){let n={x:0,dy:p2(a)};for(let r=0;r<t.length;++r)e.open("tspan",r?n:null).text(p6(a,t[r])).close()}else e.text(p6(a,t))}else if("g"===r){let r=a.strokeForeground,i=a.fill,o=a.stroke;r&&o&&(a.stroke=null),e.open("path",this.attr(t,a,n.background,"bgrect")).close(),e.open("g",this.attr(t,a,n.content)),ph(a,t=>this.mark(e,t)),e.close(),r&&o?(i&&(a.fill=null),a.stroke=o,e.open("path",this.attr(t,a,n.foreground,"bgrect")).close(),i&&(a.fill=i)):e.open("path",this.attr(t,a,n.foreground,"bgfore")).close()}e.close(),o&&e.close()};return n.nested?t.items&&t.items.length&&a(t.items[0]):ph(t,a),e.close()},href(e){let t;let n=e.href;if(n){if(t=this._hrefs&&this._hrefs[n])return t;this.sanitizeURL(n).then(e=>{e["xlink:href"]=e.href,e.href=null,(this._hrefs||(this._hrefs={}))[n]=e})}return null},attr(e,t,n,r){let i={},a=(e,t,n,r)=>{i[r||e]=t};
14return Array.isArray(n)?n.forEach(e=>e(a,t,this)):n(a,t,this),r&&function(e,t,n,r,i){let a;if(null!=t&&("bgrect"===r&&!1===n.interactive&&(e["pointer-events"]="none"),"bgfore"!==r||(!1===n.interactive&&(e["pointer-events"]="none"),e.display="none",null===t.fill))){for(let n in"image"===r&&!1===t.smooth&&(a=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]),"text"===r&&(e["font-family"]=p4(t),e["font-size"]=p1(t)+"px",e["font-style"]=t.fontStyle,e["font-variant"]=t.fontVariant,e["font-weight"]=t.fontWeight),g9){let r=t[n],a=g9[n];"transparent"===r&&("fill"===a||"stroke"===a)||null!=r&&(hG(r)&&(r=hV(r,i.gradient,"")),e[a]=r)}for(let e in g7){let n=t[e];null!=n&&(a=a||[]).push(`${g7[e]}: ${n};`)}a&&(e.style=a.join(" "))}}(i,t,e,r,this._defs),i},defs(e){let t=this._defs.gradient,n=this._defs.clipping,r=Object.keys(t).length+Object.keys(n).length;if(0!==r){for(let n in e.open("defs"),t){let r=t[n],i=r.stops;"radial"===r.gradient?(e.open("pattern",{id:"p_"+n,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),e.open("rect",{width:"1",height:"1",fill:"url(#"+n+")"}).close(),e.close(),e.open("radialGradient",{id:n,fx:r.x1,fy:r.y1,fr:r.r1,cx:r.x2,cy:r.y2,r:r.r2})):e.open("linearGradient",{id:n,x1:r.x1,x2:r.x2,y1:r.y1,y2:r.y2});for(let t=0;t<i.length;++t)e.open("stop",{offset:i[t].offset,"stop-color":i[t].color}).close();e.close()}for(let t in n){let r=n[t];e.open("clipPath",{id:t}),r.path?e.open("path",{d:r.path}).close():e.open("rect",{x:0,y:0,width:r.width,height:r.height}).close(),e.close()}e.close()}}});let mm="canvas",my="none",mv={Canvas:mm,PNG:"png",SVG:"svg",None:my},mb={};function mx(e,t){return(e=String(e||"").toLowerCase(),arguments.length>1)?(mb[e]=t,this):mb[e]}function m_(e,t,n){let r=[],i=new dP().union(t),a=e.marktype;return a?mw(e,i,n,r):"group"===a?mA(e,i,n,r):ej("Intersect scene must be mark node or group item.")}function mw(e,t,n,r){if(e.bounds&&t.intersects(e.bounds)&&("group"===e.marktype||!1!==e.interactive&&(!n||n(e)))){let i=e.items,a=e.marktype,o=i.length,l=0;if("group"===a)for(;l<o;++l)mA(i[l],t,n,r);else for(let e=gr[a].isect;l<o;++l){let n=i[l];mE(n,t,e)&&r.push(n)}}return r}function mA(e,t,n,r){n&&n(e.mark)&&mE(e,t,gr.group.isect)&&r.push(e);let i=e.items,a=i&&i.length;if(a){let o=e.x||0,l=e.y||0;t.translate(-o,-l);for(let e=0;e<a;++e)mw(i[e],t,n,r);t.translate(o,l)}return r}function mE(e,t,n){let r=e.bounds;return t.encloses(r)||t.intersects(r)&&n(e,t)}mb[mm]=mb.png={renderer:gP,headless:gP,handler:gO},mb.svg={renderer:mr,headless:mg,handler:gU},mb[my]={};let mk=new dP;function mC(e){let t=e.clip;if(tv(t))t(d1(mk.clear()));else{if(!t)return;mk.set(0,0,e.group.width,e.group.height)}e.bounds.intersect(mk)}function mD(e,t,n){return e===t||("path"===n?mF(e,t):e instanceof Date&&t instanceof Date?+e==+t:tP(e)&&tP(t)?1e-9>=Math.abs(e-t):e&&t&&(e3(e)||e3(t))?function(e,t){var n,r,i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(i.sort(),a.sort(),r=i.length-1;r>=0;r--)if(i[r]!=a[r])return!1;for(r=i.length-1;r>=0;r--)if(!mD(e[n=i[r]],t[n],n))return!1;return typeof e==typeof t}(e,t):e==t)}function mF(e,t){return mD(h5(e),h5(t))}function m$(){dR(),hY=0}let mM="left",mS="right",mN="bottom",mO="start",mB="middle",mT="group",mz="axis",mR="title",mL="legend",mP="row-header",mj="row-footer",mI="row-title",mU="column-header",mq="column-footer",mW="column-title",mH="fit-x",mY="fit-y",mG="none",mV="each",mX="flush",mZ="column";function mJ(e){oF.call(this,null,e)}function mQ(e,t,n){return t(e.bounds.clear(),e,n)}tB(mJ,oF,{transform(e,t){let n=t.dataflow,r=e.mark,i=r.marktype,a=gr[i],o=a.bound,l=r.bounds,u;if(a.nested)r.items.length&&n.dirty(r.items[0]),l=mQ(r,o),r.items.forEach(e=>{e.bounds.clear().union(l)});else if(i===mT||e.modified())switch(t.visit(t.MOD,e=>n.dirty(e)),l.clear(),r.items.forEach(e=>l.union(mQ(e,o))),r.role){case mz:case mL:case mR:t.reflow()}else u=t.changed(t.REM),t.visit(t.ADD,e=>{l.union(mQ(e,o))}),t.visit(t.MOD,e=>{u=u||l.alignsWith(e.bounds),n.dirty(e),l.union(mQ(e,o))}),u&&(l.clear(),r.items.forEach(e=>l.union(e.bounds)));return mC(r),t.modifies("bounds")}});let mK=":vega_identifier:";function m0(e){oF.call(this,0,e)}function m1(e){oF.call(this,null,e)}function m2(e){oF.call(this,null,e)}m0.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},tB(m0,oF,{transform(e,t){var n;let r=(n=t.dataflow)._signals[mK]||(n._signals[mK]=n.add(0)),i=e.as,a=r.value;return t.visit(t.ADD,e=>e[i]=e[i]||++a),r.set(this.value=a),t}}
14),tB(m1,oF,{transform(e,t){let n=this.value;n||((n=t.dataflow.scenegraph().mark(e.markdef,function(e){let t=e.groups,n=e.parent;return t&&1===t.size?t.get(Object.keys(t.object)[0]):t&&n?t.lookup(n):null}(e),e.index)).group.context=e.context,e.context.group||(e.context.group=n.group),n.source=this.source,n.clip=e.clip,n.interactive=e.interactive,this.value=n);let r=n.marktype===mT?dI:dj;return t.visit(t.ADD,e=>r.call(e,n)),(e.modified("clip")||e.modified("interactive"))&&(n.clip=e.clip,n.interactive=!!e.interactive,n.zdirty=!0,t.reflow()),n.items=t.source,t}});let m3={parity:e=>e.filter((e,t)=>t%2?e.opacity=0:1),greedy:(e,t)=>{let n;return e.filter((e,r)=>r&&m5(n.bounds,e.bounds,t)?e.opacity=0:(n=e,1))}},m5=(e,t,n)=>n>Math.max(t.x1-e.x2,e.x1-t.x2,t.y1-e.y2,e.y1-t.y2),m6=(e,t)=>{for(var n,r=1,i=e.length,a=e[0].bounds;r<i;a=n,++r)if(m5(a,n=e[r].bounds,t))return!0},m4=e=>{let t=e.bounds;return t.width()>1&&t.height()>1},m8=(e,t,n)=>{var r=e.range(),i=new dP;return"top"===t||t===mN?i.set(r[0],-1/0,r[1],Infinity):i.set(-1/0,r[0],Infinity,r[1]),i.expand(n||1),e=>i.encloses(e.bounds)},m9=e=>(e.forEach(e=>e.opacity=1),e),m7=(e,t)=>e.reflow(t.modified()).modifies("opacity");function ye(e){oF.call(this,null,e)}tB(m2,oF,{transform(e,t){let n=m3[e.method]||m3.parity,r=e.separation||0,i=t.materialize(t.SOURCE).source,a,o;if(!i||!i.length)return;if(!e.method)return e.modified("method")&&(m9(i),t=m7(t,e)),t;if(!(i=i.filter(m4)).length)return;if(e.sort&&(i=i.slice().sort(e.sort)),a=m9(i),t=m7(t,e),a.length>=3&&m6(a,r)){do a=n(a,r);while(a.length>=3&&m6(a,r));a.length<3&&!e8(i).opacity&&(a.length>1&&(e8(a).opacity=0),e8(i).opacity=1)}e.boundScale&&e.boundTolerance>=0&&(o=m8(e.boundScale,e.boundOrient,+e.boundTolerance),i.forEach(e=>{o(e)||(e.opacity=0)}));let l=a[0].mark.bounds.clear();return i.forEach(e=>{e.opacity&&l.union(e.bounds)}),t}}),tB(ye,oF,{transform(e,t){let n=t.dataflow;if(t.visit(t.ALL,e=>n.dirty(e)),t.fields&&t.fields.zindex){let e=t.source&&t.source[0];e&&(e.mark.zdirty=!0)}}});let yt=new dP;function yn(e,t,n){return e[t]===n?0:(e[t]=n,1)}function yr(e,t,n,r,i,a,o,l){let u=t.bounds;if(t.auto){let l=o*(n+i+r),s=0,c=0;e.dirty(t),a?s=(t.x||0)-(t.x=l):c=(t.y||0)-(t.y=l),t.mark.bounds.clear().union(u.translate(-s,-c)),e.dirty(t)}l.union(u)}let yi=(e,t)=>Math.floor(Math.min(e,t)),ya=(e,t)=>Math.ceil(Math.max(e,t));function yo(e){return new dP().set(0,0,e.width||0,e.height||0)}function yl(e){let t=e.bounds.clone();return t.empty()?t.set(0,0,0,0):t.translate(-(e.x||0),-(e.y||0))}function yu(e,t,n){let r=e3(e)?e[t]:e;return null!=r?r:void 0!==n?n:0}function ys(e){return e<0?Math.ceil(-e):0}function yc(e,t,n){var r,i,a,o,l,u,s,c,f,h,d,p=!n.nodirty,g=n.bounds===mX?yo:yl,m=yt.set(0,0,0,0),y=yu(n.align,mZ),v=yu(n.align,"row"),b=yu(n.padding,mZ),x=yu(n.padding,"row"),_=n.columns||t.length,w=_<=0?1:Math.ceil(t.length/_),A=t.length,E=Array(A),k=Array(_),C=0,D=Array(A),F=Array(w),$=0,M=Array(A),S=Array(A),N=Array(A);for(i=0;i<_;++i)k[i]=0;for(i=0;i<w;++i)F[i]=0;for(i=0;i<A;++i)u=t[i],l=N[i]=g(u),u.x=u.x||0,M[i]=0,u.y=u.y||0,S[i]=0,a=i%_,o=~~(i/_),C=Math.max(C,s=Math.ceil(l.x2)),$=Math.max($,c=Math.ceil(l.y2)),k[a]=Math.max(k[a],s),F[o]=Math.max(F[o],c),E[i]=b+ys(l.x1),D[i]=x+ys(l.y1),p&&e.dirty(t[i]);for(i=0;i<A;++i)i%_==0&&(E[i]=0),i<_&&(D[i]=0);if(y===mV)for(a=1;a<_;++a){for(d=0,i=a;i<A;i+=_)d<E[i]&&(d=E[i]);for(i=a;i<A;i+=_)E[i]=d+k[a-1]}else if("all"===y){for(d=0,i=0;i<A;++i)i%_&&d<E[i]&&(d=E[i]);for(i=0;i<A;++i)i%_&&(E[i]=d+C)}else for(y=!1,a=1;a<_;++a)for(i=a;i<A;i+=_)E[i]+=k[a-1];if(v===mV)for(o=1;o<w;++o){for(d=0,r=(i=o*_)+_;i<r;++i)d<D[i]&&(d=D[i]);for(i=o*_;i<r;++i)D[i]=d+F[o-1]}else if("all"===v){for(d=0,i=_;i<A;++i)d<D[i]&&(d=D[i]);for(i=_;i<A;++i)D[i]=d+$}else for(v=!1,o=1;o<w;++o)for(r=(i=o*_)+_;i<r;++i)D[i]+=F[o-1];for(f=0,i=0;i<A;++i)f=E[i]+(i%_?f:0),M[i]+=f-t[i].x;for(a=0;a<_;++a)for(h=0,i=a;i<A;i+=_)h+=D[i],S[i]+=h-t[i].y;if(y&&yu(n.center,mZ)&&w>1)for(i=0;i<A;++i)(f=(l="all"===y?C:k[i%_])-N[i].x2-t[i].x-M[i])>0&&(M[i]+=f/2);if(v&&yu(n.center,"row")&&1!==_)for(i=0;i<A;++i)(h=(l="all"===v?$:F[~~(i/_)])-N[i].y2-t[i].y-S[i])>
140&&(S[i]+=h/2);for(i=0;i<A;++i)m.union(N[i].translate(M[i],S[i]));switch(f=yu(n.anchor,"x"),h=yu(n.anchor,"y"),yu(n.anchor,mZ)){case"end":f-=m.width();break;case mB:f-=m.width()/2}switch(yu(n.anchor,"row")){case"end":h-=m.height();break;case mB:h-=m.height()/2}for(f=Math.round(f),h=Math.round(h),m.clear(),i=0;i<A;++i)t[i].mark.bounds.clear();for(i=0;i<A;++i)u=t[i],u.x+=M[i]+=f,u.y+=S[i]+=h,m.union(u.mark.bounds.union(u.bounds.translate(M[i],S[i]))),p&&e.dirty(u);return m}function yf(e,t){return"x1"===t?e.x||0:"y1"===t?e.y||0:"x2"===t?(e.x||0)+(e.width||0):"y2"===t?(e.y||0)+(e.height||0):void 0}function yh(e,t){return e.bounds[t]}function yd(e,t,n,r,i,a,o,l,u,s,c,f,h,d){var p,g,m,y,v,b,x,_,w,A=n.length,E=0,k=0;if(!A)return E;for(p=c;p<A;p+=f)n[p]&&(E=o(E,u(n[p],s)));if(!t.length)return E;for(t.length>i&&(e.warn("Grid headers exceed limit: "+i),t=t.slice(0,i)),E+=a,g=0,y=t.length;g<y;++g)e.dirty(t[g]),t[g].mark.bounds.clear();for(p=c,g=0,y=t.length;g<y;++g,p+=f){for(v=(b=t[g]).mark.bounds,m=p;m>=0&&null==(x=n[m]);m-=h);l?(_=null==d?x.x:Math.round(x.bounds.x1+d*x.bounds.width()),w=E):(_=E,w=null==d?x.y:Math.round(x.bounds.y1+d*x.bounds.height())),v.union(b.bounds.translate(_-(b.x||0),w-(b.y||0))),b.x=_,b.y=w,e.dirty(b),k=o(k,v[s])}return k}function yp(e,t,n,r,i,a){if(t){e.dirty(t);var o=n,l=n;r?o=Math.round(i.x1+a*i.width()):l=Math.round(i.y1+a*i.height()),t.bounds.translate(o-(t.x||0),l-(t.y||0)),t.mark.bounds.clear().union(t.bounds),t.x=o,t.y=l,e.dirty(t)}}function yg(e,t,n,r,i,a,o){let l="symbol"!==e.datum.type,u=n.datum.vgrad,s=l&&(a||!u)&&!o?t.items[0]:t,c=s.bounds[i?"y2":"x2"]-e.padding,f=i<=0?0:p5(n);return Math.round(r===mO?u&&a?c:0:"end"===r?(u&&a?0:c)-f:.5*(c-f))}function ym(e,t,n,r){t.x+=n,t.y+=r,t.bounds.translate(n,r),t.mark.bounds.translate(n,r),e.dirty(t)}function yy(e){oF.call(this,null,e)}function yv(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),a=Array(i);++r<i;)a[r]=e+r*n;return a}function yb(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function yx(e,t,n,r,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*n+(1+3*e+3*a-3*o)*r+o*i)/6}tB(yy,oF,{transform(e,t){var n;let r=t.dataflow;return e.mark.items.forEach(t=>{e.layout&&function(e,t,n){var r,i,a,o,l,u,s,c=function(e){var t,n,r=e.items,i=r.length,a=0;let o={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;a<i;++a)if(n=(t=r[a]).items,t.marktype===mT)switch(t.role){case mz:case mL:case mR:break;case mP:o.rowheaders.push(...n);break;case mj:o.rowfooters.push(...n);break;case mU:o.colheaders.push(...n);break;case mq:o.colfooters.push(...n);break;case mI:o.rowtitle=n[0];break;case mW:o.coltitle=n[0];break;default:o.marks.push(...n)}return o}(t),f=c.marks,h=n.bounds===mX?yf:yh,d=n.offset,p=n.columns||f.length,g=p<=0?1:Math.ceil(f.length/p);let m=yc(e,f,n);m.empty()&&m.set(0,0,0,0),c.rowheaders&&(u=yu(n.headerBand,"row",null),r=yd(e,c.rowheaders,f,p,g,-yu(d,"rowHeader"),yi,0,h,"x1",0,p,1,u)),c.colheaders&&(u=yu(n.headerBand,mZ,null),i=yd(e,c.c
14olheaders,f,p,p,-yu(d,"columnHeader"),yi,1,h,"y1",0,1,p,u)),c.rowfooters&&(u=yu(n.footerBand,"row",null),a=yd(e,c.rowfooters,f,p,g,yu(d,"rowFooter"),ya,0,h,"x2",p-1,p,1,u)),c.colfooters&&(u=yu(n.footerBand,mZ,null),o=yd(e,c.colfooters,f,p,p,yu(d,"columnFooter"),ya,1,h,"y2",g*p-p,1,p,u)),c.rowtitle&&(l=yu(n.titleAnchor,"row"),s=yu(d,"rowTitle"),s="end"===l?a+s:r-s,u=yu(n.titleBand,"row",.5),yp(e,c.rowtitle,s,0,m,u)),c.coltitle&&(l=yu(n.titleAnchor,mZ),s=yu(d,"columnTitle"),s="end"===l?o+s:i-s,u=yu(n.titleBand,mZ,.5),yp(e,c.coltitle,s,1,m,u))}(r,t,e.layout),function(e,t,n){var r,i,a,o,l,u=t.items,s=Math.max(0,t.width||0),c=Math.max(0,t.height||0),f=new dP().set(0,0,s,c),h=f.clone(),d=f.clone(),p=[];for(o=0,l=u.length;o<l;++o)switch((i=u[o]).role){case mz:(!function(e){var t=e.items[0].orient;return t===mM||t===mS}(i)?d:h).union(function(e,t,n,r){let i;var a,o,l=t.items[0],u=l.datum,s=null!=l.translate?l.translate:.5,c=l.orient,f=(i=+u.grid,[u.ticks?i++:-1,u.labels?i++:-1,i+ +u.domain]),h=l.range,d=l.offset,p=l.position,g=l.minExtent,m=l.maxExtent,y=u.title&&l.items[f[2]].items[0],v=l.titlePadding,b=l.bounds,x=y&&p5(y),_=0,w=0;switch(yt.clear().union(b),b.clear(),(a=f[0])>-1&&b.union(l.items[a].bounds),(a=f[1])>-1&&b.union(l.items[a].bounds),c){case"top":_=p||0,w=-d,o=Math.max(g,Math.min(m,-b.y1)),b.add(0,-o).add(h,0),y&&yr(e,y,o,v,x,0,-1,b);break;case mM:_=-d,w=p||0,o=Math.max(g,Math.min(m,-b.x1)),b.add(-o,0).add(0,h),y&&yr(e,y,o,v,x,1,-1,b);break;case mS:_=n+d,w=p||0,o=Math.max(g,Math.min(m,b.x2)),b.add(0,0).add(o,h),y&&yr(e,y,o,v,x,1,1,b);break;case mN:_=p||0,w=r+d,o=Math.max(g,Math.min(m,b.y2)),b.add(0,0).add(h,o),y&&yr(e,y,o,v,0,0,1,b);break;default:_=l.x,w=l.y}
14return dH(b.translate(_,w),l),yn(l,"x",_+s)|yn(l,"y",w+s)&&(l.bounds=yt,e.dirty(l),l.bounds=b,e.dirty(l)),l.mark.bounds.clear().union(b)}(e,i,s,c));break;case mR:r=i;break;case mL:p.push(function(e,t){var n,r,i=t.items[0],a=i.datum,o=i.orient,l=i.bounds,u=i.x,s=i.y;return i._bounds?i._bounds.clear().union(l):i._bounds=l.clone(),l.clear(),function(e,t,n){var r=t.padding,i=r-n.x,a=r-n.y;if(t.datum.title){var o=t.items[1].items[0],l=o.anchor,u=t.titlePadding||0,s=r-o.x,c=r-o.y;switch(o.orient){case mM:i+=Math.ceil(o.bounds.width())+u;break;case mS:case mN:break;default:a+=o.bounds.height()+u}switch((i||a)&&ym(e,n,i,a),o.orient){case mM:c+=yg(t,n,o,l,1,1);break;case mS:s+=yg(t,n,o,"end",0,0)+u,c+=yg(t,n,o,l,1,1);break;case mN:s+=yg(t,n,o,l,0,0),c+=yg(t,n,o,"end",-1,0,1)+u;break;default:s+=yg(t,n,o,l,0,0)}(s||c)&&ym(e,o,s,c),(s=Math.round(o.bounds.x1-r))<0&&(ym(e,n,-s,0),ym(e,o,-s,0))}else(i||a)&&ym(e,n,i,a)}(e,i,i.items[0].items[0]),l=function(e,t){return e.items.forEach(e=>t.union(e.bounds)),t.x1=e.padding,t.y1=e.padding,t}(i,l),n=2*i.padding,r=2*i.padding,l.empty()||(n=Math.ceil(l.width()+n),r=Math.ceil(l.height()+r)),"symbol"===a.type&&function(e){let t=e.reduce((e,t)=>(e[t.column]=Math.max(t.bounds.x2-t.x,e[t.column]||0),e),{});e.forEach(e=>{e.width=t[e.column],e.height=e.bounds.y2-e.y})}(i.items[0].items[0].items[0].items),o!==mG&&(i.x=u=0,i.y=s=0),i.width=n,i.height=r,dH(l.set(u,s,u+n,s+r),i),i.mark.bounds.clear().union(l),i}(e,i));break;case"frame":case"scope":case mP:case mj:case mI:case mU:case mq:case mW:h.union(i.bounds),d.union(i.bounds);break;default:f.union(i.bounds)}if(p.length){let t={};for(let r in p.forEach(e=>{(a=e.orient||mS)!==mG&&(t[a]||(t[a]=[])).push(e)}),t){let i=t[r];yc(e,i,function(e,t,n,r,i,a,o){var l;let u;let s=function(e,t){let n=e[t]||{};return(t,r)=>null!=n[t]?n[t]:null!=e[t]?e[t]:r}(n,t),c=(l=s("offset",0),u=-1/0,e.forEach(e=>{null!=e.offset&&(u=Math.max(u,e.offset))}),u>-1/0?u:l),f=s("anchor",mO),h="end"===f?1:f===mB?.5:0,d={align:mV,bounds:s("bounds",mX),columns:"vertical"===s("direction")?1:e.length,padding:s("margin",8),center:s("center"),nodirty:!0};switch(t){case mM:d.anchor={x:Math.floor(r.x1)-c,column:"end",y:h*(o||r.height()+2*r.y1),row:f};break;case mS:d.anchor={x:Math.ceil(r.x2)+c,y:h*(o||r.height()+2*r.y1),row:f};break;case"top":d.anchor={y:Math.floor(i.y1)-c,row:"end",x:h*(a||i.width()+2*i.x1),column:f};break;case mN:d.anchor={y:Math.ceil(i.y2)+c,x:h*(a||i.width()+2*i.x1),column:f};break;case"top-left":d.anchor={x:c,y:c};break;case"top-right":d.anchor={x:a-c,y:c,column:"end"};break;case"bottom-left":d.anchor={x:c,y:o-c,row:"end"};break;case"bottom-right":d.anchor={x:a-c,y:o-c,column:"end",row:"end"}}return d}(i,r,n.legends,h,d,s,c))}p.forEach(t=>{let r=t.bounds;
14if(r.equals(t._bounds)||(t.bounds=t._bounds,e.dirty(t),t.bounds=r,e.dirty(t)),n.autosize&&("fit"===n.autosize.type||n.autosize.type===mH||n.autosize.type===mY))switch(t.orient){case mM:case mS:f.add(r.x1,0).add(r.x2,0);break;case"top":case mN:f.add(0,r.y1).add(0,r.y2)}else f.union(r)})}f.union(h).union(d),r&&f.union(function(e,t,n,r,i){var a,o=t.items[0],l=o.frame,u=o.orient,s=o.anchor,c=o.offset,f=o.padding,h=o.items[0].items[0],d=o.items[1]&&o.items[1].items[0],p=u===mM||u===mS?r:n,g=0,m=0,y=0,v=0,b=0;if(l!==mT?u===mM?(g=i.y2,p=i.y1):u===mS?(g=i.y1,p=i.y2):(g=i.x1,p=i.x2):u===mM&&(g=r,p=0),a=s===mO?g:"end"===s?p:(g+p)/2,d&&d.text){switch(u){case"top":case mN:b=h.bounds.height()+f;break;case mM:v=h.bounds.width()+f;break;case mS:v=-h.bounds.width()-f}yt.clear().union(d.bounds),yt.translate(v-(d.x||0),b-(d.y||0)),yn(d,"x",v)|yn(d,"y",b)&&(e.dirty(d),d.bounds.clear().union(yt),d.mark.bounds.clear().union(yt),e.dirty(d)),yt.clear().union(d.bounds)}else yt.clear();switch(yt.union(h.bounds),u){case"top":m=a,y=i.y1-yt.height()-c;break;case mM:m=i.x1-yt.width()-c,y=a;break;case mS:m=i.x2+yt.width()+c,y=a;break;case mN:m=a,y=i.y2+c;break;default:m=o.x,y=o.y}return yn(o,"x",m)|yn(o,"y",y)&&(yt.translate(m,y),e.dirty(o),o.bounds.clear().union(yt),t.bounds.clear().union(yt),e.dirty(o)),o.bounds}(e,r,s,c,f)),t.clip&&f.set(0,0,t.width||0,t.height||0),function(e,t,n,r){let i=r.autosize||{},a=i.type;if(e._autosize<1||!a)return;let o=e._width,l=e._height,u=Math.max(0,t.width||0),s=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,t.height||0),f=Math.max(0,Math.ceil(-n.y1)),h=Math.max(0,Math.ceil(n.x2-u)),d=Math.max(0,Math.ceil(n.y2-c));if("padding"===i.contains){let t=e.padding();o-=t.left+t.right,l-=t.top+t.bottom}a===mG?(s=0,f=0,u=o,c=l):"fit"===a?(u=Math.max(0,o-s-h),c=Math.max(0,l-f-d)):a===mH?(u=Math.max(0,o-s-h),l=c+f+d):a===mY?(o=u+s+h,c=Math.max(0,l-f-d)):"pad"===a&&(o=u+s+h,l=c+f+d),e._resizeView(o,l,u,c,[s,f],i.resize)}(e,t,f,n)}(r,t,e)}),(n=e.mark.group)&&"legend-entry"!==n.mark.role?t.reflow():t}});var y_=e=>()=>e;function yw(e,t){var n=t-e;return n?function(t){return e+t*n}:y_(isNaN(e)?t:e)}var yA=function e(t){var n,r=1==(n=+(n=t))?yw:function(e,t){var r,i,a;return t-e?(r=e,i=t,r=Math.pow(r,a=n),i=Math.pow(i,a)-r,a=1/a,function(e){return Math.pow(r+e*i,a)}):y_(isNaN(e)?t:e)};function i(e,t){var n=r((e=(0,sK.B8)(e)).r,(t=(0,sK.B8)(t)).r),i=r(e.g,t.g),a=r(e.b,t.b),o=yw(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+""}}return i.gamma=e,i}(1);function yE(e){return function(t){var n,r,i=t.length,a=Array(i),o=Array(i),l=Array(i);for(n=0;n<i;++n)r=(0,sK.B8)(t[n]),a[n]=r.r||0,o[n]=r.g||0,l[n]=r.b||0;return a=e(a),o=e(o),l=e(l),r.opacity=1,function(e){return r.r=a(e),r.g=o(e),r.b=l(e),r+""}}}function yk(e,t){var n,r=t?t.length:0,i=e?Math.min(r,e.length):0,a=Array(i),o=Array(r);for(n=0;n<i;++n)a[n]=yO(e[n],t[n]);for(;n<r;++n)o[n]=t[n];return function(e){for(n=0;n<i;++n)o[n]=a[n](e);return o}}function yC(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function yD(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function yF(e,t){var n,r={},i={};for(n in(null===e||"object"!=typeof e)&&(e={}),(null===t||"object"!=typeof t)&&(t={}),t)n in e?r[n]=yO(e[n],t[n]):i[n]=t[n];return function(e){for(n in r)i[n]=r[n](e);return i}}yE(function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],a=e[r+1],o=r>0?e[r-1]:2*i-a,l=r<t-1?e[r+2]:2*a-i;return yx((n-r/t)*t,o,i,a,l)}}),yE(function(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),i=e[(r+t-1)%t],a=e[r%t],o=e[(r+1)%t],l=e[(r+2)%t];return yx((n-r/t)*t,i,a,o,l)}});var y$=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,yM=RegExp(y$.source,"g");function yS(e,t){var n,r,i,a,o,l=y$.lastIndex=yM.lastIndex=0,u=-1,s=[],c=[];for(e+="",t+="";(i=y$.exec(e))&&(a=yM.exec(t));)(o=a.index)>l&&(o=t.slice(l,o),s[u]?s[u]+=o:s[++u]=o),(i=i[0])===(a=a[0])?s[u]?s[u]+=a:s[++u]=a:(s[++u]=null,c.push({i:u,x:yD(i,a)})),l=yM.lastIndex;return l<t.length&&(o=t.slice(l),s[u]?s[u]+=o:s[++u]=o),s.length<2?c[0]?(n=c[0].x,function(e){return n(e)+""}):(r=t,function(){return r}):(t=c.length,function(e){for(var n,r=0;r<t;++r)s[(n=c[r]).i]=n.x(e);return s.join("")})}function yN(e,t){t||(t=[]);var n,r=e?Math.min(t.length,e.length):0,i=t.slice();return function(a){for(n=0;n<r;++n)i[n]=e[n]*(1-a)+t[n]*a;return i}}function yO(e,t){var n,r,i=typeof t;return null==t||"boolean"===i?y_(t):("number"===i?yD:"string"===i?(r=(0,sK.ZP)(t))?(t=r,yA):yS:t instanceof sK.ZP?yA:t instanceof Date?yC:(n=t,!ArrayBuffer.isView(n)||n instanceof DataView)?Array.isArray(t)?yk:"function"!=typeof t.valueOf&&"function"!=typeof t.toString||isNaN(t)?yF:yD:yN)(e,t)}function yB(e){oF.call(this,null,e)}function yT(e){oF.call(this,null,e)}function yz(){return a5({})}function yR(e){oF.call(this,null,e)}function yL(e){oF.call(this,[],e)}tB(yB,oF,{transform(e,t){if(this.value&&!e.modified())return t.StopPropagation;var n=t.dataflow.locale(),r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=this.value,a=e.scale,o=hM(a,null==e.count?e.values?e.values.length:10:e.count,e.minstep),l=e.format||hO(n,a,o,e.formatSpecifier,e.formatType,!!e.values),u=e.values?hS(a,e.values,o):hN(a,o);return i&&(r.rem=i),i=u.map((e,t)=>a5({index:t/(u.length-1||1),value:e,label:l(e)})),e.extra&&i.length&&i.push(a5({index:-1,extra:{value:i[0].value},label:""}
14)),r.source=i,r.add=i,this.value=i,r}}),tB(yT,oF,{transform(e,t){var n=t.dataflow,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.item||yz,a=e.key||a3,o=this.value;return e2(r.encode)&&(r.encode=null),o&&(e.modified("key")||t.modified(a))&&ej("DataJoin does not support modified key function or fields."),o||(t=t.addAll(),this.value=o=function(e){let t=tN().test(e=>e.exit);return t.lookup=n=>t.get(e(n)),t}(a)),t.visit(t.ADD,e=>{let t=a(e),n=o.get(t);n?n.exit?(o.empty--,r.add.push(n)):r.mod.push(n):(n=i(e),o.set(t,n),r.add.push(n)),n.datum=e,n.exit=!1}),t.visit(t.MOD,e=>{let t=a(e),n=o.get(t);n&&(n.datum=e,r.mod.push(n))}),t.visit(t.REM,e=>{let t=a(e),n=o.get(t);e===n.datum&&!n.exit&&(r.rem.push(n),n.exit=!0,++o.empty)}),t.changed(t.ADD_MOD)&&r.modifies("datum"),(t.clean()||e.clean&&o.empty>n.cleanThreshold)&&n.runAfter(o.clean),r}}),tB(yR,oF,{transform(e,t){var n=t.fork(t.ADD_REM),r=e.mod||!1,i=e.encoders,a=t.encode;if(e2(a)){if(!(n.changed()||a.every(e=>i[e])))return t.StopPropagation;a=a[0],n.encode=null}var o="enter"===a,l=i.update||eV,u=i.enter||eV,s=i.exit||eV,c=(a&&!o?i[a]:l)||eV;if(t.changed(t.ADD)&&(t.visit(t.ADD,t=>{u(t,e),l(t,e)}),n.modifies(u.output),n.modifies(l.output),c!==eV&&c!==l&&(t.visit(t.ADD,t=>{c(t,e)}),n.modifies(c.output))),t.changed(t.REM)&&s!==eV&&(t.visit(t.REM,t=>{s(t,e)}),n.modifies(s.output)),o||c!==eV){let i=t.MOD|(e.modified()?t.REFLOW:0);o?(t.visit(i,t=>{let i=u(t,e)||r;(c(t,e)||i)&&n.mod.push(t)}),n.mod.length&&n.modifies(u.output)):t.visit(i,t=>{(c(t,e)||r)&&n.mod.push(t)}),n.mod.length&&n.modifies(c.output)}return n.changed()?n:t.StopPropagation}}),tB(yL,oF,{transform(e,t){if(null!=this.value&&!e.modified())return t.StopPropagation;var n,r,i,a,o,l=t.dataflow.locale(),u=t.fork(t.NO_SOURCE|t.NO_FIELDS),s=this.value,c=e.type||hC,f=e.scale,h=+e.limit,d=hM(f,null==e.count?5:e.count,e.minstep),p=!!e.values||c===hC,g=e.format||hP(l,f,d,c,e.formatSpecifier,e.formatType,p),m=e.values||hR(f,d);return s&&(u.rem=s),c===hC?(h&&m.length>h?(t.dataflow.warn("Symbol legend count exceeds limit, filtering items."),s=m.slice(0,h-1),o=!0):s=m,tv(i=e.size)?(e.values||0!==f(s[0])||(s=s.slice(1)),a=s.reduce((t,n)=>Math.max(t,i(n,e)),0)):i=tE(a=i||8),s=s.map((t,n)=>a5({index:n,label:g(t,n,s),value:t,offset:a,size:i(t,e)})),o&&(o=m[s.length],s.push(a5({index:s.length,label:`\u2026${m.length-s.length} entries`,value:o,offset:a,size:i(o,e)})))):"gradient"===c?(n=f.domain(),r=hx(f,n[0],e8(n)),m.length<3&&!e.values&&n[0]!==e8(n)&&(m=[n[0],e8(n)]),s=m.map((e,t)=>a5({index:t,label:g(e,t,m),value:e,perc:r(e)}))):(i=m.length-1,r=function(e){let t=e.domain(),n=t.length-1,r=+t[0],i=+e8(t),a=i-r;if(e.type===f7){let e=n?a/n:.1;r-=e,i+=e,a=i-r}return e=>(e-r)/a}(f),s=m.map((e,t)=>a5({index:t,label:g(e,t,m),value:e,perc:t?r(e):0,perc2:t===i?1:r(m[t+1])}))),u.source=s,u.add=s,this.value=s,u}});let yP=e=>e.source.x,yj=e=>e.source.y,yI=e=>e.target.x,yU=e=>e.target.y;function yq(e){oF.call(this,{},e)}yq.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},tB(yq,oF,{transform(e,t){var n=e.sourceX||yP,r=e.sourceY||yj,i=e.targetX||yI,a=e.targetY||yU,o=e.as||"path",l=e.orient||"vertical",u=e.shape||"line",s=y0.get(u+"-"+l)||y0.get(u);return s||ej("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),t.visit(t.SOURCE,e=>{e[o]=s(n(e),r(e),i(e),a(e))}),t.reflow(e.modified()).modifies(o)}});let yW=(e,t,n,r)=>"M"+e+","+t+"L"+n+","+r,yH=(e,t,n,r)=>yW(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),yY=(e,t,n,r)=>{var i=n-e,a=r-t,o=Math.hypot(i,a)/2;return"M"+e+","+t+"A"+o+","+o+" "+180*Math.atan2(a,i)/Math.PI+" 0 1 "+n+","+r},yG=(e,t,n,r)=>yY(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),yV=(e,t,n,r)=>{let i=n-e,a=r-t,o=.2*(i+a),l=.2*(a-i);return"M"+e+","+t+"C"+(e+o)+","+(t+l)+" "+(n+l)+","+(r-o)+" "+n+","+r},yX=(e,t,n,r)=>yV(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),yZ=(e,t,n,r)=>{let i=Math.cos(n),a=Math.sin(n);return"M"+t*Math.cos(e)+","+t*Math.sin(e)+"A"+t+","+t+" 0 0,"+((Math.abs(n-e)>Math.PI?n<=e:n>e)?1:0)+" "+t*i+","+t*a+"L"+r*i+","+r*a},yJ=(e,t,n,r)=>{let i=(e+n)/2;return"M"+e+","+t+"C"+i+","+t+" "+i+","+r+" "+n+","+r},yQ=(e,t,n,r)=>{let i=(t+r)/2;return"M"+e+","+t+"C"+e+","+i+" "+n+","+i+" "+n+","+r},yK=(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),l=Math.sin(n),u=(t+r)/2;return"M"+t*i+","+t*a+"C"+u*i+","+u*a+" "+u*o+","+u*l+" "+r*o+","+r*l},y0=tN({line:yW,"line-radial":yH,arc:yY,"arc-radial":yG,curve:yV,"curve-radial":yX,"orthogonal-horizontal":(e,t,n,r)=>"M"+e+","+t+"V"+r+"H"+n,"orthogonal-vertical":(e,t,n,r)=>"M"+e+","+t+"H"+n+"V"+r,"orthogonal-radial":yZ,"diagonal-horizontal":yJ,"diagonal-vertical":yQ,"diagonal-radial":yK});function y1(e){oF.call(this,null,e)}function y2(e){return hg(e,hi)&&e!==f6}y1.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},tB(y1,oF,{transform(e,t){var n,r,i,a=e.as||["startAngle","endAngle"],o=a[0],l=a[1],u=e.field||eY,s=e.startAngle||0,c=null!=e.endAngle?e.endAngle:2*Math.PI,f=t.source,h=f.map(u),d=h.length,p=s,g=(c-s)/function(e,t){let n=0;if(void 0===t)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}(h),m=yv(d);for(e.sort&&m.sort((e,t)=>
14h[e]-h[t]),n=0;n<d;++n)i=h[m[n]],(r=f[m[n]])[o]=p,r[l]=p+=i*g;return this.value=h,t.reflow(e.modified()).modifies(a)}});let y3=t0(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function y5(e){oF.call(this,null,e),this.modified(!0)}function y6(e,t,n){return hg(e,"log")&&Math.abs(t.reduce((e,t)=>e+(t<0?-1:t>0?1:0),0))!==t.length&&n.warn("Log scale domain includes zero: "+tX(t)),t}function y4(e,t,n){return tv(e)&&(t||n)?hy(e,y8(t||[0,1],n)):e}function y8(e,t){return t?e.slice().reverse():e}function y9(e){oF.call(this,null,e)}tB(y5,oF,{transform(e,t){var n,r,i,a=t.dataflow,o=this.value,l=(r=e.type,i="",r===f6?f6+"-"+f1:(function(e){let t=e.type;return hg(t,hi)&&t!==f5&&"utc"!==t&&(e.scheme||e.range&&e.range.length&&e.range.every(tI))}(e)&&(i=2===(n=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(null!=e.domainMid):0)?f6+"-":3===n?f4+"-":""),(i+r||f1).toLowerCase()));for(l in o&&l===o.type||(this.value=o=hp(l)()),e)if(!y3[l]){if("padding"===l&&y2(o.type))continue;tv(o[l])?o[l](e[l]):a.warn("Unsupported scale property: "+l)}return function(e,t,n){var r,i,a,o,l,u=e.type,s=t.round||!1,c=t.range;if(null!=t.rangeStep)u!==hn&&u!==ht&&ej("Only band and point scales support rangeStep."),r=(null!=t.paddingOuter?t.paddingOuter:t.padding)||0,i=u===ht?1:(null!=t.paddingInner?t.paddingInner:t.padding)||0,c=[0,t.rangeStep*f0(n,i,r)];else if(t.scheme&&tv((a=n,l=t.schemeExtent,e2(t.scheme)?o=hv(t.scheme,t.interpolate,t.interpolateGamma):(o=hk(t.scheme.toLowerCase()))||ej(`Unrecognized scheme name: ${t.scheme}`),a=u===f7?a+1:u===hr?a-1:u===f8||u===f9?+t.schemeCount||5:a,c=hg(u,hl)?y4(o,l,t.reverse):tv(o)?hb(y4(o,l),a):u===he?o:o.slice(0,a)))){if(e.interpolator)return e.interpolator(c);ej(`Scale type ${u} does not support interpolating color schemes.`)}if(c&&hg(u,hl))return e.interpolator(hv(y8(c,t.reverse),t.interpolate,t.interpolateGamma));c&&t.interpolate&&e.interpolate?e.interpolate(h_(t.interpolate,t.interpolateGamma)):tv(e.round)?e.round(s):tv(e.rangeRound)&&e.interpolate(s?yb:yO),c&&e.range(y8(c,t.reverse))}(o,e,function(e,t,n){let r=t.bins;if(r&&!e2(r)){let t=e.domain(),n=t[0],i=e8(t),a=r.step,o=null==r.start?n:r.start,l=null==r.stop?i:r.stop;a||ej("Scale bins parameter missing step property."),o<n&&(o=a*Math.ceil(n/a)),l>i&&(l=a*Math.floor(i/a)),r=yv(o,l+a/2,a)}return r?e.bins=r:e.bins&&delete e.bins,e.type!==hr||(r?t.domain||t.domainRaw||(e.domain(r),n=r.length):e.bins=e.domain()),n}(o,e,function(e,t,n){let r=(h=t.domainRaw)?(e.domain(y6(e.type,h,n)),h.length):-1;if(r>-1)return r;var i,a,o,l,u,s,c,f,h,d,p,g=t.domain,m=e.type,y=t.zero||void 0===t.zero&&function(e){let t=e.type;return!e.bins&&(t===f1||"pow"===t||t===f2)}(e);if(!g)return 0;if(y2(m)&&t.padding&&g[0]!==e8(g)&&(i=g,a=t.range,o=t.padding,l=t.exponent,u=t.constant,c=(s=Math.abs(e8(a)-a[0]))/(s-2*o),f="log"===m?tf(i,null,c):m===f2?th(i,null,c,.5):"pow"===m?th(i,null,c,l||1):m===f3?td(i,null,c,u||1):tc(i,null,c),(i=i.slice())[0]=f[0],i[i.length-1]=f[1],g=i),(y||null!=t.domainMin||null!=t.domainMax||null!=t.domainMid)&&(d=(g=g.slice()).length-1||1,y&&(g[0]>0&&(g[0]=0),g[d]<0&&(g[d]=0)),null!=t.domainMin&&(g[0]=t.domainMin),null!=t.domainMax&&(g[d]=t.domainMax),null!=t.domainMid)){p=t.domainMid;let e=p>g[d]?d+1:p<g[0]?0:d;e!==d&&n.warn("Scale domainMid exceeds domain min or max.",p),g.splice(e,0,p)}return e.domain(y6(m,g,n)),m===he&&e.unknown(t.domainImplicit?ff:void 0),t.nice&&e.nice&&e.nice(!0!==t.nice&&hM(e,t.nice)||null),g.length}(o,e,a))),t.fork(t.NO_SOURCE|t.NO_FIELDS)}}),tB(y9,oF,{transform(e,t){let n=e.modified("sort")||t.changed(t.ADD)||t.modified(e.sort.fields)||t.modified("datum");return n&&t.source.sort(a9(e.sort)),this.modified(n),t}});let y7="zero",ve="center",vt="normalize",vn=["y0","y1"];function vr(e){oF.call(this,null,e)}function vi(e,t,n,r,i){for(var a,o=(t-e.sum)/2,l=e.length,u=0;u<l;++u)(a=e[u])[r]=o,a[i]=o+=Math.abs(n(a))}function va(e,t,n,r,i){for(var a,o=1/e.sum,l=0,u=e.length,s=0,c=0;s<u;++s)(a=e[s])[r]=l,a[i]=l=o*(c+=Math.abs(n(a)))}function vo(e,t,n,r,i){for(var a,o,l=0,u=0,s=e.length,c=0;c<s;++c)(a=+n(o=e[c]))<0?(o[r]=u,o[i]=u+=a):(o[r]=l,o[i]=l+=a)}vr.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:y7,values:[y7,ve,vt]},{name:"as",type:"string",array:!0,length:2,default:vn}]},tB(vr,oF,{transform(e,t){var n,r,i,a,o=e.as||vn,l=o[0],u=o[1],s=a9(e.sort),c=e.field||eY,f=e.offset===ve?vi:e.offset===vt?va:vo;for(r=0,i=(n=function(e,t,n,r){var i,a,o,l,u,s,c,f,h,d=[],p=e=>e(u);if(null==t)d.push(e.slice());else for(i={},a=0,o=e.length;a<o;
14++a)u=e[a],(c=i[s=t.map(p)])||(i[s]=c=[],d.push(c)),c.push(u);for(s=0,h=0,l=d.length;s<l;++s){for(a=0,c=d[s],f=0,o=c.length;a<o;++a)f+=Math.abs(r(c[a]));c.sum=f,f>h&&(h=f),n&&c.sort(n)}return d.max=h,d}(t.source,e.groupby,s,c)).length,a=n.max;r<i;++r)f(n[r],a,c,l,u);return t.reflow(e.modified()).modifies(o)}});let vl=Math.sqrt(50),vu=Math.sqrt(10),vs=Math.sqrt(2);function vc(e,t,n){return function e(t,n,r){let i,a,o;let l=(n-t)/Math.max(0,r),u=Math.floor(Math.log10(l)),s=l/Math.pow(10,u),c=s>=vl?10:s>=vu?5:s>=vs?2:1;return(u<0?(i=Math.round(t*(o=Math.pow(10,-u)/c)),a=Math.round(n*o),i/o<t&&++i,a/o>n&&--a,o=-o):(i=Math.round(t/(o=Math.pow(10,u)*c)),a=Math.round(n/o),i*o<t&&++i,a*o>n&&--a),a<i&&.5<=r&&r<2)?e(t,n,2*r):[i,a,o]}(e=+e,t=+t,n=+n)[2]}function vf(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),a=Array(i);++r<i;)a[r]=e+r*n;return a}function vh(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n<t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}var vd=e=>e;function vp(e,t){e&&vm.hasOwnProperty(e.type)&&vm[e.type](e,t)}var vg={Feature:function(e,t){vp(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)vp(n[r].geometry,t)}},vm={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){vy(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)vy(n[r],t,0)},Polygon:function(e,t){vv(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)vv(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)vp(n[r],t)}};function vy(e,t,n){var r,i=-1,a=e.length-n;for(t.lineStart();++i<a;)r=e[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function vv(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)vy(e[n],t,1);t.polygonEnd()}function vb(e,t){e&&vg.hasOwnProperty(e.type)?vg[e.type](e,t):vp(e,t)}class vx{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){let t=this._partials,n=0;for(let r=0;r<this._n&&r<32;r++){let i=t[r],a=e+i,o=Math.abs(e)<Math.abs(i)?e-(a-i):i-(a-e);o&&(t[n++]=o),e=a}return t[n]=e,this._n=n+1,this}valueOf(){let e=this._partials,t=this._n,n,r,i,a=0;if(t>0){for(a=e[--t];t>0&&(a=(n=a)+(r=e[--t]),!(i=r-(a-n))););t>0&&(i<0&&e[t-1]<0||i>0&&e[t-1]>0)&&(n=a+(r=2*i),r==n-a&&(a=n))}return a}}var v_=Math.PI,vw=v_/2,vA=v_/4,vE=2*v_,vk=180/v_,vC=v_/180,vD=Math.abs,vF=Math.atan,v$=Math.atan2,vM=Math.cos,vS=Math.exp,vN=Math.log,vO=Math.pow,vB=Math.sin,vT=Math.sign||function(e){return e>0?1:e<0?-1:0},vz=Math.sqrt,vR=Math.tan;function vL(e){return e>1?0:e<-1?v_:Math.acos(e)}function vP(e){return e>1?vw:e<-1?-vw:Math.asin(e)}function vj(){}var vI,vU,vq,vW,vH,vY,vG,vV,vX,vZ,vJ,vQ,vK,v0,v1,v2,v3=new vx,v5=new vx,v6={point:vj,lineStart:vj,lineEnd:vj,polygonStart:function(){v6.lineStart=v4,v6.lineEnd=v7},polygonEnd:function(){v6.lineStart=v6.lineEnd=v6.point=vj,v3.add(vD(v5)),v5=new vx},result:function(){var e=v3/2;return v3=new vx,e}};function v4(){v6.point=v8}function v8(e,t){v6.point=v9,vK=v1=e,v0=v2=t}function v9(e,t){v5.add(v2*e-v1*t),v1=e,v2=t}function v7(){v9(vK,v0)}var be,bt,bn,br,bi=1/0,ba=1/0,bo=-1/0,bl=bo,bu={point:function(e,t){e<bi&&(bi=e),e>bo&&(bo=e),t<ba&&(ba=t),t>bl&&(bl=t)},lineStart:vj,lineEnd:vj,polygonStart:vj,polygonEnd:vj,result:function(){var e=[[bi,ba],[bo,bl]];return bo=bl=-(ba=bi=1/0),e}},bs=0,bc=0,bf=0,bh=0,bd=0,bp=0,bg=0,bm=0,by=0,bv={point:bb,lineStart:bx,lineEnd:bA,polygonStart:function(){bv.lineStart=bE,bv.lineEnd=bk},polygonEnd:function(){bv.point=bb,bv.lineStart=bx,bv.lineEnd=bA},result:function(){var e=by?[bg/by,bm/by]:bp?[bh/bp,bd/bp]:bf?[bs/bf,bc/bf]:[NaN,NaN];return bs=bc=bf=bh=bd=bp=bg=bm=by=0,e}};function bb(e,t){bs+=e,bc+=t,++bf}function bx(){bv.point=b_}function b_(e,t){bv.point=bw,bb(bn=e,br=t)}function bw(e,t){var n=e-bn,r=t-br,i=vz(n*n+r*r);bh+=i*(bn+e)/2,bd+=i*(br+t)/2,bp+=i,bb(bn=e,br=t)}function bA(){bv.point=bb}function bE(){bv.point=bC}function bk(){bD(be,bt)}function bC(e,t){bv.point=bD,bb(be=bn=e,bt=br=t)}function bD(e,t){var n=e-bn,r=t-br,i=vz(n*n+r*r);bh+=i*(bn+e)/2,bd+=i*(br+t)/2,bp+=i,bg+=(i=br*e-bn*t)*(bn+e),bm+=i*(br+t),by+=3*i,bb(bn=e,br=t)}function bF(e){this._context=e}bF.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,vE)}},result:vj};var b$,bM,bS,bN,bO,bB=new vx,bT={point:vj,lineStart:function(){bT.point=bz},lineEnd:function(){b$&&bR(bM,bS),bT.point=vj},polygonStart:function(){b$=!0},polygonEnd:function(){b$=null},result:function(){var e=+bB;return bB=new vx,e}};function bz(e,t){bT.point=bR,bM=bN=e,bS=bO=t}function bR(e,t){bN-=e,bO-=t,bB.add(vz(bN*bN+bO*bO)),bN=e,bO=t}class bL{constructor(e){this._append=null==e?bP:function(e){let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);if(t>15)return bP;if(t!==d){let e=10**t;d=t,p=function(t){let n=1;this._+=t[0];for(let r=t.length;n<r;++n)this._+=Math.round(arguments[n]*e)/e+t[n]}}return p}(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){0===this._line&&(this._+="Z"),this._point=NaN}point(e,t){switch(this._point){case 0:this._append`M${e},${t}`,this._point=1;break;case 1:this._append`L${e},${t}`;break;default:if(this._append`M${e},${t}`,this._radius!==g||this._append!==p){let e=this._radius,t=this._;this._="",this._append`m0,${e}a${e},${e} 0 1,1 0,${-2*e}a${e},${e} 0 1,1 0,${2*e}z`,g=e,p=this._append,m=this._,this._=t}this._+=m}}result(){let e=this._;return this._="",e.length?e:null}}function bP(e){let t=1;this._+=e[0];for(let n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function bj(e,t){let n=3,r=4.5,i,a;function o(e){return e&&("function"==typeof r&&a.pointRadius(+r.apply(this,arguments)),vb(e,i(a))),a.result()}
14return o.area=function(e){return vb(e,i(v6)),v6.result()},o.measure=function(e){return vb(e,i(bT)),bT.result()},o.bounds=function(e){return vb(e,i(bu)),bu.result()},o.centroid=function(e){return vb(e,i(bv)),bv.result()},o.projection=function(t){return arguments.length?(i=null==t?(e=null,vd):(e=t).stream,o):e},o.context=function(e){return arguments.length?(a=null==e?(t=null,new bL(n)):new bF(t=e),"function"!=typeof r&&a.pointRadius(r),o):t},o.pointRadius=function(e){return arguments.length?(r="function"==typeof e?e:(a.pointRadius(+e),+e),o):r},o.digits=function(e){if(!arguments.length)return n;if(null==e)n=null;else{let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);n=t}return null===t&&(a=new bL(n)),o},o.projection(e).digits(n).context(t)}function bI(){var e,t=[];return{point:function(t,n,r){e.push([t,n,r])},lineStart:function(){t.push(e=[])},lineEnd:vj,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function bU(e,t){return 1e-6>vD(e[0]-t[0])&&1e-6>vD(e[1]-t[1])}function bq(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function bW(e,t,n,r,i){var a,o,l=[],u=[];if(e.forEach(function(e){if(!((t=e.length-1)<=0)){var t,n,r=e[0],o=e[t];if(bU(r,o)){if(!r[2]&&!o[2]){for(i.lineStart(),a=0;a<t;++a)i.point((r=e[a])[0],r[1]);i.lineEnd();return}o[0]+=2e-6}l.push(n=new bq(r,e,null,!0)),u.push(n.o=new bq(r,null,n,!1)),l.push(n=new bq(o,e,null,!1)),u.push(n.o=new bq(o,null,n,!0))}}),l.length){for(u.sort(t),bH(l),bH(u),a=0,o=u.length;a<o;++a)u[a].e=n=!n;for(var s,c,f=l[0];;){for(var h=f,d=!0;h.v;)if((h=h.n)===f)return;s=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(d)for(a=0,o=s.length;a<o;++a)i.point((c=s[a])[0],c[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(d)for(a=(s=h.p.z).length-1;a>=0;--a)i.point((c=s[a])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}s=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function bH(e){if(t=e.length){for(var t,n,r=0,i=e[0];++r<t;)i.n=n=e[r],n.p=i,i=n;i.n=n=e[0],n.p=i}}function bY(e){return[v$(e[1],e[0]),vP(e[2])]}function bG(e){var t=e[0],n=e[1],r=vM(n);return[r*vM(t),r*vB(t),vB(n)]}function bV(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function bX(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function bZ(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function bJ(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function bQ(e){var t=vz(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function bK(e){return vD(e[0])<=v_?e[0]:vT(e[0])*((vD(e[0])+v_)%vE-v_)}function b0(e){return Array.from(function*(e){for(let t of e)yield*t}(e))}function b1(e,t,n,r){return function(i){var a,o,l,u=t(i),s=bI(),c=t(s),f=!1,h={point:d,lineStart:g,lineEnd:m,polygonStart:function(){h.point=y,h.lineStart=v,h.lineEnd=b,o=[],a=[]},polygonEnd:function(){h.point=d,h.lineStart=g,h.lineEnd=m,o=b0(o);var e=function(e,t){var n=bK(t),r=t[1],i=vB(r),a=[vB(n),-vM(n),0],o=0,l=0,u=new vx;1===i?r=vw+1e-6:-1===i&&(r=-vw-1e-6);for(var s=0,c=e.length;s<c;++s)if(h=(f=e[s]).length)for(var f,h,d=f[h-1],p=bK(d),g=d[1]/2+vA,m=vB(g),y=vM(g),v=0;v<h;++v,p=x,m=w,y=A,d=b){var b=f[v],x=bK(b),_=b[1]/2+vA,w=vB(_),A=vM(_),E=x-p,k=E>=0?1:-1,C=k*E,D=C>v_,F=m*w;if(u.add(v$(F*k*vB(C),y*A+F*vM(C))),o+=D?E+k*vE:E,D^p>=n^x>=n){var $=bX(bG(d),bG(b));bQ($);var M=bX(a,$);bQ(M);var S=(D^E>=0?-1:1)*vP(M[2]);(r>S||r===S&&($[0]||$[1]))&&(l+=D^E>=0?1:-1)}}return(o<-.000001||o<1e-6&&u<-.000000000001)^1&l}(a,r);o.length?(f||(i.polygonStart(),f=!0),bW(o,b3,e,n,i)):e&&(f||(i.polygonStart(),f=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(t,n){e(t,n)&&i.point(t,n)}function p(e,t){u.point(e,t)}function g(){h.point=p,u.lineStart()}function m(){h.point=d,u.lineEnd()}function y(e,t){l.push([e,t]),c.point(e,t)}function v(){c.lineStart(),l=[]}function b(){y(l[0][0],l[0][1]),c.lineEnd();var e,t,n,r,u=c.clean(),h=s.result(),d=h.length;if(l.pop(),a.push(l),l=null,d){if(1&u){if((t=(n=h[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),e=0;e<t;++e)i.point((r=n[e])[0],r[1]);i.lineEnd()}return}d>1&&2&u&&h.push(h.pop().concat(h.shift())),o.push(h.filter(b2))}}return h}}function b2(e){return e.length>1}function b3(e,t){return((e=e.x)[0]<0?e[1]-vw-1e-6:vw-e[1])-((t=t.x)[0]<0?t[1]-vw-1e-6:vw-t[1])}var b5=b1(function(){return!0},function(e){var t,n=NaN,r=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(a,o){var l,u,s,c,f,h,d=a>0?v_:-v_,p=vD(a-n);1e-6>vD(p-v_)?(e.point(n,r=(r+o)/2>0?vw:-vw),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(d,r),e.point(a,r),t=0):i!==d&&p>=v_&&(1e-6>vD(n-i)&&(n-=1e-6*i),1e-6>vD(a-d)&&(a-=1e-6*d),l=n,u=r,r=vD(h=vB(l-(s=a)))>1e-6?vF((vB(u)*(f=vM(o))*vB(s)-vB(o)*(c=vM(u))*vB(l))/(c*f*h)):(u+o)/2,e.point(i,r),e.lineEnd(),e.lineStart(),e.point(d,r),t=0),e.point(n=a,r=o),i=d},lineEnd:function(){e.lineEnd(),n=r=NaN},clean:function(){return 2-t}}},function(e,t,n,r){var i;if(null==e)i=n*vw,r.point(-v_,i),r.point(0,i),r.point(v_,i),r.point(v_,0),r.point(v_,-i),r.point(0,-i),r.point(-v_,-i),r.point(-v_,0),r.point(-v_,i);else if(vD(e[0]-t[0])>1e-6){var a=e[0]<t[0]?v_:-v_;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(t[0],t[1])},[-v_,-vw]);
vendor: 4,898 bytes, line 14
14function b6(e,t){t=bG(t),t[0]-=e,bQ(t);var n=vL(-t[1]);return((0>-t[2]?-n:n)+vE-1e-6)%vE}function b4(e,t,n,r){function i(i,a){return e<=i&&i<=n&&t<=a&&a<=r}function a(i,a,l,s){var c=0,f=0;if(null==i||(c=o(i,l))!==(f=o(a,l))||0>u(i,a)^l>0)do s.point(0===c||3===c?e:n,c>1?r:t);while((c=(c+l+4)%4)!==f);else s.point(a[0],a[1])}function o(r,i){return 1e-6>vD(r[0]-e)?i>0?0:3:1e-6>vD(r[0]-n)?i>0?2:1:1e-6>vD(r[1]-t)?i>0?1:0:i>0?3:2}function l(e,t){return u(e.x,t.x)}function u(e,t){var n=o(e,1),r=o(t,1);return n!==r?n-r:0===n?t[1]-e[1]:1===n?e[0]-t[0]:2===n?e[1]-t[1]:t[0]-e[0]}return function(o){var u,s,c,f,h,d,p,g,m,y,v,b=o,x=bI(),_={point:w,lineStart:function(){_.point=A,s&&s.push(c=[]),y=!0,m=!1,p=g=NaN},lineEnd:function(){u&&(A(f,h),d&&m&&x.rejoin(),u.push(x.result())),_.point=w,m&&b.lineEnd()},polygonStart:function(){b=x,u=[],s=[],v=!0},polygonEnd:function(){var t=function(){for(var t=0,n=0,i=s.length;n<i;++n)for(var a,o,l=s[n],u=1,c=l.length,f=l[0],h=f[0],d=f[1];u<c;++u)a=h,o=d,h=(f=l[u])[0],d=f[1],o<=r?d>r&&(h-a)*(r-o)>(d-o)*(e-a)&&++t:d<=r&&(h-a)*(r-o)<(d-o)*(e-a)&&--t;return t}(),n=v&&t,i=(u=b0(u)).length;(n||i)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),i&&bW(u,l,t,a,o),o.polygonEnd()),b=o,u=s=c=null}};function w(e,t){i(e,t)&&b.point(e,t)}function A(a,o){var l=i(a,o);if(s&&c.push([a,o]),y)f=a,h=o,d=l,y=!1,l&&(b.lineStart(),b.point(a,o));else if(l&&m)b.point(a,o);else{var u=[p=Math.max(-1e9,Math.min(1e9,p)),g=Math.max(-1e9,Math.min(1e9,g))],x=[a=Math.max(-1e9,Math.min(1e9,a)),o=Math.max(-1e9,Math.min(1e9,o))];!function(e,t,n,r,i,a){var o,l=e[0],u=e[1],s=t[0],c=t[1],f=0,h=1,d=s-l,p=c-u;if(o=n-l,d||!(o>0)){if(o/=d,d<0){if(o<f)return;o<h&&(h=o)}else if(d>0){if(o>h)return;o>f&&(f=o)}if(o=i-l,d||!(o<0)){if(o/=d,d<0){if(o>h)return;o>f&&(f=o)}else if(d>0){if(o<f)return;o<h&&(h=o)}if(o=r-u,p||!(o>0)){if(o/=p,p<0){if(o<f)return;o<h&&(h=o)}else if(p>0){if(o>h)return;o>f&&(f=o)}if(o=a-u,p||!(o<0)){if(o/=p,p<0){if(o>h)return;o>f&&(f=o)}else if(p>0){if(o<f)return;o<h&&(h=o)}return f>0&&(e[0]=l+f*d,e[1]=u+f*p),h<1&&(t[0]=l+h*d,t[1]=u+h*p),!0}}}}}(u,x,e,t,n,r)?l&&(b.lineStart(),b.point(a,o),v=!1):(m||(b.lineStart(),b.point(u[0],u[1])),b.point(x[0],x[1]),l||b.lineEnd(),v=!1)}p=a,g=o,m=l}return _}}function b8(e,t){function n(n,r){return t((n=e(n,r))[0],n[1])}return e.invert&&t.invert&&(n.invert=function(n,r){return(n=t.invert(n,r))&&e.invert(n[0],n[1])}),n}function b9(e,t){return vD(e)>v_&&(e-=Math.round(e/vE)*vE),[e,t]}function b7(e,t,n){return(e%=vE)?t||n?b8(xt(e),xn(t,n)):xt(e):t||n?xn(t,n):b9}function xe(e){return function(t,n){return vD(t+=e)>v_&&(t-=Math.round(t/vE)*vE),[t,n]}}function xt(e){var t=xe(e);return t.invert=xe(-e),t}function xn(e,t){var n=vM(e),r=vB(e),i=vM(t),a=vB(t);function o(e,t){var o=vM(t),l=vM(e)*o,u=vB(e)*o,s=vB(t),c=s*n+l*r;return[v$(u*i-c*a,l*n-s*r),vP(c*i+u*a)]}return o.invert=function(e,t){var o=vM(t),l=vM(e)*o,u=vB(e)*o,s=vB(t),c=s*i-u*a;return[v$(u*i+s*a,l*n+c*r),vP(c*n-l*r)]},o}function xr(e){return function(t){var n=new xi;for(var r in e)n[r]=e[r];return n.stream=t,n}}function xi(){}function xa(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=r&&e.clipExtent(null),vb(n,e.stream(bu)),t(bu.result()),null!=r&&e.clipExtent(r),e}function xo(e,t,n){return xa(e,function(n){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+t[0][0]+(r-a*(n[1][0]+n[0][0]))/2,l=+t[0][1]+(i-a*(n[1][1]+n[0][1]))/2;e.scale(150*a).translate([o,l])},n)}function xl(e,t,n){return xo(e,[[0,0],t],n)}function xu(e,t,n){return xa(e,function(n){var r=+t,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];e.scale(150*i).translate([a,o])},n)}function xs(e,t,n){return xa(e,function(n){var r=+t,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([a,o])},n)}b9.invert=b9,xi.prototype={constructor:xi,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var xc=vM(30*vC);function xf(e,t){return+t?function(e,t){function n(r,i,a,o,l,u,s,c,f,h,d,p,g,m){var y=s-r,v=c-i,b=y*y+v*v;if(b>4*t&&g--){var x=o+h,_=l+d,w=u+p,A=vz(x*x+_*_+w*w),E=vP(w/=A),k=1e-6>vD(vD(w)-1)||1e-6>vD(a-f)?(a+f)/2:v$(_,x),C=e(k,E),D=C[0],F=C[1],$=D-r,M=F-i,S=v*$-y*M;(S*S/b>t||vD((y*$+v*M)/b-.5)>.3||o*h+l*d+u*p<xc)&&(n(r,i,a,o,l,u,D,F,k,x/=A,_/=A,w,g,m),m.point(D,F),n(D,F,k,x,_,w,s,c,f,h,d,p,g,m))}}return function(t){var r,i,a,o,l,u,s,c,f,h,d,p,g={point:m,lineStart:y,lineEnd:b,polygonStart:function(){t.polygonStart(),g.lineStart=x},polygonEnd:function(){t.polygonEnd(),g.lineStart=y}};function m(n,r){n=e(n,r),t.point(n[0],n[1])}function y(){c=NaN,g.point=v,t.lineStart()}function v(r,i){var a=bG([r,i]),o=e(r,i);
14n(c,f,s,h,d,p,c=o[0],f=o[1],s=r,h=a[0],d=a[1],p=a[2],16,t),t.point(c,f)}function b(){g.point=m,t.lineEnd()}function x(){y(),g.point=_,g.lineEnd=w}function _(e,t){v(r=e,t),i=c,a=f,o=h,l=d,u=p,g.point=v}function w(){n(c,f,s,h,d,p,i,a,r,o,l,u,16,t),g.lineEnd=b,b()}return g}}(e,t):xr({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}var xh=xr({point:function(e,t){this.stream.point(e*vC,t*vC)}});function xd(e,t,n,r,i,a){if(!a)return function(e,t,n,r,i){function a(a,o){return[t+e*(a*=r),n-e*(o*=i)]}return a.invert=function(a,o){return[(a-t)/e*r,(n-o)/e*i]},a}(e,t,n,r,i);var o=vM(a),l=vB(a),u=o*e,s=l*e,c=o/e,f=l/e,h=(l*n-o*t)/e,d=(l*t+o*n)/e;function p(e,a){return[u*(e*=r)-s*(a*=i)+t,n-s*e-u*a]}return p.invert=function(e,t){return[r*(c*e-f*t+h),i*(d-f*e-c*t)]},p}function xp(e){return xg(function(){return e})()}function xg(e){var t,n,r,i,a,o,l,u,s,c,f=150,h=480,d=250,p=0,g=0,m=0,y=0,v=0,b=0,x=1,_=1,w=null,A=b5,E=null,k=vd,C=.5;function D(e){return u(e[0]*vC,e[1]*vC)}function F(e){return(e=u.invert(e[0],e[1]))&&[e[0]*vk,e[1]*vk]}function $(){var e=xd(f,0,0,x,_,b).apply(null,t(p,g)),r=xd(f,h-e[0],d-e[1],x,_,b);return n=b7(m,y,v),l=b8(t,r),u=b8(n,l),o=xf(l,C),M()}function M(){return s=c=null,D}return D.stream=function(e){var t;return s&&c===e?s:s=xh((t=n,xr({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}}))(A(o(k(c=e)))))},D.preclip=function(e){return arguments.length?(A=e,w=void 0,M()):A},D.postclip=function(e){return arguments.length?(k=e,E=r=i=a=null,M()):k},D.clipAngle=function(e){return arguments.length?(A=+e?function(e){var t=vM(e),n=6*vC,r=t>0,i=vD(t)>1e-6;function a(e,n){return vM(e)*vM(n)>t}function o(e,n,r){var i=bG(e),a=bG(n),o=[1,0,0],l=bX(i,a),u=bV(l,l),s=l[0],c=u-s*s;if(!c)return!r&&e;var f=bX(o,l),h=bJ(o,t*u/c);bZ(h,bJ(l,-t*s/c));var d=bV(h,f),p=bV(f,f),g=d*d-p*(bV(h,h)-1);if(!(g<0)){var m=vz(g),y=bJ(f,(-d-m)/p);if(bZ(y,h),y=bY(y),!r)return y;var v,b=e[0],x=n[0],_=e[1],w=n[1];x<b&&(v=b,b=x,x=v);var A=x-b,E=1e-6>vD(A-v_);if(!E&&w<_&&(v=_,_=w,w=v),E||A<1e-6?E?_+w>0^y[1]<(1e-6>vD(y[0]-b)?_:w):_<=y[1]&&y[1]<=w:A>v_^(b<=y[0]&&y[0]<=x)){var k=bJ(f,(-d+m)/p);return bZ(k,h),[y,bY(k)]}}}function l(t,n){var i=r?e:v_-e,a=0;return t<-i?a|=1:t>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return b1(a,function(e){var t,n,u,s,c;return{lineStart:function(){s=u=!1,c=1},point:function(f,h){var d,p,g=[f,h],m=a(f,h),y=r?m?0:l(f,h):m?l(f+(f<0?v_:-v_),h):0;!t&&(s=u=m)&&e.lineStart(),m!==u&&(!(p=o(t,g))||bU(t,p)||bU(g,p))&&(g[2]=1),m!==u?(c=0,m?(e.lineStart(),p=o(g,t),e.point(p[0],p[1])):(p=o(t,g),e.point(p[0],p[1],2),e.lineEnd()),t=p):i&&t&&r^m&&!(y&n)&&(d=o(g,t,!0))&&(c=0,r?(e.lineStart(),e.point(d[0][0],d[0][1]),e.point(d[1][0],d[1][1]),e.lineEnd()):(e.point(d[1][0],d[1][1]),e.lineEnd(),e.lineStart(),e.point(d[0][0],d[0][1],3))),!m||t&&bU(t,g)||e.point(g[0],g[1]),t=g,u=m,n=y},lineEnd:function(){u&&e.lineEnd(),t=null},clean:function(){return c|(s&&u)<<1}}},function(t,r,i,a){!function(e,t,n,r,i,a){if(n){var o=vM(t),l=vB(t),u=r*n;null==i?(i=t+r*vE,a=t-u/2):(i=b6(o,i),a=b6(o,a),(r>0?i<a:i>a)&&(i+=r*vE));for(var s,c=i;r>0?c>a:c<a;c-=u)s=bY([o,-l*vM(c),-l*vB(c)]),e.point(s[0],s[1])}}(a,e,n,i,t,r)},r?[0,-e]:[-v_,e-v_])}(w=e*vC):(w=null,b5),M()):w*vk},D.clipExtent=function(e){return arguments.length?(k=null==e?(E=r=i=a=null,vd):b4(E=+e[0][0],r=+e[0][1],i=+e[1][0],a=+e[1][1]),M()):null==E?null:[[E,r],[i,a]]},D.scale=function(e){return arguments.length?(f=+e,$()):f},D.translate=function(e){return arguments.length?(h=+e[0],d=+e[1],$()):[h,d]},D.center=function(e){return arguments.length?(p=e[0]%360*vC,g=e[1]%360*vC,$()):[p*vk,g*vk]},D.rotate=function(e){return arguments.length?(m=e[0]%360*vC,y=e[1]%360*vC,v=e.length>2?e[2]%360*vC:0,$()):[m*vk,y*vk,v*vk]},D.angle=function(e){return arguments.length?(b=e%360*vC,$()):b*vk},D.reflectX=function(e){return arguments.length?(x=e?-1:1,$()):x<0},D.reflectY=function(e){return arguments.length?(_=e?-1:1,$()):_<0},D.precision=function(e){return arguments.length?(o=xf(l,C=e*e),M()):vz(C)},D.fitExtent=function(e,t){return xo(D,e,t)},D.fitSize=function(e,t){return xl(D,e,t)},D.fitWidth=function(e,t){return xu(D,e,t)},D.fitHeight=function(e,t){return xs(D,e,t)},function(){return t=e.apply(this,arguments),D.invert=t.invert&&F,$()}}function xm(e){var t=0,n=v_/3,r=xg(e),i=r(t,n);return i.parallels=function(e){return arguments.length?r(t=e[0]*vC,n=e[1]*vC):[t*vk,n*vk]},i}function xy(e,t){var n=vB(e),r=(n+vB(t))/2;if(1e-6>vD(r))return function(e){var t=vM(e);function n(e,n){return[e*t,vB(n)/t]}return n.invert=function(e,n){return[e/t,vP(n*t)]},n}(e);var i=1+n*(2*r-n),a=vz(i)/r;function o(e,t){var n=vz(i-2*r*vB(t))/r;return[n*vB(e*=r),a-n*vM(e)]}return o.invert=function(e,t){var n=a-t,o=v$(e,vD(n))*vT(n);return n*r<0&&(o-=v_*vT(e)*vT(n)),[o/r,vP((i-(e*e+n*n)*r*r)/(2*r))]},o}function xv(){return xm(xy).scale(155.424).center([0,33.6442])}function xb(){return xv().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function xx(e){return function(t,n){var r=vM(t),i=vM(n),a=e(r*i);return a===1/0?[2,0]:[a*i*vB(t),a*vB(n)]}}function x_(e){return function(t,n){var r=vz(t*t+n*n),i=e(r),a=vB(i),o=vM(i);return[v$(t*a,r*o),vP(r&&n*a/r)]}}var xw=xx(function(e){return vz(2/(1+e))});xw.invert=x_(function(e){return 2*vP(e/2)});var xA=xx(function(e){return(e=vL(e))&&e/vB(e)});function xE(e,t){return[e,vN(vR((vw+t)/2))]}function xk(e){var t,n,r,i=xp(e),a=i.center,o=i.scale,l=i.translate,u=i.clipExtent,s=null;function c(){var a=v_*o(),l=i((function(e){function t(t){return t=e(t[0]*vC,t[1]*vC),t[0]*=vk,t[1]*=vk,t}return e=b7(e[0]*vC,e[1]*vC,e.length>2?e[2]*vC:0),t.invert=function(t){return t=e.invert(t[0]*vC,t[1]*vC),t[0]*=vk,t[1]*=vk,t},t})(i.rotate()).invert([0,0]));return u(null==s?[[l[0]-a,l[1]-a],[l[0]+a,l[1]+a]]:e===xE?[[Math.max(l[0]-a,s),t],[Math.min(l[0]+a,n),r]]:[[s,Math.max(l[1]-a,t)],[n,Math.min(l[1]+a,r)]])}return i.scale=function(e){return arguments.length?(o(e),c()):o()},i.translate=function(e){return arguments.length?(l(e),c()):l()},i.center=function(e){return arguments.length?(a(e),c()):a()},i.clipExtent=function(e){return arguments.length?(null==e?s=t=n=r=null:(s=+e[0][0],t=+e[0][1],n=+e[1][0],r=+e[1][1]),c()):null==s?null:[[s,t],[n,r]]},c()}function xC(e){return vR((vw+e)/2)}function xD(e,t){var n=vM(e),r=e===t?vB(e):vN(n/vM(t))/vN(xC(t)/xC(e)),i=n*vO(xC(e),r)/r;if(!r)return xE;function a(e,t){i>0?t<-vw+1e-6&&(t=-vw+1e-6):t>vw-1e-6&&(t=vw-1e-6);var n=i/vO(xC(t),r);return[n*vB(r*e),i-n*vM(r*e)]}return a.invert=function(e,t){var n=i-t,a=vT(r)*vz(e*e+n*n),o=v$(e,vD(n))*vT(n);return n*r<0&&(o-=v_*vT(e)*vT(n)),[o/r,2*vF(vO(i/a,1/r))-vw]},a}function xF(e,t){return[e,t]}function x$(e,t){var n=vM(e),r=e===t?vB(e):(n-vM(t))/(t-e),i=n/r+e;if(1e-6>vD(r))return xF;function a(e,t){var n=i-t,a=r*e;return[n*vB(a),i-n*vM(a)]}return a.invert=function(e,t){var n=i-t,a=v$(e,vD(n))*vT(n);return n*r<0&&(a-=v_*vT(e)*vT(n)),[a/r,i-vT(r)*vz(e*e+n*n)]},a}xA.invert=x_(function(e){return e}),xE.invert=function(e,t){return[e,2*vF(vS(t))-vw]},xF.invert=xF;var xM=vz(3)/2;function xS(e,t){var n=vP(xM*vB(t)),r=n*n,i=r*r*r;return[e*vM(n)/(xM*(1.340264+-.24331799999999998*r+i*(.0062510000000000005+.034164*r))),n*(1.340264+-.081106*r+i*(893e-6+.003796
14*r))]}function xN(e,t){var n=vM(t),r=vM(e)*n;return[n*vB(e)/r,vB(t)/r]}function xO(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),t*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}function xB(e,t){return[vM(t)*vB(e),vB(t)]}function xT(e,t){var n=vM(t),r=1+vM(e)*n;return[n*vB(e)/r,vB(t)/r]}function xz(e,t){return[vN(vR((vw+t)/2)),-e]}function xR(){}function xL(){var e,t=[];return{point:function(t,n,r){e.push([t,n,r])},lineStart:function(){t.push(e=[])},lineEnd:xR,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}xS.invert=function(e,t){for(var n,r,i=t,a=i*i,o=a*a*a,l=0;l<12&&(r=i*(1.340264+-.081106*a+o*(893e-6+.003796*a))-t,i-=n=r/(1.340264+-.24331799999999998*a+o*(.0062510000000000005+.034164*a)),o=(a=i*i)*a*a,!(1e-12>vD(n)));++l);return[xM*e*(1.340264+-.24331799999999998*a+o*(.0062510000000000005+.034164*a))/vM(i),vP(vB(i)/xM)]},xN.invert=x_(vF),xO.invert=function(e,t){var n,r=t,i=25;do{var a=r*r,o=a*a;r-=n=(r*(1.007226+a*(.015085+o*(-.044475+.028874*a-.005916*o)))-t)/(1.007226+a*(.045255+o*(-.311325+.259866*a-.005916*11*o)))}while(vD(n)>1e-6&&--i>0);return[e/(.8707+(a=r*r)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),r]},xB.invert=x_(vP),xT.invert=x_(function(e){return 2*vF(e)}),xz.invert=function(e,t){return[-t,2*vF(vS(e))-vw]};var xP=Math.PI,xj=xP/2,xI=xP/4,xU=2*xP,xq=180/xP,xW=xP/180,xH=Math.abs,xY=Math.atan,xG=Math.atan2,xV=Math.cos,xX=Math.sin,xZ=Math.sign||function(e){return e>0?1:e<0?-1:0},xJ=Math.sqrt;function xQ(e){return e>1?xj:e<-1?-xj:Math.asin(e)}function xK(e,t){return 1e-6>xH(e[0]-t[0])&&1e-6>xH(e[1]-t[1])}function x0(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function x1(e,t,n,r,i){var a,o,l=[],u=[];if(e.forEach(function(e){if(!((t=e.length-1)<=0)){var t,n,r=e[0],o=e[t];if(xK(r,o)){if(!r[2]&&!o[2]){for(i.lineStart(),a=0;a<t;++a)i.point((r=e[a])[0],r[1]);i.lineEnd();return}o[0]+=2e-6}l.push(n=new x0(r,e,null,!0)),u.push(n.o=new x0(r,null,n,!1)),l.push(n=new x0(o,e,null,!1)),u.push(n.o=new x0(o,null,n,!0))}}),l.length){for(u.sort(t),x2(l),x2(u),a=0,o=u.length;a<o;++a)u[a].e=n=!n;for(var s,c,f=l[0];;){for(var h=f,d=!0;h.v;)if((h=h.n)===f)return;s=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(d)for(a=0,o=s.length;a<o;++a)i.point((c=s[a])[0],c[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(d)for(a=(s=h.p.z).length-1;a>=0;--a)i.point((c=s[a])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}s=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function x2(e){if(t=e.length){for(var t,n,r=0,i=e[0];++r<t;)i.n=n=e[r],n.p=i,i=n;i.n=n=e[0],n.p=i}}function x3(e){return[xG(e[1],e[0]),xQ(e[2])]}function x5(e){var t=e[0],n=e[1],r=xV(n);return[r*xV(t),r*xX(t),xX(n)]}function x6(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function x4(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function x8(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function x9(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function x7(e){var t=xJ(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function _e(e){return xH(e[0])<=xP?e[0]:xZ(e[0])*((xH(e[0])+xP)%xU-xP)}function _t(e,t,n,r){return function(i){var a,o,l,u=t(i),s=xL(),c=t(s),f=!1,h={point:d,lineStart:g,lineEnd:m,polygonStart:function(){h.point=y,h.lineStart=v,h.lineEnd=b,o=[],a=[]},polygonEnd:function(){h.point=d,h.lineStart=g,h.lineEnd=m,o=b0(o);var e=function(e,t){var n=_e(t),r=t[1],i=xX(r),a=[xX(n),-xV(n),0],o=0,l=0,u=new vx;1===i?r=xj+1e-6:-1===i&&(r=-xj-1e-6);for(var s=0,c=e.length;s<c;++s)if(h=(f=e[s]).length)for(var f,h,d=f[h-1],p=_e(d),g=d[1]/2+xI,m=xX(g),y=xV(g),v=0;v<h;++v,p=x,m=w,y=A,d=b){var b=f[v],x=_e(b),_=b[1]/2+xI,w=xX(_),A=xV(_),E=x-p,k=E>=0?1:-1,C=k*E,D=C>xP,F=m*w;if(u.add(xG(F*k*xX(C),y*A+F*xV(C))),o+=D?E+k*xU:E,D^p>=n^x>=n){var $=x4(x5(d),x5(b));x7($);var M=x4(a,$);x7(M);var S=(D^E>=0?-1:1)*xQ(M[2]);(r>S||r===S&&($[0]||$[1]))&&(l+=D^E>=0?1:-1)}}return(o<-.000001||o<1e-6&&u<-.000000000001)^1&l}(a,r);o.length?(f||(i.polygonStart(),f=!0),x1(o,_r,e,n,i)):e&&(f||(i.polygonStart(),f=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(t,n){e(t,n)&&i.point(t,n)}function p(e,t){u.point(e,t)}function g(){h.point=p,u.lineStart()}function m(){h.point=d,u.lineEnd()}function y(e,t){l.push([e,t]),c.point(e,t)}function v(){c.lineStart(),l=[]}function b(){y(l[0][0],l[0][1]),c.lineEnd();var e,t,n,r,u=c.clean(),h=s.result(),d=h.length;if(l.pop(),a.push(l),l=null,d){if(1&u){if((t=(n=h[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),e=0;e<t;++e)i.point((r=n[e])[0],r[1]);i.lineEnd()}return}d>1&&2&u&&h.push(h.pop().concat(h.shift())),o.push(h.filter(_n))}}return h}}function _n(e){return e.length>1}function _r(e,t){return((e=e.x)[0]<0?e[1]-xj-1e-6:xj-e[1])-((t=t.x)[0]<0?t[1]-xj-1e-6:xj-t[1])}var _i=_t(function(){return!0},function(e){var t,n=NaN,r=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(a,o){var l,u,s,c,f,h,d=a>0?xP:-xP,p=xH(a-n);1e-6>xH(p-xP)?(e.point(n,r=(r+o)/2>0?xj:-xj),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(d,r),e.point(a,r),t=0):i!==d&&p>=xP&&(1e-6>xH(n-i)&&(n-=1e-6*i),1e-6>xH(a-d)&&(a-=1e-6*d),l=n,u=r,r=xH(h=xX(l-(s=a)))>1e-6?xY((xX(u)*(f=xV(o))*xX(s)-xX(o)*(c=xV(u))*xX(l))/(c*f*h)):(u+o)/2,e.point(i,r),e.lineEnd(),e.lineStart(),e.point(d,r),t=0),e.point(n=a,r=o),i=d},lineEnd:function(){e.lineEnd(),n=r=NaN},clean:function(){return 2-t}}},function(e,t,n,r){var i;if(null==e)i=n*xj,r.point(-xP,i),r.point(0,i),r.point(xP,i),r.point(xP,0),r.point(xP,-i),r.point(0,-i),r.point(-xP,-i),r.point(-xP,0),r.point(-xP,i);else if(xH(e[0]-t[0])>1e-6){var a=e[0]<t[0]?xP:-xP;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(t[0],t[1])},[-xP,-xj]);function _a(e,t){t=x5(t),t[0]-=e,x7(t);var n,r=(n=-t[1])>1?0:n<-1?xP:Math.acos(n);return((0>-t[2]?-r:r)+xU-1e-6)%xU}function _o(e,t){function n(n,r){return t((n=e(n,r))[0],n[1])}return e.invert&&t.invert&&(n.invert=function(n,r){return(n=t.invert(n,r))&&e.invert(n[0],n[1])}),n}var _l=e=>e;function _u(e,t){return[xH(e)>xP?e+Math.round(-e/xU)*xU:e,t]}function _s(e){return function(t,n){return[(t+=e)>xP?t-xU:t<-xP?t+xU:t,n]}}function _c(e){var t=_s(e);return t.invert=_s(-e),t}function _f(e,t){var n=xV(e),r=xX(e),i=xV(t),a=xX(t);function o(e,t){var o=xV(t),l=xV(e)*o,u=xX(e)*o,s=xX(t),c=s*n+l*r;return[xG(u*i-c*a,l*n-s*r),xQ(c*i+u*a)]}return o.invert=function(e,t){var o=xV(t),l=xV(e)*o,u=xX(e)*o,s=xX(t),c=s*i-u*a;return[xG(u*i+s*a,l*n+c*r),xQ(c*n-l*r)]},o}function _h(e){return function(t){var n=new _d;for(var r in e)n[r]=e[r];return n.stream=t,n}}function _d(){}function _p(e,t){e&&_m.hasOwnProperty(e.type)&&_m[e.type](e,t)}_u.invert=_u,_d.prototype={constructor:_d,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var _g={Feature:function(e,t){_p(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)_p(n[r].geometry,t)}},_m={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){_y(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)_y(n[r],t,0)},Polygon:function(e,t){_v(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)_v(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)_p(n[r],t)}};
14function _y(e,t,n){var r,i=-1,a=e.length-n;for(t.lineStart();++i<a;)r=e[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function _v(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)_y(e[n],t,1);t.polygonEnd()}var _b=1/0,_x=1/0,__=-1/0,_w=__,_A={point:function(e,t){e<_b&&(_b=e),e>__&&(__=e),t<_x&&(_x=t),t>_w&&(_w=t)},lineStart:xR,lineEnd:xR,polygonStart:xR,polygonEnd:xR,result:function(){var e=[[_b,_x],[__,_w]];return __=_w=-(_x=_b=1/0),e}};function _E(e,t,n){var r,i=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=i&&e.clipExtent(null),r=e.stream(_A),n&&_g.hasOwnProperty(n.type)?_g[n.type](n,r):_p(n,r),t(_A.result()),null!=i&&e.clipExtent(i),e}function _k(e,t,n){return _E(e,function(n){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+t[0][0]+(r-a*(n[1][0]+n[0][0]))/2,l=+t[0][1]+(i-a*(n[1][1]+n[0][1]))/2;e.scale(150*a).translate([o,l])},n)}var _C=xV(30*xW);function _D(e,t){return+t?function(e,t){function n(r,i,a,o,l,u,s,c,f,h,d,p,g,m){var y=s-r,v=c-i,b=y*y+v*v;if(b>4*t&&g--){var x=o+h,_=l+d,w=u+p,A=xJ(x*x+_*_+w*w),E=xQ(w/=A),k=1e-6>xH(xH(w)-1)||1e-6>xH(a-f)?(a+f)/2:xG(_,x),C=e(k,E),D=C[0],F=C[1],$=D-r,M=F-i,S=v*$-y*M;(S*S/b>t||xH((y*$+v*M)/b-.5)>.3||o*h+l*d+u*p<_C)&&(n(r,i,a,o,l,u,D,F,k,x/=A,_/=A,w,g,m),m.point(D,F),n(D,F,k,x,_,w,s,c,f,h,d,p,g,m))}}return function(t){var r,i,a,o,l,u,s,c,f,h,d,p,g={point:m,lineStart:y,lineEnd:b,polygonStart:function(){t.polygonStart(),g.lineStart=x},polygonEnd:function(){t.polygonEnd(),g.lineStart=y}};function m(n,r){n=e(n,r),t.point(n[0],n[1])}function y(){c=NaN,g.point=v,t.lineStart()}function v(r,i){var a=x5([r,i]),o=e(r,i);n(c,f,s,h,d,p,c=o[0],f=o[1],s=r,h=a[0],d=a[1],p=a[2],16,t),t.point(c,f)}function b(){g.point=m,t.lineEnd()}function x(){y(),g.point=_,g.lineEnd=w}function _(e,t){v(r=e,t),i=c,a=f,o=h,l=d,u=p,g.point=v}function w(){n(c,f,s,h,d,p,i,a,r,o,l,u,16,t),g.lineEnd=b,b()}return g}}(e,t):_h({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}var _F=_h({point:function(e,t){this.stream.point(e*xW,t*xW)}});function _$(e,t,n,r,i,a){if(!a)return function(e,t,n,r,i){function a(a,o){return[t+e*(a*=r),n-e*(o*=i)]}return a.invert=function(a,o){return[(a-t)/e*r,(n-o)/e*i]},a}(e,t,n,r,i);var o=xV(a),l=xX(a),u=o*e,s=l*e,c=o/e,f=l/e,h=(l*n-o*t)/e,d=(l*t+o*n)/e;function p(e,a){return[u*(e*=r)-s*(a*=i)+t,n-s*e-u*a]}return p.invert=function(e,t){return[r*(c*e-f*t+h),i*(d-f*e-c*t)]},p}var _M=Math.abs,_S=Math.cos,_N=Math.sin,_O=Math.PI,_B=_O/2,_T=_R(2);function _z(e){return e>1?_B:e<-1?-_B:Math.asin(e)}function _R(e){return e>0?Math.sqrt(e):0}_R(_O);var _L=function(e,t,n){function r(r,i){return[e*r*_S(i=function(e,t){var n,r=e*_N(t),i=30;do t-=n=(t+_N(t)-r)/(1+_S(t));while(_M(n)>1e-6&&--i>0);return t/2}(n,i)),t*_N(i)]}return r.invert=function(r,i){return[r/(e*_S(i=_z(i/t))),_z((2*i+_N(2*i))/n)]},r}(_T/_B,_T,_O);let _P=bj(),_j=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function _I(e,t){var n;if(!e||"string"!=typeof e)throw Error("Projection type must be a name string.");return(e=e.toLowerCase(),arguments.length>1)?(_q[e]=(n=e,function e(){let r=t();return r.type=n,r.path=bj().projection(r),r.copy=r.copy||function(){let t=e();return _j.forEach(e=>{r[e]&&t[e](r[e]())}),t.path.pointRadius(r.path.pointRadius()),t},r[hd]=!0,r}),this):_q[e]||null}function _U(e){return e&&e.path||_P}let _q={albers:xb,albersusa:function(){var e,t,n,r,i,a,o=xb(),l=xv().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=xv().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(e,t){a=[e,t]}};function c(e){var t=e[0],o=e[1];return a=null,n.point(t,o),a||(r.point(t,o),a)||(i.point(t,o),a)}function f(){return e=t=null,c}return c.invert=function(e){var t=o.scale(),n=o.translate(),r=(e[0]-n[0])/t,i=(e[1]-n[1])/t;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?l:i>=.166&&i<.234&&r>=-.214&&r<-.115?u:o).invert(e)},c.stream=function(n){var r,i;return e&&t===n?e:(i=(r=[o.stream(t=n),l.stream(n),u.stream(n)]).length,e={point:function(e,t){for(var n=-1;++n<i;)r[n].point(e,t)},sphere:function(){for(var e=-1;++e<i;)r[e].sphere()},lineStart:function(){for(var e=-1;++e<i;)r[e].lineStart()},lineEnd:function(){for(var e=-1;++e<i;)r[e].lineEnd()},polygonStart:function(){for(var e=-1;++e<i;)r[e].polygonStart()},polygonEnd:function(){for(var e=-1;++e<i;)r[e].polygonEnd()}})},c.precision=function(e){return arguments.length?(o.precision(e),l.precision(e),u.precision(e),f()):o.precision()},c.scale=function(e){return arguments.length?(o.scale(e),l.scale(.35*e),u.scale(e),c.translate(o.translate())):o.scale()},c.translate=function(e){if(!arguments.length)return o.translate();var t=o.scale(),a=+e[0],c=+e[1];return n=o.translate(e).clipExtent([[a-.455*t,c-.238*t],[a+.455*t,c+.238*t]]).stream(s),r=l.translate([a-.307
14*t,c+.201*t]).clipExtent([[a-.425*t+1e-6,c+.12*t+1e-6],[a-.214*t-1e-6,c+.234*t-1e-6]]).stream(s),i=u.translate([a-.205*t,c+.212*t]).clipExtent([[a-.214*t+1e-6,c+.166*t+1e-6],[a-.115*t-1e-6,c+.234*t-1e-6]]).stream(s),f()},c.fitExtent=function(e,t){return xo(c,e,t)},c.fitSize=function(e,t){return xl(c,e,t)},c.fitWidth=function(e,t){return xu(c,e,t)},c.fitHeight=function(e,t){return xs(c,e,t)},c.scale(1070)},azimuthalequalarea:function(){return xp(xw).scale(124.75).clipAngle(179.999)},azimuthalequidistant:function(){return xp(xA).scale(79.4188).clipAngle(179.999)},conicconformal:function(){return xm(xD).scale(109.5).parallels([30,30])},conicequalarea:xv,conicequidistant:function(){return xm(x$).scale(131.154).center([0,13.9389])},equalEarth:function(){return xp(xS).scale(177.158)},equirectangular:function(){return xp(xF).scale(152.63)},gnomonic:function(){return xp(xN).scale(144.049).clipAngle(60)},identity:function(){var e,t,n,r,i,a,o,l=1,u=0,s=0,c=1,f=1,h=0,d=null,p=1,g=1,m=xr({point:function(e,t){var n=b([e,t]);this.stream.point(n[0],n[1])}}),y=vd;function v(){return p=l*c,g=l*f,a=o=null,b}function b(n){var r=n[0]*p,i=n[1]*g;if(h){var a=i*e-r*t;r=r*e+i*t,i=a}return[r+u,i+s]}return b.invert=function(n){var r=n[0]-u,i=n[1]-s;if(h){var a=i*e+r*t;r=r*e-i*t,i=a}return[r/p,i/g]},b.stream=function(e){return a&&o===e?a:a=m(y(o=e))},b.postclip=function(e){return arguments.length?(y=e,d=n=r=i=null,v()):y},b.clipExtent=function(e){return arguments.length?(y=null==e?(d=n=r=i=null,vd):b4(d=+e[0][0],n=+e[0][1],r=+e[1][0],i=+e[1][1]),v()):null==d?null:[[d,n],[r,i]]},b.scale=function(e){return arguments.length?(l=+e,v()):l},b.translate=function(e){return arguments.length?(u=+e[0],s=+e[1],v()):[u,s]},b.angle=function(n){return arguments.length?(t=vB(h=n%360*vC),e=vM(h),v()):h*vk},b.reflectX=function(e){return arguments.length?(c=e?-1:1,v()):c<0},b.reflectY=function(e){return arguments.length?(f=e?-1:1,v()):f<0},b.fitExtent=function(e,t){return xo(b,e,t)},b.fitSize=function(e,t){return xl(b,e,t)},b.fitWidth=function(e,t){return xu(b,e,t)},b.fitHeight=function(e,t){return xs(b,e,t)},b},mercator:function(){return xk(xE).scale(961/vE)},mollweide:function(){return(function(e){var t,n,r,i,a,o,l,u,s,c,f=150,h=480,d=250,p=0,g=0,m=0,y=0,v=0,b=0,x=1,_=1,w=null,A=_i,E=null,k=_l,C=.5;function D(e){return u(e[0]*xW,e[1]*xW)}function F(e){return(e=u.invert(e[0],e[1]))&&[e[0]*xq,e[1]*xq]}function $(){var e,r,i,a=_$(f,0,0,x,_,b).apply(null,t(p,g)),s=_$(f,h-a[0],d-a[1],x,_,b);return e=m,r=y,i=v,n=(e%=xU)?r||i?_o(_c(e),_f(r,i)):_c(e):r||i?_f(r,i):_u,l=_o(t,s),u=_o(n,l),o=_D(l,C),M()}function M(){return s=c=null,D}return D.stream=function(e){var t;return s&&c===e?s:s=_F((t=n,_h({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}}))(A(o(k(c=e)))))},D.preclip=function(e){return arguments.length?(A=e,w=void 0,M()):A},D.postclip=function(e){return arguments.length?(k=e,E=r=i=a=null,M()):k},D.clipAngle=function(e){return arguments.length?(A=+e?function(e){var t=xV(e),n=6*xW,r=t>0,i=xH(t)>1e-6;function a(e,n){return xV(e)*xV(n)>t}function o(e,n,r){var i=x5(e),a=x5(n),o=[1,0,0],l=x4(i,a),u=x6(l,l),s=l[0],c=u-s*s;if(!c)return!r&&e;var f=x4(o,l),h=x9(o,t*u/c);x8(h,x9(l,-t*s/c));var d=x6(h,f),p=x6(f,f),g=d*d-p*(x6(h,h)-1);if(!(g<0)){var m=xJ(g),y=x9(f,(-d-m)/p);if(x8(y,h),y=x3(y),!r)return y;var v,b=e[0],x=n[0],_=e[1],w=n[1];x<b&&(v=b,b=x,x=v);var A=x-b,E=1e-6>xH(A-xP);if(!E&&w<_&&(v=_,_=w,w=v),E||A<1e-6?E?_+w>0^y[1]<(1e-6>xH(y[0]-b)?_:w):_<=y[1]&&y[1]<=w:A>xP^(b<=y[0]&&y[0]<=x)){var k=x9(f,(-d+m)/p);return x8(k,h),[y,x3(k)]}}}function l(t,n){var i=r?e:xP-e,a=0;return t<-i?a|=1:t>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return _t(a,function(e){var t,n,u,s,c;return{lineStart:function(){s=u=!1,c=1},point:function(f,h){var d,p,g=[f,h],m=a(f,h),y=r?m?0:l(f,h):m?l(f+(f<0?xP:-xP),h):0;!t&&(s=u=m)&&e.lineStart(),m!==u&&(!(p=o(t,g))||xK(t,p)||xK(g,p))&&(g[2]=1),m!==u?(c=0,m?(e.lineStart(),p=o(g,t),e.point(p[0],p[1])):(p=o(t,g),e.point(p[0],p[1],2),e.lineEnd()),t=p):i&&t&&r^m&&!(y&n)&&(d=o(g,t,!0))&&(c=0,r?(e.lineStart(),e.point(d[0][0],d[0][1]),e.point(d[1][0],d[1][1]),e.lineEnd()):(e.point(d[1][0],d[1][1]),e.lineEnd(),e.lineStart(),e.point(d[0][0],d[0][1],3))),!m||t&&xK(t,g)||e.point(g[0],g[1]),t=g,u=m,n=y},lineEnd:function(){u&&e.lineEnd(),t=null},clean:function(){return c|(s&&u)<<1}}},function(t,r,i,a){!function(e,t,n,r,i,a){if(n){var o=xV(t),l=xX(t),u=r*n;null==i?(i=t+r*xU,a=t-u/2):(i=_a(o,i),a=_a(o,a),(r>0?i<a:i>a)&&(i+=r*xU));for(var s,c=i;r>0?c>a:c<a;c-=u)s=x3([o,-l*xV(c),-l*xX(c)]),e.point(s[0],s[1])}}(a,e,n,i,t,r)},r?[0,-e]:[-xP,e-xP])}(w=e*xW):(w=null,_i),M()):w*xq},D.clipExtent=function(e){return arguments.length?(k=null==e?(E=r=i=a=null,_l):function(e,t,n,r){function i(i,a){return e<=i&&i<=n&&t<=a&&a<=r}function a(i,a,l,s){var c=0,f=0;if(null==i||(c=o(i,l))!==(f=o(a,l))||0>u(i,a)^l>0)do s.point(0===c||3===c?e:n,c>1?r:t);while((c=(c+l+4)%4)!==f);else s.point(a[0],a[1])}function o(r,i){return 1e-6>xH(r[0]-e)?i>0?0:3:1e-6>xH(r[0]-n)?i>0?2:1:1e-6>xH(r[1]-t)?i>0?1:0:i>0?3:2}function l(e,t){return u(e.x,t.x)}
14function u(e,t){var n=o(e,1),r=o(t,1);return n!==r?n-r:0===n?t[1]-e[1]:1===n?e[0]-t[0]:2===n?e[1]-t[1]:t[0]-e[0]}return function(o){var u,s,c,f,h,d,p,g,m,y,v,b=o,x=xL(),_={point:w,lineStart:function(){_.point=A,s&&s.push(c=[]),y=!0,m=!1,p=g=NaN},lineEnd:function(){u&&(A(f,h),d&&m&&x.rejoin(),u.push(x.result())),_.point=w,m&&b.lineEnd()},polygonStart:function(){b=x,u=[],s=[],v=!0},polygonEnd:function(){var t=function(){for(var t=0,n=0,i=s.length;n<i;++n)for(var a,o,l=s[n],u=1,c=l.length,f=l[0],h=f[0],d=f[1];u<c;++u)a=h,o=d,h=(f=l[u])[0],d=f[1],o<=r?d>r&&(h-a)*(r-o)>(d-o)*(e-a)&&++t:d<=r&&(h-a)*(r-o)<(d-o)*(e-a)&&--t;return t}(),n=v&&t,i=(u=b0(u)).length;(n||i)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),i&&x1(u,l,t,a,o),o.polygonEnd()),b=o,u=s=c=null}};function w(e,t){i(e,t)&&b.point(e,t)}function A(a,o){var l=i(a,o);if(s&&c.push([a,o]),y)f=a,h=o,d=l,y=!1,l&&(b.lineStart(),b.point(a,o));else if(l&&m)b.point(a,o);else{var u=[p=Math.max(-1e9,Math.min(1e9,p)),g=Math.max(-1e9,Math.min(1e9,g))],x=[a=Math.max(-1e9,Math.min(1e9,a)),o=Math.max(-1e9,Math.min(1e9,o))];(function(e,t,n,r,i,a){var o,l=e[0],u=e[1],s=t[0],c=t[1],f=0,h=1,d=s-l,p=c-u;if(o=n-l,d||!(o>0)){if(o/=d,d<0){if(o<f)return;o<h&&(h=o)}else if(d>0){if(o>h)return;o>f&&(f=o)}if(o=i-l,d||!(o<0)){if(o/=d,d<0){if(o>h)return;o>f&&(f=o)}else if(d>0){if(o<f)return;o<h&&(h=o)}if(o=r-u,p||!(o>0)){if(o/=p,p<0){if(o<f)return;o<h&&(h=o)}else if(p>0){if(o>h)return;o>f&&(f=o)}if(o=a-u,p||!(o<0)){if(o/=p,p<0){if(o>h)return;o>f&&(f=o)}else if(p>0){if(o<f)return;o<h&&(h=o)}return f>0&&(e[0]=l+f*d,e[1]=u+f*p),h<1&&(t[0]=l+h*d,t[1]=u+h*p),!0}}}}})(u,x,e,t,n,r)?(m||(b.lineStart(),b.point(u[0],u[1])),b.point(x[0],x[1]),l||b.lineEnd(),v=!1):l&&(b.lineStart(),b.point(a,o),v=!1)}p=a,g=o,m=l}return _}}(E=+e[0][0],r=+e[0][1],i=+e[1][0],a=+e[1][1]),M()):null==E?null:[[E,r],[i,a]]},D.scale=function(e){return arguments.length?(f=+e,$()):f},D.translate=function(e){return arguments.length?(h=+e[0],d=+e[1],$()):[h,d]},D.center=function(e){return arguments.length?(p=e[0]%360*xW,g=e[1]%360*xW,$()):[p*xq,g*xq]},D.rotate=function(e){return arguments.length?(m=e[0]%360*xW,y=e[1]%360*xW,v=e.length>2?e[2]%360*xW:0,$()):[m*xq,y*xq,v*xq]},D.angle=function(e){return arguments.length?(b=e%360*xW,$()):b*xq},D.reflectX=function(e){return arguments.length?(x=e?-1:1,$()):x<0},D.reflectY=function(e){return arguments.length?(_=e?-1:1,$()):_<0},D.precision=function(e){return arguments.length?(o=_D(l,C=e*e),M()):xJ(C)},D.fitExtent=function(e,t){return _k(D,e,t)},D.fitSize=function(e,t){return _k(D,[[0,0],e],t)},D.fitWidth=function(e,t){return _E(D,function(t){var n=+e,r=n/(t[1][0]-t[0][0]),i=(n-r*(t[1][0]+t[0][0]))/2,a=-r*t[0][1];D.scale(150*r).translate([i,a])},t)},D.fitHeight=function(e,t){return _E(D,function(t){var n=+e,r=n/(t[1][1]-t[0][1]),i=-r*t[0][0],a=(n-r*(t[1][1]+t[0][1]))/2;D.scale(150*r).translate([i,a])},t)},function(){return t=e.apply(this,arguments),D.invert=t.invert&&F,$()}})(function(){return _L})().scale(169.529)},naturalEarth1:function(){return xp(xO).scale(175.295)},orthographic:function(){return xp(xB).scale(249.5).clipAngle(90.000001)},stereographic:function(){return xp(xT).scale(250).clipAngle(142)},transversemercator:function(){var e=xk(xz),t=e.center,n=e.rotate;return e.center=function(e){return arguments.length?t([-e[1],e[0]]):[(e=t())[1],-e[0]]},e.rotate=function(e){return arguments.length?n([e[0],e[1],e.length>2?e[2]+90:90]):[(e=n())[0],e[1],e[2]-90]},n([0,0,90]).scale(159.155)}};for(let e in _q)_I(e,_q[e]);var _W=Math.abs,_H=Math.ceil;function _Y(e,t,n){var r=vf(e,t-1e-6,n).concat(t);return function(e){return r.map(function(t){return[e,t]})}}function _G(e,t,n){var r=vf(e,t-1e-6,n).concat(t);return function(e){return r.map(function(t){return[t,e]})}}function _V(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function _X(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function _Z(){}var _J="\\s*([+-]?\\d+)\\s*",_Q="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",_K="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_0=/^#([0-9a-f]{3,8})$/,_1=RegExp(`^rgb\\(${_J},${_J},${_J}\\)$`),_2=RegExp(`^rgb\\(${_K},${_K},${_K}\\)$`),_3=RegExp(`^rgba\\(${_J},${_J},${_J},${_Q}\\)$`),_5=RegExp(`^rgba\\(${_K},${_K},${_K},${_Q}\\)$`),_6=RegExp(`^hsl\\(${_Q},${_K},${_K}\\)$`),_4=RegExp(`^hsla\\(${_Q},${_K},${_K},${_Q}\\)$`),_8={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function _9(){return this.rgb().formatHex()}function _7(){return this.rgb().formatRgb()}function we(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=_0.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?wt(t):3===n?
14new wi(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?wn(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?wn(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=_1.exec(e))?new wi(t[1],t[2],t[3],1):(t=_2.exec(e))?new wi(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=_3.exec(e))?wn(t[1],t[2],t[3],t[4]):(t=_5.exec(e))?wn(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=_6.exec(e))?wc(t[1],t[2]/100,t[3]/100,1):(t=_4.exec(e))?wc(t[1],t[2]/100,t[3]/100,t[4]):_8.hasOwnProperty(e)?wt(_8[e]):"transparent"===e?new wi(NaN,NaN,NaN,0):null}function wt(e){return new wi(e>>16&255,e>>8&255,255&e,1)}function wn(e,t,n,r){return r<=0&&(e=t=n=NaN),new wi(e,t,n,r)}function wr(e,t,n,r){var i;return 1==arguments.length?((i=e)instanceof _Z||(i=we(i)),i)?(i=i.rgb(),new wi(i.r,i.g,i.b,i.opacity)):new wi:new wi(e,t,n,null==r?1:r)}function wi(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function wa(){return`#${ws(this.r)}${ws(this.g)}${ws(this.b)}`}function wo(){let e=wl(this.opacity);return`${1===e?"rgb(":"rgba("}${wu(this.r)}, ${wu(this.g)}, ${wu(this.b)}${1===e?")":`, ${e})`}`}function wl(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function wu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ws(e){return((e=wu(e))<16?"0":"")+e.toString(16)}function wc(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new wh(e,t,n,r)}function wf(e){if(e instanceof wh)return new wh(e.h,e.s,e.l,e.opacity);if(e instanceof _Z||(e=we(e)),!e)return new wh;if(e instanceof wh)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,l=a-i,u=(a+i)/2;return l?(o=t===a?(n-r)/l+(n<r)*6:n===a?(r-t)/l+2:(t-n)/l+4,l/=u<.5?a+i:2-a-i,o*=60):l=u>0&&u<1?0:o,new wh(o,l,u,e.opacity)}function wh(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function wd(e){return(e=(e||0)%360)<0?e+360:e}function wp(e){return Math.max(0,Math.min(1,e||0))}function wg(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function wm(){}_V(_Z,we,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:_9,formatHex:_9,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return wf(this).formatHsl()},formatRgb:_7,toString:_7}),_V(wi,wr,_X(_Z,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new wi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new wi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new wi(wu(this.r),wu(this.g),wu(this.b),wl(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:wa,formatHex:wa,formatHex8:function(){return`#${ws(this.r)}${ws(this.g)}${ws(this.b)}${ws((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:wo,toString:wo})),_V(wh,function(e,t,n,r){return 1==arguments.length?wf(e):new wh(e,t,n,null==r?1:r)},_X(_Z,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new wh(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new wh(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new wi(wg(e>=240?e-240:e+120,i,r),wg(e,i,r),wg(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new wh(wd(this.h),wp(this.s),wp(this.l),wl(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=wl(this.opacity);return`${1===e?"hsl(":"hsla("}${wd(this.h)}, ${100*wp(this.s)}%, ${100*wp(this.l)}%${1===e?")":`, ${e})`}`}}));let wy=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function wv(){var e=1,t=1,n=o;function r(e,t){return t.map(t=>i(e,t))}function i(r,i){var o=[],l=[];return function(n,r,i){var o,l,u,s,c,f,h=[],d=[];for(o=l=-1,wy[(s=n[0]>
14=r)<<1].forEach(p);++o<e-1;)wy[(u=s)|(s=n[o+1]>=r)<<1].forEach(p);for(wy[s<<0].forEach(p);++l<t-1;){for(o=-1,wy[(s=n[l*e+e]>=r)<<1|(c=n[l*e]>=r)<<2].forEach(p);++o<e-1;)u=s,s=n[l*e+e+o+1]>=r,f=c,wy[u|s<<1|(c=n[l*e+o+1]>=r)<<2|f<<3].forEach(p);wy[s|c<<3].forEach(p)}for(o=-1,wy[(c=n[l*e]>=r)<<2].forEach(p);++o<e-1;)f=c,wy[(c=n[l*e+o+1]>=r)<<2|f<<3].forEach(p);function p(e){var t,n,r=[e[0][0]+o,e[0][1]+l],u=[e[1][0]+o,e[1][1]+l],s=a(r),c=a(u);(t=d[s])?(n=h[c])?(delete d[t.end],delete h[n.start],t===n?(t.ring.push(u),i(t.ring)):h[t.start]=d[n.end]={start:t.start,end:n.end,ring:t.ring.concat(n.ring)}):(delete d[t.end],t.ring.push(u),d[t.end=c]=t):(t=h[c])?(n=d[s])?(delete h[t.start],delete d[n.end],t===n?(t.ring.push(u),i(t.ring)):h[n.start]=d[t.end]={start:n.start,end:t.end,ring:n.ring.concat(t.ring)}):(delete h[t.start],t.ring.unshift(r),h[t.start=s]=t):h[s]=d[c]={start:s,end:c,ring:[r,u]}}wy[c<<3].forEach(p)}(r,i,e=>{n(e,r,i),function(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t<n;)r+=e[t-1][1]*e[t][0]-e[t-1][0]*e[t][1];return r}(e)>0?o.push([e]):l.push(e)}),l.forEach(e=>{for(var t,n=0,r=o.length;n<r;++n)if(-1!==function(e,t){for(var n,r=-1,i=t.length;++r<i;)if(n=function(e,t){for(var n=t[0],r=t[1],i=-1,a=0,o=e.length,l=o-1;a<o;l=a++){var u=e[a],s=u[0],c=u[1],f=e[l],h=f[0],d=f[1];if(function(e,t,n){var r,i,a,o;return(t[0]-e[0])*(n[1]-e[1])==(n[0]-e[0])*(t[1]-e[1])&&(i=e[r=+(e[0]===t[0])],a=n[r],o=t[r],i<=a&&a<=o||o<=a&&a<=i)}(u,f,t))return 0;c>r!=d>r&&n<(h-s)*(r-c)/(d-c)+s&&(i=-i)}return i}(e,t[r]))return n;return 0}((t=o[n])[0],e)){t.push(e);return}}),{type:"MultiPolygon",value:i,coordinates:o}}function a(t){return 2*t[0]+t[1]*(e+1)*4}function o(n,r,i){n.forEach(n=>{var a,o=n[0],l=n[1],u=0|o,s=0|l,c=r[s*e+u];o>0&&o<e&&u===o&&(a=r[s*e+u-1],n[0]=o+(i-a)/(c-a)-.5),l>0&&l<t&&s===l&&(a=r[(s-1)*e+u],n[1]=l+(i-a)/(c-a)-.5)})}return r.contour=i,r.size=function(n){if(!arguments.length)return[e,t];var i=Math.floor(n[0]),a=Math.floor(n[1]);return i>=0&&a>=0||ej("invalid size"),e=i,t=a,r},r.smooth=function(e){return arguments.length?(n=e?o:wm,r):n===o},r}function wb(e,t,n){return function(r){var i=tD(r),a=n?Math.min(i[0],0):i[0],o=i[1],l=t?function(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?vc(t,e,n):vc(e,t,n);return(r?-1:1)*(i<0?-(1/i):i)}(a,o,e):(o-a)/(e+1);return vf(a+l,o,l)}}function wx(e){oF.call(this,null,e)}function w_(e,t,n,r,i){let a=e.x1||0,o=e.y1||0,l=t*n<0;function u(e){e.forEach(s)}function s(e){l&&e.reverse(),e.forEach(c)}function c(e){e[0]=(e[0]-a)*t+r,e[1]=(e[1]-o)*n+i}return function(e){return e.coordinates.forEach(u),e}}function ww(e,t,n){let r=e>=0?e:oU(t,n);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function wA(e){return tv(e)?e:tE(+e)}function wE(){var e=e=>e[0],t=e=>e[1],n=eY,r=[-1,-1],i=960,a=500,o=2;function l(l,u){let s=ww(r[0],l,e)>>o,c=ww(r[1],l,t)>>o,f=s?s+2:0,h=c?c+2:0,d=2*f+(i>>o),p=2*h+(a>>o),g=new Float32Array(d*p),m=new Float32Array(d*p),y=g;l.forEach(r=>{let i=f+(+e(r)>>o),a=h+(+t(r)>>o);i>=0&&i<d&&a>=0&&a<p&&(g[i+a*d]+=+n(r))}),s>0&&c>0?(wk(d,p,g,m,s),wC(d,p,m,g,c),wk(d,p,g,m,s),wC(d,p,m,g,c),wk(d,p,g,m,s),wC(d,p,m,g,c)):s>0?(wk(d,p,g,m,s),wk(d,p,m,g,s),wk(d,p,g,m,s),y=m):c>0&&(wC(d,p,g,m,c),wC(d,p,m,g,c),wC(d,p,g,m,c),y=m);let v=u?Math.pow(2,-2*o):1/function(e,t){let n=0;if(void 0===t)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}(y);for(let e=0,t=d*p;e<t;++e)y[e]*=v;return{values:y,scale:1<<o,width:d,height:p,x1:f,y1:h,x2:f+(i>>o),y2:h+(a>>o)}}return l.x=function(t){return arguments.length?(e=wA(t),l):e},l.y=function(e){return arguments.length?(t=wA(e),l):t},l.weight=function(e){return arguments.length?(n=wA(e),l):n},l.size=function(e){if(!arguments.length)return[i,a];var t=+e[0],n=+e[1];return t>=0&&n>=0||ej("invalid size"),i=t,a=n,l},l.cellSize=function(e){return arguments.length?((e=+e)>=1||ej("invalid cell size"),o=Math.floor(Math.log(e)/Math.LN2),l):1<<o},l.bandwidth=function(e){return arguments.length?(1===(e=tm(e)).length&&(e=[+e[0],+e[0]]),2!==e.length&&ej("invalid bandwidth"),r=e,l):r},l}function wk(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<t;++o)for(let t=0,l=0;t<e+i;++t)t<e&&(l+=n[t+o*e]),t>=i&&(t>=a&&(l-=n[t-a+o*e]),r[t-i+o*e]=l/Math.min(t+1,e-1+a-t,a))}function wC(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<e;++o)for(let l=0,u=0;l<t+i;++l)l<t&&(u+=n[o+l*e]),l>=i&&(l>
14=a&&(u-=n[o+(l-a)*e]),r[o+(l-i)*e]=u/Math.min(l+1,t-1+a-l,a))}function wD(e){oF.call(this,null,e)}wx.Definition={type:"Isocontour",metadata:{generates:!0},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:!0},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:!0},{name:"smooth",type:"boolean",default:!0},{name:"scale",type:"number",expr:!0},{name:"translate",type:"number",array:!0,expr:!0},{name:"as",type:"string",null:!0,default:"contour"}]},tB(wx,oF,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=t.materialize(t.SOURCE).source,i=e.field||eW,a=wv().smooth(!1!==e.smooth),o=e.thresholds||function(e,t,n){let r=wb(n.levels||10,n.nice,!1!==n.zero);return"shared"!==n.resolve?r:r(e.map(e=>vh(t(e).values)))}(r,i,e),l=null===e.as?null:e.as||"contour",u=[];return r.forEach(t=>{let n=i(t),r=a.size([n.width,n.height])(n.values,e2(o)?o:o(n.values));(function(e,t,n,r){let i=r.scale||t.scale,a=r.translate||t.translate;if(tv(i)&&(i=i(n,r)),tv(a)&&(a=a(n,r)),(1===i||null==i)&&!a)return;let o=(tP(i)?i:i[0])||1,l=(tP(i)?i:i[1])||1,u=a&&a[0]||0,s=a&&a[1]||0;e.forEach(w_(t,o,l,u,s))})(r,n,t,e),r.forEach(e=>{u.push(a4(t,a5(null!=l?{[l]:e}:e)))})}),this.value&&(n.rem=this.value),this.value=n.source=n.add=u,n}}),wD.Definition={type:"KDE2D",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"weight",type:"field"},{name:"groupby",type:"field",array:!0},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:!0,length:2},{name:"counts",type:"boolean",default:!1},{name:"as",type:"string",default:"grid"}]};let wF=["x","y","weight","size","cellSize","bandwidth"];function w$(e,t){return wF.forEach(n=>null!=t[n]?e[n](t[n]):0),e}function wM(e){oF.call(this,null,e)}tB(wD,oF,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=function(e,t){var n,r,i,a,o,l,u=[],s=e=>e(a);if(null==t)u.push(e);else for(n={},r=0,i=e.length;r<i;++r)a=e[r],(l=n[o=t.map(s)])||(n[o]=l=[],l.dims=o,u.push(l)),l.push(a);return u}(t.materialize(t.SOURCE).source,e.groupby),i=(e.groupby||[]).map(eT),a=w$(wE(),e),o=e.as||"grid",l=[];return l=r.map(t=>a5(function(e,t){for(let n=0;n<i.length;++n)e[i[n]]=t[n];return e}({[o]:a(t,e.counts)},t.dims))),this.value&&(n.rem=this.value),this.value=n.source=n.add=l,n}}),wM.Definition={type:"Contour",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"values",type:"number",array:!0},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"thresholds",type:"number",array:!0},{name:"smooth",type:"boolean",default:!0}]},tB(wM,oF,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n,r,i=t.fork(t.NO_SOURCE|t.NO_FIELDS),a=wv().smooth(!1!==e.smooth),o=e.values,l=e.thresholds||wb(e.count||10,e.nice,!!o),u=e.size;return o||(o=t.materialize(t.SOURCE).source,r=w_(n=w$(wE(),e)(o,!0),n.scale||1,n.scale||1,0,0),u=[n.width,n.height],o=n.values),l=e2(l)?l:l(o),o=a.size(u)(o,l),r&&o.forEach(r),this.value&&(i.rem=this.value),this.value=i.source=i.add=(o||[]).map(a5),i}});let wS="Feature",wN="FeatureCollection";function wO(e){oF.call(this,null,e)}function wB(e){oF.call(this,null,e)}function wT(e){oF.call(this,null,e)}function wz(e){oF.call(this,null,e)}function wR(e){oF.call(this,[],e),this.generator=function(){var e,t,n,r,i,a,o,l,u,s,c,f,h=10,d=10,p=90,g=360,m=2.5;function y(){return{type:"MultiLineString",coordinates:v()}}function v(){return vf(_H(r/p)*p,n,p).map(c).concat(vf(_H(l/g)*g,o,g).map(f)).concat(vf(_H(t/h)*h,e,h).filter(function(e){return _W(e%p)>1e-6}).map(u)).concat(vf(_H(a/d)*d,i,d).filter(function(e){return _W(e%g)>1e-6}).map(s))}return y.lines=function(){return v().map(function(e){return{type:"LineString",coordinates:e}})},y.outline=function(){return{type:"Polygon",coordinates:[c(r).concat(f(o).slice(1),c(n).reverse().slice(1),f(l).reverse().slice(1))]}},y.extent=function(e){return arguments.length?y.extentMajor(e).extentMinor(e):y.extentMinor()},y.extentMajor=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],l=+e[0][1],o=+e[1][1],r>n&&(e=r,r=n,n=e),l>o&&(e=l,l=o,o=e),y.precision(m)):[[r,l],[n,o]]},y.extentMinor=function(n){return arguments.length?(t=+n[0][0],e=+n[1][0],a=+n[0][1],i=+n[1][1],t>e&&(n=t,t=e,e=n),a>i&&(n=a,a=i,i=n),y.precision(m)):[[t,a],[e,i]]},y.step=function(e){return arguments.length?y.stepMajor(e).stepMinor(e):y.stepMinor()},y.stepMajor=function(e){return arguments.length?(p=+e[0],g=+e[1],y):[p,g]},y.stepMinor=function(e){return arguments.length?(h=+e[0],d=+e[1],y):[h,d]},y.precision=function(h){return arguments.length?(m=+h,u=_Y(a,i,90),s=_G(t,e,m),c=_Y(l,o,90),f=_G(r,n,m),y):m},y.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}()}function wL(e){oF.call(this,null,e)}function wP(e){if(!tv(e))return!1;let t=t0(ez(e));return t.$x||t.$y||t.$value||t.$max}function wj(e){oF.call(this,null,e),this.modified(!0)}function wI(e,t,n){tv(e[t])&&e[t](n)}function wU(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a,o,l,u,s,c,f,h,d=e._root,p={data:r},g=e._x0,m=e._y0,y=e._x1,v=e._y1;if(!d)return e._root=p,e;for(;d.length;)if((s=t>=(a=(g+y)/2))?g=a:y=a,(c=n>=(o=(m+v)/2))?m=o:v=o,i=d,!(d=d[f=c<<1|s]))return i[f]=p,e;if(l=+e._x.call(null,d.data),u=+e._y.call(null,d.data),t===l&&n===u)return p.next=d,i?i[f]=p:e._root=p,e;do i=i?i[f]=[,,,,]:e._root=[,,,,],(s=t>=(a=(g+y)/2))?g=a:y=a,(c=n>=(o=(m+v)/2))?m=o:v=o;while((f=c<<1|s)==(h=(u>=o)<<1|l>=a));return i[h]=d,i[f]=p,e}function wq(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function wW(e){return e[0]}function wH(e){return e[1]}function wY(e,t,n){var r=new wG(null==t?wW:t,null==n?wH:n,NaN,NaN,NaN,NaN);return null==e?r:r.addAll(e)}function wG(e,t,n,r,i,a){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function wV(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}wO.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},tB(wO,oF,{transform(e,t){var n,r=this._features,i=this._points,a=e.fields,o=a&&a[0],l=a&&a[1],u=e.geojson||!a&&eW,s=t.ADD;n=e.modified()||t.changed(t.REM)||t.modified(ez(u))||o&&t.modified(ez(o))||l&&t.modified(ez(l)),(!this.value||n)&&(s=t.SOURCE,this._features=r=[],this._points=i=[]),u&&t.visit(s,e=>r.push(u(e))),o&&l&&(t.visit(s,e=>{var t=o(e),n=l(e);null!=t&&null!=n&&(t=+t)===t&&(n=+n)===n&&i.push([t,n])}),r=r.concat({type:wS,geometry:{type:"MultiPoint",coordinates:i}})),this.value={type:wN,features:r}}}),wB.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},tB(wB,oF,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.field||eW,a=e.as||"path",o=n.SOURCE;!r||e.modified()?(this.value=r=_U(e.projection),n.materialize().reflow()):o=i===eW||t.modified(i.fields)?n.ADD_MOD:n.ADD;let l=function(e,t){let n=e.pointRadius();return e.context(null),null!=t&&e.pointRadius(t),n}(r,e.pointRadius);return n.visit(o,e=>e[a]=r(i(e))),r.pointRadius(l),n.modifies(a)}}),wT.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},tB(wT,oF,{transform(e,t){var n,r=e.projection,i=e.fields[0],a=e.fields[1],o=e.as||["x","y"],l=o[0],u=o[1];function s(e){let t=r([i(e),a(e)]);t?(e[l]=t[0],e[u]=t[1]):(e[l]=void 0,e[u]=void 0)}return e.modified()?t=t.materialize().reflow(!0).visit(t.SOURCE,s):(n=t.modified(i.fields)||t.modified(a.fields),t.visit(n?t.ADD_MOD:t.ADD,s)),t.modifies(o)}}),wz.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},tB(wz,oF,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.as||"shape",a=n.ADD;return(!r||e.modified())&&(this.value=r=function(e,t,n){let r=null==n?n=>e(t(n)):r=>{var i=e.pointRadius(),a=e.pointRadius(n)(t(r));return e.pointRadius(i),a};return r.context=t=>(e.context(t),r),r}(_U(e.projection),e.field||eU("datum"),e.pointRadius),n.materialize().reflow(),a=n.SOURCE),n.visit(a,e=>e[i]=r),n.modifies(i)}}),wR.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},tB(wR,oF,{transform(e,t){var n,r=this.value,i=this.generator;if(!r.length||e.modified())for(let t in e)tv(i[t])&&i[t](e[t]);return n=i(),r.length?t.mod.push(a8(r[0],n)):t.add.push(a5(n)),r[0]=n,t}}),wL.Definition={type:"heatmap",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:!0},{name:"opacity",type:"number",expr:!0},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]},tB(wL,oF,{transform(e,t){let n,r;if(!t.changed()&&!e.modified())return t.StopPropagation;var i,a,o=t.materialize(t.SOURCE).source,l="shared"===e.resolve,u=e.field||eW,s=(tv(i=e.opacity)?(n=t=>i(t,e)).dep=wP(i):i?n=tE(i):(n=e=>e.$value/e.$max||0).dep=!0,n),c=(tv(a=e.color)?(r=t=>
14wr(a(t,e))).dep=wP(a):r=tE(wr(a||"#888")),r),f=e.as||"image",h={$x:0,$y:0,$value:0,$max:l?vh(o.map(e=>vh(u(e).values))):0};return o.forEach(e=>{let t=u(e),n=tC({},e,h);l||(n.$max=vh(t.values||[])),e[f]=function(e,t,n,r){let i=e.width,a=e.height,o=e.x1||0,l=e.y1||0,u=e.x2||i,s=e.y2||a,c=e.values,f=c?e=>c[e]:eH,h=sL(u-o,s-l),d=h.getContext("2d"),p=d.getImageData(0,0,u-o,s-l),g=p.data;for(let e=l,a=0;e<s;++e){t.$y=e-l;for(let l=o,s=e*i;l<u;++l,a+=4){t.$x=l-o,t.$value=f(l+s);let e=n(t);g[a+0]=e.r,g[a+1]=e.g,g[a+2]=e.b,g[a+3]=~~(255*r(t))}}return d.putImageData(p,0,0),h}(t,n,c.dep?c:tE(c(n)),s.dep?s:tE(s(n)))}),t.reflow(!0).modifies(f)}}),tB(wj,oF,{transform(e,t){let n=this.value;return!n||e.modified("type")?(this.value=n=function(e){let t=_I((e||"mercator").toLowerCase());return t||ej("Unrecognized projection type: "+e),t()}(e.type),_j.forEach(t=>{null!=e[t]&&wI(n,t,e[t])})):_j.forEach(t=>{e.modified(t)&&wI(n,t,e[t])}),null!=e.pointRadius&&n.path.pointRadius(e.pointRadius),e.fit&&function(e,t){var n;let r=1===(n=tm(n=t.fit)).length?n[0]:{type:wN,features:n.reduce((e,t)=>e.concat(t.type===wN?t.features:tm(t).filter(e=>null!=e).map(e=>e.type===wS?e:{type:wS,geometry:e})),[])};t.extent?e.fitExtent(t.extent,r):t.size&&e.fitSize(t.size,r)}(n,e),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});var wX=wY.prototype=wG.prototype;function wZ(e){return function(){return e}}function wJ(e){return(e()-.5)*1e-6}function wQ(e){return e.x+e.vx}function wK(e){return e.y+e.vy}wX.copy=function(){var e,t,n=new wG(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=wV(r),n;for(e=[{source:r,target:n._root=[,,,,]}];r=e.pop();)for(var i=0;i<4;++i)(t=r.source[i])&&(t.length?e.push({source:t,target:r.target[i]=[,,,,]}):r.target[i]=wV(t));return n},wX.add=function(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return wU(this.cover(t,n),t,n,e)},wX.addAll=function(e){var t,n,r,i,a=e.length,o=Array(a),l=Array(a),u=1/0,s=1/0,c=-1/0,f=-1/0;for(n=0;n<a;++n)!(isNaN(r=+this._x.call(null,t=e[n]))||isNaN(i=+this._y.call(null,t)))&&(o[n]=r,l[n]=i,r<u&&(u=r),r>c&&(c=r),i<s&&(s=i),i>f&&(f=i));if(u>c||s>f)return this;for(this.cover(u,s).cover(c,f),n=0;n<a;++n)wU(this,o[n],l[n],e[n]);return this},wX.cover=function(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,a=(r=Math.floor(t))+1;else{for(var o,l,u=i-n||1,s=this._root;n>e||e>=i||r>t||t>=a;)switch(l=(t<r)<<1|e<n,(o=[,,,,])[l]=s,s=o,u*=2,l){case 0:i=n+u,a=r+u;break;case 1:n=i-u,a=r+u;break;case 2:i=n+u,r=a-u;break;case 3:n=i-u,r=a-u}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this},wX.data=function(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e},wX.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},wX.find=function(e,t,n){var r,i,a,o,l,u,s,c=this._x0,f=this._y0,h=this._x1,d=this._y1,p=[],g=this._root;for(g&&p.push(new wq(g,c,f,h,d)),null==n?n=1/0:(c=e-n,f=t-n,h=e+n,d=t+n,n*=n);u=p.pop();)if((g=u.node)&&!((i=u.x0)>h)&&!((a=u.y0)>d)&&!((o=u.x1)<c)&&!((l=u.y1)<f)){if(g.length){var m=(i+o)/2,y=(a+l)/2;p.push(new wq(g[3],m,y,o,l),new wq(g[2],i,y,m,l),new wq(g[1],m,a,o,y),new wq(g[0],i,a,m,y)),(s=(t>=y)<<1|e>=m)&&(u=p[p.length-1],p[p.length-1]=p[p.length-1-s],p[p.length-1-s]=u)}else{var v=e-+this._x.call(null,g.data),b=t-+this._y.call(null,g.data),x=v*v+b*b;if(x<n){var _=Math.sqrt(n=x);c=e-_,f=t-_,h=e+_,d=t+_,r=g.data}}}return r},wX.remove=function(e){if(isNaN(a=+this._x.call(null,e))||isNaN(o=+this._y.call(null,e)))return this;var t,n,r,i,a,o,l,u,s,c,f,h,d=this._root,p=this._x0,g=this._y0,m=this._x1,y=this._y1;if(!d)return this;if(d.length)for(;;){if((s=a>=(l=(p+m)/2))?p=l:m=l,(c=o>=(u=(g+y)/2))?g=u:y=u,t=d,!(d=d[f=c<<1|s]))return this;if(!d.length)break;(t[f+1&3]||t[f+2&3]||t[f+3&3])&&(n=t,h=f)}for(;d.data!==e;)if(r=d,!(d=d.next))return this;return((i=d.next)&&delete d.next,r)?(i?r.next=i:delete r.next,this):t?(i?t[f]=i:delete t[f],(d=t[0]||t[1]||t[2]||t[3])&&d===(t[3]||t[2]||t[1]||t[0])&&!d.length&&(n?n[h]=d:this._root=d
14),this):(this._root=i,this)},wX.removeAll=function(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this},wX.root=function(){return this._root},wX.size=function(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e},wX.visit=function(e){var t,n,r,i,a,o,l=[],u=this._root;for(u&&l.push(new wq(u,this._x0,this._y0,this._x1,this._y1));t=l.pop();)if(!e(u=t.node,r=t.x0,i=t.y0,a=t.x1,o=t.y1)&&u.length){var s=(r+a)/2,c=(i+o)/2;(n=u[3])&&l.push(new wq(n,s,c,a,o)),(n=u[2])&&l.push(new wq(n,r,c,s,o)),(n=u[1])&&l.push(new wq(n,s,i,a,c)),(n=u[0])&&l.push(new wq(n,r,i,s,c))}return this},wX.visitAfter=function(e){var t,n=[],r=[];for(this._root&&n.push(new wq(this._root,this._x0,this._y0,this._x1,this._y1));t=n.pop();){var i=t.node;if(i.length){var a,o=t.x0,l=t.y0,u=t.x1,s=t.y1,c=(o+u)/2,f=(l+s)/2;(a=i[0])&&n.push(new wq(a,o,l,c,f)),(a=i[1])&&n.push(new wq(a,c,l,u,f)),(a=i[2])&&n.push(new wq(a,o,f,c,s)),(a=i[3])&&n.push(new wq(a,c,f,u,s))}r.push(t)}for(;t=r.pop();)e(t.node,t.x0,t.y0,t.x1,t.y1);return this},wX.x=function(e){return arguments.length?(this._x=e,this):this._x},wX.y=function(e){return arguments.length?(this._y=e,this):this._y};var w0=n(92626),w1=n(35374);function w2(e){return e.x}function w3(e){return e.y}var w5=Math.PI*(3-Math.sqrt(5));function w6(e){return e.index}function w4(e,t){var n=e.get(t);if(!n)throw Error("node not found: "+t);return n}let w8={center:function(e,t){var n,r=1;function i(){var i,a,o=n.length,l=0,u=0;for(i=0;i<o;++i)l+=(a=n[i]).x,u+=a.y;for(l=(l/o-e)*r,u=(u/o-t)*r,i=0;i<o;++i)a=n[i],a.x-=l,a.y-=u}return null==e&&(e=0),null==t&&(t=0),i.initialize=function(e){n=e},i.x=function(t){return arguments.length?(e=+t,i):e},i.y=function(e){return arguments.length?(t=+e,i):t},i.strength=function(e){return arguments.length?(r=+e,i):r},i},collide:function(e){var t,n,r,i=1,a=1;function o(){for(var e,o,u,s,c,f,h,d=t.length,p=0;p<a;++p)for(e=0,o=wY(t,wQ,wK).visitAfter(l);e<d;++e)h=(f=n[(u=t[e]).index])*f,s=u.x+u.vx,c=u.y+u.vy,o.visit(g);function g(e,t,n,a,o){var l=e.data,d=e.r,p=f+d;if(l){if(l.index>u.index){var g=s-l.x-l.vx,m=c-l.y-l.vy,y=g*g+m*m;y<p*p&&(0===g&&(y+=(g=wJ(r))*g),0===m&&(y+=(m=wJ(r))*m),y=(p-(y=Math.sqrt(y)))/y*i,u.vx+=(g*=y)*(p=(d*=d)/(h+d)),u.vy+=(m*=y)*p,l.vx-=g*(p=1-p),l.vy-=m*p)}return}return t>s+p||a<s-p||n>c+p||o<c-p}}function l(e){if(e.data)return e.r=n[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function u(){if(t){var r,i,a=t.length;for(r=0,n=Array(a);r<a;++r)n[(i=t[r]).index]=+e(i,r,t)}}return"function"!=typeof e&&(e=wZ(null==e?1:+e)),o.initialize=function(e,n){t=e,r=n,u()},o.iterations=function(e){return arguments.length?(a=+e,o):a},o.strength=function(e){return arguments.length?(i=+e,o):i},o.radius=function(t){return arguments.length?(e="function"==typeof t?t:wZ(+t),u(),o):e},o},nbody:function(){var e,t,n,r,i,a=wZ(-30),o=1,l=1/0,u=.81;function s(n){var i,a=e.length,o=wY(e,w2,w3).visitAfter(f);for(r=n,i=0;i<a;++i)t=e[i],o.visit(h)}function c(){if(e){var t,n,r=e.length;for(t=0,i=Array(r);t<r;++t)i[(n=e[t]).index]=+a(n,t,e)}}function f(e){var t,n,r,a,o,l=0,u=0;if(e.length){for(r=a=o=0;o<4;++o)(t=e[o])&&(n=Math.abs(t.value))&&(l+=t.value,u+=n,r+=n*t.x,a+=n*t.y);e.x=r/u,e.y=a/u}else{(t=e).x=t.data.x,t.y=t.data.y;do l+=i[t.data.index];while(t=t.next)}e.value=l}function h(e,a,s,c){if(!e.value)return!0;var f=e.x-t.x,h=e.y-t.y,d=c-a,p=f*f+h*h;if(d*d/u<p)return p<l&&(0===f&&(p+=(f=wJ(n))*f),0===h&&(p+=(h=wJ(n))*h),p<o&&(p=Math.sqrt(o*p)),t.vx+=f*e.value*r/p,t.vy+=h*e.value*r/p),!0;if(!e.length&&!(p>=l)){(e.data!==t||e.next)&&(0===f&&(p+=(f=wJ(n))*f),0===h&&(p+=(h=wJ(n))*h),p<o&&(p=Math.sqrt(o*p)));do e.data!==t&&(d=i[e.data.index]*r/p,t.vx+=f*d,t.vy+=h*d);while(e=e.next)}}return s.initialize=function(t,r){e=t,n=r,c()},s.strength=function(e){return arguments.length?(a="function"==typeof e?e:wZ(+e),c(),s):a},s.distanceMin=function(e){return arguments.length?(o=e*e,s):Math.sqrt(o)},s.distanceMax=function(e){return arguments.length?(l=e*e,s):Math.sqrt(l)},s.theta=function(e){return arguments.length?(u=e*e,s):Math.sqrt(u)},s},link:function(e){var t,n,r,i,a,o,l=w6,u=function(e){return 1/Math.min(i[e.source.index],i[e.target.index])},s=wZ(30),c=1;function f(r){for(var i=0,l=e.length;i<c;++i)for(var u,s,f,h,d,p,g,m=0;m<l;++m)s=(u=e[m]).source,p=((p=Math.sqrt((h=(f=u.target).x+f.vx-s.x-s.vx||wJ(o))*h+(d=f.y+f.vy-s.y-s.vy||wJ(o))*d))-n[m])/p*r*t[m],h*=p,d*=p,f.vx-=h*(g=a[m]),f.vy-=d*g,s.vx+=h*(g=1-g),s.vy+=d*g}function h(){if(r){var o,u,s=r.length,c=e.length,f=new Map(r.map((e,t)=>[l(e,t,r),e]));for(o=0,i=Array(s);o<c;++o)(u=e[o]).index=o,"object"!=typeof u.source&&(u.source=w4(f,u.source)),"object"!=typeof u.target&&(u.target=w4(f,u.target)),i[u.source.index]=(i[u.source.index]||0)+1,i[u.target.index]=(i[u.target.index]||0)+1;for(o=0,a=Array(c);o<c;++o)u=e[o],a[o]=i[u.source.index]/(i[u.source.index]+i[u.target.index]);t=Array(c),d(),n=Array(c),p()}}function d(){if(r)for(var n=0,i=e.length;n<i;++n)t[n]=+u(e[n],n,e)}function p(){if(r)for(var t=0,i=e.length;t<i;++t)n[t]=+s(e[t],t,e)}return null==e&&(e=[]),f.initialize=function(e,t){r=e,o=t,h()},f.links=function(t){return arguments.length?(e=t,h(),f):e},f.id=function(e){return arguments.length?(l=e,f):l},f.iterations=function(e){return arguments.length?(c=+e,f):c},f.strength=function(e){return arguments.length?(u="function"==typeof e?e:wZ(+e),d(),f):u},f.distance=function(e){return arguments.length?(s="function"==typeof e?e:wZ(+e),p(),f):s},f},x:function(e){var t,n,r,i=wZ(.1);function a(e){for(var i,a=0,o=t.length;a<o;++a)i=t[a],i.vx+=(r[a]-i.x)*n[a]*e}function o(){if(t){var a,o=t.length;for(a=0,n=Array(o),r=Array(o);a<o;++a)n[a]=isNaN(r[a]=+e(t[a],a,t))?0:+i(t[a],a,t)}}return"function"!=typeof e&&(e=wZ(null==e?0:+e)),a.initialize=function(e){t=e,o()},a.strength=function(e){return arguments.length?(i="function"==typeof e?e:wZ(+e),o(),a):i},a.x=function(t){return arguments.length?(e="function"==typeof t?t:wZ(+t),o(),a):e},a},y:function(e){var t,n,r,i=wZ(.1);function a(e){for(var i,a=0,o=t.length;a<o;++a)i=t[a],i.vy+=(r[a]-i.y)*n[a]*e}function o(){if(t){var a,o=t.length;for(a=0,n=Array(o),r=Array(o);a<o;++a)n[a]=isNaN(r[a]=+e(t[a],a,t))?0:+i(t[a],a,t)}}return"function"!=typeof e&&(e=wZ(null==e?0:+e)),a.initialize=function(e){t=e,o()},a.strength=function(e){return arguments.length?(i="function"==typeof e?e:wZ(+e),o(),a):i},a.y=function(t){return arguments.length?(e="function"==typeof t?t:wZ(+t),o(),a):e},a}},w9="forces",w7=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],Ae=["static","iterations"],At=["x","y","vx","vy"];function An(e){oF.call(this,null,e)}function Ar(e,t,n,r){var i,a,o,l,u=tm(t.forces);for(i=0,a=w7.length;i<a;++i)(o=w7[i])!==w9&&t.modified(o)&&e[o](t[o]);for(i=0,a=u.length;i<a;++i)l=w9+i,(o=n||t.modified(w9,i)?function(e){var t,n;for(n in tM(w8,e.force)||ej("Unrecognized force: "+e.force),t=w8[e.force](),e)tv(t[n])&&function(e,t,n){e(tv(t)?e=>t(e,n):t)}(t[n],e[n],e);return t}(u[i]):r&&function(e,t){var n,r;for(n in e)if(tv(r=e[n])&&t.modified(ez(r)))return 1;return 0}(u[i],r)?e.force(l):null)&&e.force(l,o);for(a=e.numForces||0;i<a;++i)e.force(w9+i,null);return e.numForces=u.length,e}function Ai(e){var t=0,n=e.children,r=n&&n.length;if(r)for(;--r>=0;)t+=n[r].value;else t=1;e.value=t}function Aa(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=Al)):void 0===t&&(t=Ao);for(var n,r,i,a,o,l=new Ac(e),u=[l];n=u.pop();)if((i=t(n.data))&&(o=(i=Array.from(i)).length))for(n.children=i,a=o-1;a>=0;--a)u.push(r=i[a]=new Ac(i[a])),r.parent=n,r.depth=n.depth+1;return l.eachBefore(As)}function Ao(e){return e.children}function Al(e){return Array.isArray(e)?e[1]:null}function Au(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function As(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function Ac(e){this.data=e,this.depth=this.height=0,this.parent=null}function Af(e){return null==e?null:Ah(e)}function Ah(e){if("function"!=typeof e)throw Error();return e}function Ad(){return 0}function Ap(e){return function(){return e}}function Ag(e,t){var n=e.r-t.r,r=t.x-e.x,i=t.y-e.y;return n<0||n*n<r*r+i*i}function Am(e,t){var n=e.r-t.r+1e-9*Math.max(e.r,t.r,1),r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function Ay(e,t){for(var n=0;n<t.length;++n)if(!Am(e,t[n]))return!1;return!0}function Av(e,t){var n=e.x,r=e.y,i=e.r,a=t.x,o=t.y,l=t.r,u=a-n,s=o-r,c=l-i,f=Math.sqrt(u*u+s*s);
14return{x:(n+a+u/f*c)/2,y:(r+o+s/f*c)/2,r:(f+i+l)/2}}function Ab(e,t,n){var r=e.x,i=e.y,a=e.r,o=t.x,l=t.y,u=t.r,s=n.x,c=n.y,f=n.r,h=r-o,d=r-s,p=i-l,g=i-c,m=u-a,y=f-a,v=r*r+i*i-a*a,b=v-o*o-l*l+u*u,x=v-s*s-c*c+f*f,_=d*p-h*g,w=(p*x-g*b)/(2*_)-r,A=(g*m-p*y)/_,E=(d*b-h*x)/(2*_)-i,k=(h*y-d*m)/_,C=A*A+k*k-1,D=2*(a+w*A+E*k),F=w*w+E*E-a*a,$=-(Math.abs(C)>1e-6?(D+Math.sqrt(D*D-4*C*F))/(2*C):F/D);return{x:r+w+A*$,y:i+E+k*$,r:$}}function Ax(e,t,n){var r,i,a,o,l=e.x-t.x,u=e.y-t.y,s=l*l+u*u;s?(i=t.r+n.r,i*=i,o=e.r+n.r,i>(o*=o)?(r=(s+o-i)/(2*s),a=Math.sqrt(Math.max(0,o/s-r*r)),n.x=e.x-r*l-a*u,n.y=e.y-r*u+a*l):(r=(s+i-o)/(2*s),a=Math.sqrt(Math.max(0,i/s-r*r)),n.x=t.x+r*l-a*u,n.y=t.y+r*u+a*l)):(n.x=t.x+n.r,n.y=t.y)}function A_(e,t){var n=e.r+t.r-1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function Aw(e){var t=e._,n=e.next._,r=t.r+n.r,i=(t.x*n.r+n.x*t.r)/r,a=(t.y*n.r+n.y*t.r)/r;return i*i+a*a}function AA(e){this._=e,this.next=null,this.previous=null}function AE(e){return Math.sqrt(e.value)}function Ak(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function AC(e,t,n){return function(r){if(i=r.children){var i,a,o,l=i.length,u=e(r)*t||0;if(u)for(a=0;a<l;++a)i[a].r+=u;if(o=function(e,t){var n,r,i,a,o,l,u,s,c,f,h,d;if(!(a=(e="object"==typeof(d=e)&&"length"in d?d:Array.from(d)).length))return 0;if((n=e[0]).x=0,n.y=0,!(a>1))return n.r;if(r=e[1],n.x=-r.r,r.x=n.r,r.y=0,!(a>2))return n.r+r.r;Ax(r,n,i=e[2]),n=new AA(n),r=new AA(r),i=new AA(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;t:for(u=3;u<a;++u){Ax(n._,r._,i=e[u]),i=new AA(i),s=r.next,c=n.previous,f=r._.r,h=n._.r;do if(f<=h){if(A_(s._,i._)){r=s,n.next=r,r.previous=n,--u;continue t}f+=s._.r,s=s.next}else{if(A_(c._,i._)){(n=c).next=r,r.previous=n,--u;continue t}h+=c._.r,c=c.previous}while(s!==c.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,o=Aw(n);(i=i.next)!==r;)(l=Aw(i))<o&&(n=i,o=l);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(u=0,i=function(e,t){for(var n,r,i=0,a=(e=function(e,t){let n=e.length,r,i;for(;n;)i=t()*n--|0,r=e[n],e[n]=e[i],e[i]=r;return e}(Array.from(e),t)).length,o=[];i<a;)n=e[i],r&&Am(r,n)?++i:(r=function(e){switch(e.length){case 1:var t;return{x:(t=e[0]).x,y:t.y,r:t.r};case 2:return Av(e[0],e[1]);case 3:return Ab(e[0],e[1],e[2])}}(o=function(e,t){var n,r;if(Ay(t,e))return[t];for(n=0;n<e.length;++n)if(Ag(t,e[n])&&Ay(Av(e[n],t),e))return[e[n],t];for(n=0;n<e.length-1;++n)for(r=n+1;r<e.length;++r)if(Ag(Av(e[n],e[r]),t)&&Ag(Av(e[n],t),e[r])&&Ag(Av(e[r],t),e[n])&&Ay(Ab(e[n],e[r],t),e))return[e[n],e[r],t];throw Error()}(o,n)),i=0);return r}(n,t);u<a;++u)n=e[u],n.x-=i.x,n.y-=i.y;return i.r}(i,n),u)for(a=0;a<l;++a)i[a].r-=u;r.r=o+u}}}function AD(e){return function(t){var n=t.parent;t.r*=e,n&&(t.x=n.x+e*t.x,t.y=n.y+e*t.y)}}function AF(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function A$(e,t,n,r,i){for(var a,o=e.children,l=-1,u=o.length,s=e.value&&(r-t)/e.value;++l<u;)(a=o[l]).y0=n,a.y1=i,a.x0=t,a.x1=t+=a.value*s}An.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30,expr:!0},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:At}]},tB(An,oF,{transform(e,t){var n,r,i=this.value,a=t.changed(t.ADD_REM),o=e.modified(w7),l=e.iterations||300;if(i?(a&&(t.modifies("index"),i.nodes(t.source)),(o||t.changed(t.MOD))&&Ar(i,e,0,t)):(this.value=i=function(e,t){let n=function(e){let t;var n,r=1,i=.001,a=1-Math.pow(.001,1/300),o=0,l=.6,u=new Map,s=(0,w1.HT)(h),c=(0,w0.Z)("tick","end"),f=(t=1,()=>(t=(1664525*t+1013904223)%4294967296)/4294967296);function h(){d(),c.call("tick",n),r<i&&(s.stop(),c.call("end",n))}function d(t){var i,s,c=e.length;void 0===t&&(t=1);for(var f=0;f<t;++f)for(r+=(o-r)*a,u.forEach(function(e){e(r)}),i=0;i<c;++i)null==(s=e[i]).fx?s.x+=s.vx*=l:(s.x=s.fx,s.vx=0),null==s.fy?s.y+=s.vy*=l:(s.y=s.fy,s.vy=0);return n}function p(){for(var t,n=0,r=e.length;n<r;++n){if((t=e[n]).index=n,null!=t.fx&&(t.x=t.fx),null!=t.fy&&(t.y=t.fy),isNaN(t.x)||isNaN(t.y)){var i=10*Math.sqrt(.5+n),a=n*w5;t.x=i*Math.cos(a),t.y=i*Math.sin(a)}(isNaN(t.vx)||isNaN(t.vy))&&(t.vx=t.vy=0)}}function g(t){return t.initialize&&t.initialize(e,f),t}return null==e&&(e=[]),p(),n={tick:d,restart:function(){return s.restart(h),n},stop:function(){return s.stop(),n},nodes:function(t){return arguments.length?(e=t,p(),u.forEach(g),n):e},alpha:function(e){return arguments.length?(r=+e,n):r},alphaMin:function(e){return arguments.length?(i=+e,n):i},alphaDecay:function(e){return arguments.length?(a=+e,n):+a},alphaTarget:function(e){return arguments.length?(o=+e,n):o}
14,velocityDecay:function(e){return arguments.length?(l=1-e,n):1-l},randomSource:function(e){return arguments.length?(f=e,u.forEach(g),n):f},force:function(e,t){return arguments.length>1?(null==t?u.delete(e):u.set(e,g(t)),n):u.get(e)},find:function(t,n,r){var i,a,o,l,u,s=0,c=e.length;for(null==r?r=1/0:r*=r,s=0;s<c;++s)(o=(i=t-(l=e[s]).x)*i+(a=n-l.y)*a)<r&&(u=l,r=o);return u},on:function(e,t){return arguments.length>1?(c.on(e,t),n):c.on(e)}}}(e),r=n.stop,i=n.restart,a=!1;return n.stopped=()=>a,n.restart=()=>(a=!1,i()),n.stop=()=>(a=!0,r()),Ar(n,t,!0).on("end",()=>a=!0)}(t.source,e),i.on("tick",(n=t.dataflow,r=this,()=>n.touch(r).run())),e.static||(a=!0,i.tick()),t.modifies("index")),o||a||e.modified(Ae)||t.changed()&&e.restart){if(i.alpha(Math.max(i.alpha(),e.alpha||1)).alphaDecay(1-Math.pow(i.alphaMin(),1/l)),e.static)for(i.stop();--l>=0;)i.tick();else if(i.stopped()&&i.restart(),!a)return t.StopPropagation}return this.finish(e,t)},finish(e,t){let n=t.dataflow;for(let e=this._argops,t=0,l=e.length,u;t<l;++t)if((u=e[t]).name===w9&&"link"===u.op._argval.force){for(var r,i=u.op._argops,a=0,o=i.length;a<o;++a)if("links"===i[a].name&&(r=i[a].op.source)){n.pulse(r,n.changeset().reflow());break}}return t.reflow(e.modified()).modifies(At)}}),Ac.prototype=Aa.prototype={constructor:Ac,count:function(){return this.eachAfter(Ai)},each:function(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this},eachAfter:function(e,t){for(var n,r,i,a=this,o=[a],l=[],u=-1;a=o.pop();)if(l.push(a),n=a.children)for(r=0,i=n.length;r<i;++r)o.push(n[r]);for(;a=l.pop();)e.call(t,a,++u,this);return this},eachBefore:function(e,t){for(var n,r,i=this,a=[i],o=-1;i=a.pop();)if(e.call(t,i,++o,this),n=i.children)for(r=n.length-1;r>=0;--r)a.push(n[r]);return this},find:function(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r},sum:function(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})},sort:function(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}(t,e),r=[t];t!==n;)r.push(t=t.parent);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e},links:function(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t},copy:function(){return Aa(this).eachBefore(Au)},[Symbol.iterator]:function*(){var e,t,n,r,i=this,a=[i];do for(e=a.reverse(),a=[];i=e.pop();)if(yield i,t=i.children)for(n=0,r=t.length;n<r;++n)a.push(t[n]);while(a.length)}};var AM={depth:-1},AS={},AN={};function AO(e){return e.id}function AB(e){return e.parentId}function AT(){var e,t=AO,n=AB;function r(r){var i,a,o,l,u,s,c,f,h=Array.from(r),d=t,p=n,g=new Map;if(null!=e){let t=h.map((t,n)=>{var i;let a;return a=(i=`${i=e(t,n,r)}`).length,AR(i,a-1)&&!AR(i,a-2)&&(i=i.slice(0,-1)),"/"===i[0]?i:`/${i}`}),n=t.map(Az),i=new Set(t).add("");for(let e of n)i.has(e)||(i.add(e),t.push(e),n.push(Az(e)),h.push(AN));d=(e,n)=>t[n],p=(e,t)=>n[t]}for(o=0,i=h.length;o<i;++o)a=h[o],s=h[o]=new Ac(a),null!=(c=d(a,o,r))&&(c+="")&&(f=s.id=c,g.set(f,g.has(f)?AS:s)),null!=(c=p(a,o,r))&&(c+="")&&(s.parent=c);for(o=0;o<i;++o)if(c=(s=h[o]).parent){if(!(u=g.get(c)))throw Error("missing: "+c);if(u===AS)throw Error("ambiguous: "+c);u.children?u.children.push(s):u.children=[s],s.parent=u}else{if(l)throw Error("multiple roots");l=s}if(!l)throw Error("no root");if(null!=e){for(;l.data===AN&&1===l.children.length;)l=l.children[0],--i;for(let e=h.length-1;e>=0&&(s=h[e]).data===AN;--e)s.data=null}if(l.parent=AM,l.eachBefore(function(e){e.depth=e.parent.depth+1,--i}).eachBefore(As),l.parent=null,i>0)throw Error("cycle");return l}return r.id=function(e){return arguments.length?(t=Af(e),r):t},r.parentId=function(e){return arguments.length?(n=Af(e),r):n},r.path=function(t){return arguments.length?(e=Af(t),r):e},r}function Az(e){let t=e.length;if(t<2)return"";for(;--t>1&&!AR(e,t););return e.slice(0,t)}function AR(e,t){if("/"===e[t]){let n=0;for(;t>0&&"\\"===e[--t];)++n;if((1&n)==0)return!0}return!1}function AL(e,t){return e.parent===t.parent?1:2}function AP(e){var t=e.children;return t?t[0]:e.t}function Aj(e){var t=e.children;return t?t[t.length-1]:e.t}function AI(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}function AU(e,t){return e.parent===t.parent?1:2}function Aq(e,t){return e+t.x}function AW(e,t){return Math.max(e,t.y)}function AH(e,t,n,r,i){for(var a,o=e.children,l=-1,u=o.length,s=e.value&&(i-n)/e.value;++l<u;)(a=o[l]).x0=t,a.x1=r,a.y0=n,a.y1=n+=a.value*s}AI.prototype=Object.create(Ac.prototype);var AY=(1+Math.sqrt(5))/2;function AG(e,t,n,r,i,a){for(var o,l,u,s,c,f,h,d,p,g,m,y=[],v=t.children,b=0,x=0,_=v.length,w=t.value;b<_;){u=i-n,s=a-r;do c=v[x++].value;while(!c&&x<_);for(f=h=c,p=Math.max(h/(m=c*c*(g=Math.max(s/u,u/s)/(w*e))),m/f);x<_;
14++x){if(c+=l=v[x].value,l<f&&(f=l),l>h&&(h=l),(d=Math.max(h/(m=c*c*g),m/f))>p){c-=l;break}p=d}y.push(o={value:c,dice:u<s,children:v.slice(b,x)}),o.dice?A$(o,n,r,i,w?r+=s*c/w:a):AH(o,n,r,w?n+=u*c/w:i,a),w-=c,b=x}return y}var AV=function e(t){function n(e,n,r,i,a){AG(t,e,n,r,i,a)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n}(AY),AX=function e(t){function n(e,n,r,i,a){if((o=e._squarify)&&o.ratio===t)for(var o,l,u,s,c,f=-1,h=o.length,d=e.value;++f<h;){for(u=(l=o[f]).children,s=l.value=0,c=u.length;s<c;++s)l.value+=u[s].value;l.dice?A$(l,n,r,i,d?r+=(a-r)*l.value/d:a):AH(l,n,r,d?n+=(i-n)*l.value/d:i,a),d-=l.value}else e._squarify=o=AG(t,e,n,r,i,a),o.ratio=t}return n.ratio=function(t){return e((t=+t)>1?t:1)},n}(AY);function AZ(e,t,n){let r={};return e.each(e=>{let i=e.data;n(i)&&(r[t(i)]=e)}),e.lookup=r,e}function AJ(e){oF.call(this,null,e)}AJ.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};let AQ=e=>e.values;function AK(e){oF.call(this,null,e)}tB(AJ,oF,{transform(e,t){t.source||ej("Nest transform requires an upstream data source.");var n=e.generate,r=e.modified(),i=t.clone(),a=this.value;return(!a||r||t.changed())&&(a&&a.each(e=>{e.children&&a2(e.data)&&i.rem.push(e.data)}),this.value=a=Aa({values:tm(e.keys).reduce((e,t)=>(e.key(t),e),function(){let e=[],t={entries:t=>(function t(n,r){if(++r>e.length)return n;let i=[];for(let e in n)i.push({key:e,values:t(n[e],r)});return i})(function t(n,r){if(r>=e.length)return n;let i=n.length,a=e[r++],o={},l={},u=-1,s,c,f;for(;++u<i;)(f=o[s=a(c=n[u])+""])?f.push(c):o[s]=[c];for(s in o)l[s]=t(o[s],r);return l}(t,0),0),key:n=>(e.push(n),t)};return t}()).entries(i.source)},AQ),n&&a.each(e=>{e.children&&(e=a5(e.data),i.add.push(e),i.source.push(e))}),AZ(a,a3,a3)),i.source.root=a,i}});let A0=(e,t)=>e.parent===t.parent?1:2;tB(AK,oF,{transform(e,t){t.source&&t.source.root||ej(this.constructor.name+" transform requires a backing tree data source.");let n=this.layout(e.method),r=this.fields,i=t.source.root,a=e.as||r;e.field?i.sum(e.field):i.count(),e.sort&&i.sort(a9(e.sort,e=>e.data)),function(e,t,n){for(let r,i=0,a=t.length;i<a;++i)(r=t[i])in n&&e[r](n[r])}(n,this.params,e),n.separation&&n.separation(!1!==e.separation?A0:eY);try{this.value=n(i)}catch(e){ej(e)}return i.each(e=>(function(e,t,n){let r=e.data,i=t.length-1;for(let a=0;a<i;++a)r[n[a]]=e[t[a]];r[n[i]]=e.children?e.children.length:0})(e,r,a)),t.reflow(e.modified()).modifies(a).modifies("leaf")}});let A1=["x","y","r","depth","children"];function A2(e){AK.call(this,e)}A2.Definition={type:"Pack",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:A1.length,default:A1}]},tB(A2,AK,{layout:function(){var e=null,t=1,n=1,r=Ad;function i(i){let a;let o=(a=1,()=>(a=(1664525*a+1013904223)%4294967296)/4294967296);return i.x=t/2,i.y=n/2,e?i.eachBefore(Ak(e)).eachAfter(AC(r,.5,o)).eachBefore(AD(1)):i.eachBefore(Ak(AE)).eachAfter(AC(Ad,1,o)).eachAfter(AC(r,i.r/Math.min(t,n),o)).eachBefore(AD(Math.min(t,n)/(2*i.r))),i}return i.radius=function(t){return arguments.length?(e=Af(t),i):e},i.size=function(e){return arguments.length?(t=+e[0],n=+e[1],i):[t,n]},i.padding=function(e){return arguments.length?(r="function"==typeof e?e:Ap(+e),i):r},i},params:["radius","size","padding"],fields:A1});let A3=["x0","y0","x1","y1","depth","children"];function A5(e){AK.call(this,e)}function A6(e){oF.call(this,null,e)}A5.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:A3.length,default:A3}]},tB(A5,AK,{layout:function(){var e=1,t=1,n=0,r=!1;function i(i){var a,o=i.height+1;return i.x0=i.y0=n,i.x1=e,i.y1=t/o,i.eachBefore((a=t,function(e){e.children&&A$(e,e.x0,a*(e.depth+1)/o,e.x1,a*(e.depth+2)/o);var t=e.x0,r=e.y0,i=e.x1-n,l=e.y1-n;i<t&&(t=i=(t+i)/2),l<r&&(r=l=(r+l)/2),e.x0=t,e.y0=r,e.x1=i,e.y1=l})),r&&i.eachBefore(AF),i}return i.round=function(e){return arguments.length?(r=!!e,i):r},i.size=function(n){return arguments.length?(e=+n[0],t=+n[1],i):[e,t]},i.padding=function(e){return arguments.length?(n=+e,i):n},i},params:["size","round","padding"],fields:A3}),A6.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]}
14,tB(A6,oF,{transform(e,t){t.source||ej("Stratify transform requires an upstream data source.");let n=this.value,r=e.modified(),i=t.fork(t.ALL).materialize(t.SOURCE),a=!n||r||t.changed(t.ADD_REM)||t.modified(e.key.fields)||t.modified(e.parentKey.fields);return i.source=i.source.slice(),a&&(n=i.source.length?AZ(AT().id(e.key).parentId(e.parentKey)(i.source),e.key,eG):AZ(AT()([{}]),e.key,e.key)),i.source.root=this.value=n,i}});let A4={tidy:function(){var e=AL,t=1,n=1,r=null;function i(i){var u=function(e){for(var t,n,r,i,a,o=new AI(e,0),l=[o];t=l.pop();)if(r=t._.children)for(t.children=Array(a=r.length),i=a-1;i>=0;--i)l.push(n=t.children[i]=new AI(r[i],i)),n.parent=t;return(o.parent=new AI(null,0)).children=[o],o}(i);if(u.eachAfter(a),u.parent.m=-u.z,u.eachBefore(o),r)i.eachBefore(l);else{var s=i,c=i,f=i;i.eachBefore(function(e){e.x<s.x&&(s=e),e.x>c.x&&(c=e),e.depth>f.depth&&(f=e)});var h=s===c?1:e(s,c)/2,d=h-s.x,p=t/(c.x+h+d),g=n/(f.depth||1);i.eachBefore(function(e){e.x=(e.x+d)*p,e.y=e.depth*g})}return i}function a(t){var n=t.children,r=t.parent.children,i=t.i?r[t.i-1]:null;if(n){!function(e){for(var t,n=0,r=0,i=e.children,a=i.length;--a>=0;)t=i[a],t.z+=n,t.m+=n,n+=t.s+(r+=t.c)}(t);var a=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,n,r){if(n){for(var i,a,o,l=t,u=t,s=n,c=l.parent.children[0],f=l.m,h=u.m,d=s.m,p=c.m;s=Aj(s),l=AP(l),s&&l;)c=AP(c),(u=Aj(u)).a=t,(o=s.z+d-l.z-f+e(s._,l._))>0&&(function(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}((i=s,a=r,i.a.parent===t.parent?i.a:a),t,o),f+=o,h+=o),d+=s.m,f+=l.m,p+=c.m,h+=u.m;s&&!Aj(u)&&(u.t=s,u.m+=d-h),l&&!AP(c)&&(c.t=l,c.m+=f-p,r=t)}return r}(t,i,t.parent.A||r[0])}function o(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function l(e){e.x*=t,e.y=e.depth*n}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i},cluster:function(){var e=AU,t=1,n=1,r=!1;function i(i){var a,o=0;i.eachAfter(function(t){var n=t.children;n?(t.x=n.reduce(Aq,0)/n.length,t.y=1+n.reduce(AW,0)):(t.x=a?o+=e(t,a):0,t.y=0,a=t)});var l=function(e){for(var t;t=e.children;)e=t[0];return e}(i),u=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(i),s=l.x-e(l,u)/2,c=u.x+e(u,l)/2;return i.eachAfter(r?function(e){e.x=(e.x-i.x)*t,e.y=(i.y-e.y)*n}:function(e){e.x=(e.x-s)/(c-s)*t,e.y=(1-(i.y?e.y/i.y:1))*n})}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i}},A8=["x","y","depth","children"];function A9(e){AK.call(this,e)}function A7(e){oF.call(this,[],e)}A9.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:A8.length,default:A8}]},tB(A9,AK,{layout(e){let t=e||"tidy";if(tM(A4,t))return A4[t]();ej("Unrecognized Tree layout method: "+t)},params:["size","nodeSize"],fields:A8}),A7.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},tB(A7,oF,{transform(e,t){let n=this.value,r=t.source&&t.source.root,i=t.fork(t.NO_SOURCE),a={};return r||ej("TreeLinks transform requires a tree data source."),t.changed(t.ADD_REM)?(i.rem=n,t.visit(t.SOURCE,e=>a[a3(e)]=1),r.each(e=>{let t=e.data,n=e.parent&&e.parent.data;n&&a[a3(t)]&&a[a3(n)]&&i.add.push(a5({source:n,target:t}))}),this.value=i.add):t.changed(t.MOD)&&(t.visit(t.MOD,e=>a[a3(e)]=1),n.forEach(e=>{(a[a3(e.source)]||a[a3(e.target)])&&i.mod.push(e)})),i}});let Ee={binary:function(e,t,n,r,i){var a,o,l=e.children,u=l.length,s=Array(u+1);for(s[0]=o=a=0;a<u;++a)s[a+1]=o+=l[a].value;!function e(t,n,r,i,a,o,u){if(t>=n-1){var c=l[t];c.x0=i,c.y0=a,c.x1=o,c.y1=u;return}for(var f=s[t],h=r/2+f,d=t+1,p=n-1;d<p;){var g=d+p>>>1;s[g]<h?d=g+1:p=g}h-s[d-1]<s[d]-h&&t+1<d&&--d;var m=s[d]-f,y=r-m;if(o-i>u-a){var v=r?(i*y+o*m)/r:o;e(t,d,m,i,a,v,u),e(d,n,y,v,a,o,u)}else{var b=r?(a*y+u*m)/r:u;e(t,d,m,i,a,o,b),e(d,n,y,i,b,o,u)}}(0,u,e.value,t,n,r,i)},dice:A$,slice:AH,slicedice:function(e,t,n,r,i){(1&e.depth?AH:A$)(e,t,n,r,i)},squarify:AV,resquarify:AX},Et=["x0","y0","x1","y1","depth","children"];function En(e){AK.call(this,e)}function Er(e,t,n){return new Uint32Array(e.getImageData(0,0,t,n).data.buffer)}function Ei(e,t,n){if(!t.length)return;let r=t[0].mark.marktype;"group"===r?t.forEach(t=>
14{t.items.forEach(t=>Ei(e,t.items,n))}):gr[r].draw(e,{items:n?t.map(Ea):t})}function Ea(e){let t=a4(e,{});return t.stroke&&0!==t.strokeOpacity||t.fill&&0!==t.fillOpacity?{...t,strokeOpacity:1,stroke:"#000",fillOpacity:0}:t}En.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:Et.length,default:Et}]},tB(En,AK,{layout(){let e=function(){var e=AV,t=!1,n=1,r=1,i=[0],a=Ad,o=Ad,l=Ad,u=Ad,s=Ad;function c(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(f),i=[0],t&&e.eachBefore(AF),e}function f(t){var n=i[t.depth],r=t.x0+n,c=t.y0+n,f=t.x1-n,h=t.y1-n;f<r&&(r=f=(r+f)/2),h<c&&(c=h=(c+h)/2),t.x0=r,t.y0=c,t.x1=f,t.y1=h,t.children&&(n=i[t.depth+1]=a(t)/2,r+=s(t)-n,c+=o(t)-n,f-=l(t)-n,h-=u(t)-n,f<r&&(r=f=(r+f)/2),h<c&&(c=h=(c+h)/2),e(t,r,c,f,h))}return c.round=function(e){return arguments.length?(t=!!e,c):t},c.size=function(e){return arguments.length?(n=+e[0],r=+e[1],c):[n,r]},c.tile=function(t){return arguments.length?(e=Ah(t),c):e},c.padding=function(e){return arguments.length?c.paddingInner(e).paddingOuter(e):c.paddingInner()},c.paddingInner=function(e){return arguments.length?(a="function"==typeof e?e:Ap(+e),c):a},c.paddingOuter=function(e){return arguments.length?c.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):c.paddingTop()},c.paddingTop=function(e){return arguments.length?(o="function"==typeof e?e:Ap(+e),c):o},c.paddingRight=function(e){return arguments.length?(l="function"==typeof e?e:Ap(+e),c):l},c.paddingBottom=function(e){return arguments.length?(u="function"==typeof e?e:Ap(+e),c):u},c.paddingLeft=function(e){return arguments.length?(s="function"==typeof e?e:Ap(+e),c):s},c}();return e.ratio=t=>{let n=e.tile();n.ratio&&e.tile(n.ratio(t))},e.method=t=>{tM(Ee,t)?e.tile(Ee[t]):ej("Unrecognized Treemap layout method: "+t)},e},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:Et});let Eo=new Uint32Array(33),El=new Uint32Array(33);El[0]=0,Eo[0]=~El[0];for(let e=1;e<=32;++e)El[e]=El[e-1]<<1|1,Eo[e]=~El[e];function Eu(e,t,n,r,i,a){let o=n/2;return e-o<0||e+o>i||t-(o=r/2)<0||t+o>a}function Es(e,t,n,r,i,a,o,l){let u=i*a/(2*r),s=e(t-u),c=e(t+u),f=e(n-(a/=2)),h=e(n+a);return o.outOfBounds(s,f,c,h)||o.getRange(s,f,c,h)||l&&l.getRange(s,f,c,h)}let Ec=[-1,-1,1,1],Ef=[-1,1,-1,1],Eh=["right","center","left"],Ed=["bottom","middle","top"];function Ep(e,t,n,r,i,a,o,l,u,s,c,f){return!(i.outOfBounds(e,n,t,r)||(f&&a||i).getRange(e,n,t,r))}let Eg={"top-left":0,top:1,"top-right":2,left:4,middle:5,right:6,"bottom-left":8,bottom:9,"bottom-right":10},Em={naive:function(e,t,n,r){let i=e.width,a=e.height;return function(e){let t=e.datum.datum.items[r].items,n=t.length,o=e.datum.fontSize,l=pX.width(e.datum,e.datum.text),u=0,s,c,f,h,d,p,g;for(let r=0;r<n;++r)s=t[r].x,f=t[r].y,c=void 0===t[r].x2?s:t[r].x2,h=void 0===t[r].y2?f:t[r].y2,d=(s+c)/2,p=(f+h)/2,(g=Math.abs(c-s+h-f))>=u&&(u=g,e.x=d,e.y=p);return d=l/2,p=o/2,s=e.x-d,c=e.x+d,f=e.y-p,h=e.y+p,e.align="center",s<0&&c<=i?e.align="left":0<=s&&i<c&&(e.align="right"),e.baseline="middle",f<0&&h<=a?e.baseline="top":0<=f&&a<h&&(e.baseline="bottom"),!0}},"reduced-search":function(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1];function u(t,n,r,u,s){let c=e.invert(t),f=e.invert(n),h=r,d=a,p;if(!Eu(c,f,u,s,i,a)&&!Es(e,c,f,s,u,h,o,l)&&!Es(e,c,f,s,u,s,o,null)){for(;d-h>=1;)Es(e,c,f,s,u,p=(h+d)/2,o,l)?d=p:h=p;if(h>r)return[c,f,h,!0]}}return function(t){let l=t.datum.datum.items[r].items,s=l.length,c=t.datum.fontSize,f=pX.width(t.datum,t.datum.text),h=n?c:0,d=!1,p=!1,g=0,m,y,v,b,x,_,w,A,E,k,
14C,D,F,$,M,S,N;for(let r=0;r<s;++r){for(m=l[r].x,v=l[r].y,y=void 0===l[r].x2?m:l[r].x2,b=void 0===l[r].y2?v:l[r].y2,m>y&&(N=m,m=y,y=N),v>b&&(N=v,v=b,b=N),k=~~(((E=e(m))+(C=e(y)))/2),F=~~(((D=e(v))+($=e(b)))/2),w=k;w>=E;--w)for(A=F;A>=D;--A)(S=u(w,A,h,f,c))&&([t.x,t.y,h,d]=S);for(w=k;w<=C;++w)for(A=F;A<=$;++A)(S=u(w,A,h,f,c))&&([t.x,t.y,h,d]=S);d||n||(M=Math.abs(y-m+b-v),x=(m+y)/2,_=(v+b)/2,!(M>=g)||Eu(x,_,f,c,i,a)||Es(e,x,_,c,f,c,o,null)||(g=M,t.x=x,t.y=_,p=!0))}return(!!d||!!p)&&(x=f/2,_=c/2,o.setRange(e(t.x-x),e(t.y-_),e(t.x+x),e(t.y+_)),t.align="center",t.baseline="middle",!0)}},floodfill:function(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1],u=e.bitmap();return function(t){let s=t.datum.datum.items[r].items,c=s.length,f=t.datum.fontSize,h=pX.width(t.datum,t.datum.text),d=[],p=n?f:0,g=!1,m=!1,y=0,v,b,x,_,w,A,E,k,C,D,F,$;for(let r=0;r<c;++r){for(v=s[r].x,x=s[r].y,b=void 0===s[r].x2?v:s[r].x2,_=void 0===s[r].y2?x:s[r].y2,d.push([e((v+b)/2),e((x+_)/2)]);d.length;)if([E,k]=d.pop(),!(o.get(E,k)||l.get(E,k)||u.get(E,k))){u.set(E,k);for(let e=0;e<4;++e)w=E+Ec[e],A=k+Ef[e],u.outOfBounds(w,A,w,A)||d.push([w,A]);if(w=e.invert(E),A=e.invert(k),C=p,D=a,!Eu(w,A,h,f,i,a)&&!Es(e,w,A,f,h,C,o,l)&&!Es(e,w,A,f,h,f,o,null)){for(;D-C>=1;)Es(e,w,A,f,h,F=(C+D)/2,o,l)?D=F:C=F;C>p&&(t.x=w,t.y=A,p=C,g=!0)}}g||n||($=Math.abs(b-v+_-x),w=(v+b)/2,A=(x+_)/2,!($>=y)||Eu(w,A,h,f,i,a)||Es(e,w,A,f,h,f,o,null)||(y=$,t.x=w,t.y=A,m=!0))}return(!!g||!!m)&&(w=h/2,A=f/2,o.setRange(e(t.x-w),e(t.y-A),e(t.x+w),e(t.y+A)),t.align="center",t.baseline="middle",!0)}}},Ey=["x","y","opacity","align","baseline"],Ev=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function Eb(e){oF.call(this,null,e)}function Ex(e,t){var n,r,i,a,o,l,u=[],s=function(e){return e(a)};if(null==t)u.push(e);else for(n={},r=0,i=e.length;r<i;++r)a=e[r],(l=n[o=t.map(s)])||(n[o]=l=[],l.dims=o,u.push(l)),l.push(a);return u}function E_(e){oF.call(this,null,e)}Eb.Definition={type:"Label",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:!0,default:Ev},{name:"offset",type:"number",array:!0,default:[1]},{name:"padding",type:"number",default:0,null:!0},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:!0},{name:"avoidMarks",type:"data",array:!0},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:!0,length:Ey.length,default:Ey}]},tB(Eb,oF,{transform(e,t){let n=e.modified();if(!(n||t.changed(t.ADD_REM)||function(n){let r=e[n];return tv(r)&&t.modified(r.fields)}("sort")))return;e.size&&2===e.size.length||ej("Size parameter should be specified as a [width, height] array.");let r=e.as||Ey;return(function(e,t,n,r,i,a,o,l,u,s,c){var f;let h;if(!e.length)return e;let d=Math.max(r.length,i.length),p=function(e,t){let n=new Float64Array(t),r=e.length;for(let t=0;t<r;++t)n[t]=e[t]||0;for(let e=r;e<t;++e)n[e]=n[r-1];return n}(r,d),g=function(e,t){let n=new Int8Array(t),r=e.length;for(let t=0;t<r;++t)n[t]|=Eg[e[t]];for(let e=r;e<t;++e)n[e]=n[r-1];return n}(i,d),m=(f=e[0].datum)&&f.mark&&f.mark.marktype,y="group"===m&&e[0].datum.items[u].marktype,v="area"===y,b=function(e,t,n,r){let i=e=>[e.x,e.x,e.x,e.y,e.y,e.y];return e?"line"===e||"area"===e?e=>i(e.datum):"line"===t?e=>{let t=e.datum.items[r].items;return i(t.length?t["start"===n?0:t.length-1]:{x:NaN,y:NaN})}:e=>{let t=e.datum.bounds;return[t.x1,(t.x1+t.x2)/2,t.x2,t.y1,(t.y1+t.y2)/2,t.y2]}:i}(m,y,l,u),x=null===s||s===1/0,_=-1,w=-1,A=e.map(e=>{let t=x?pX.width(e,e.text):void 0;return _=Math.max(_,t),w=Math.max(w,e.fontSize),{datum:e,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:b(e),textWidth:t}});s=null===s||s===1/0?Math.max(_,w)+Math.max(...r):s;let E=function(e,t,n){let r=Math.max(1,Math.sqrt(e*t/1e6)),i=~~((e+2*n+r)/r),a=~~((t+2*n+r)/r),o=e=>~~((e+n)/r);return o.invert=e=>e*r-n,o.bitmap=()=>(function(e,t){let n=new Uint32Array(~~((e*t+32)/32));return{array:n,get:(t,r)=>{let i=r*e+t;return n[i>>>5]&1<<(31&i)},set:(t,r)=>{let i=r*e+t;n[i>>>5]|=1<<(31&i)},clear:(t,r)=>{let i=r*e+t;n[i>>>5]&=~(1<<(31&i))},getRange:(t,r,i,a)=>{let o=a,l,u,s,c;for(;o>=r;--o)if(l=o*e+t,u=o*e+i,(s=l>>>5)==(c=u>>>5)){if(n[s]&Eo[31&l]&El[(31&u)+1])return!0}else{if(n[s]&Eo[31&l]||n[c]&El[(31&u)+1])return!0;for(let e=s+1;e<c;++e)if(n[e])return!0}return!1},setRange:(t,r,i,a)=>{var o,l,u,s;let c,f,h,d,p;for(;r<=a;++r)if(c=r*e+t,f=r*e+i,(h=c>>>5)==(d=f>>>5))o=Eo[31&c]&El[(31&f)+1],n[h]|=o;else for(l=Eo[31&c],n[h]|=l,u=El[(31&f)+1],n[d]|=u,p=h+1;p<d;++p)s=p,n[s]|=4294967295},clearRange:(t,r,i,a)=>{var o,l,u,s;let c,f,h,d,p;for(;r<=a;++r)if(c=r*e+t,f=r*e+i,(h=c>>>5)==(d=f>>>5))o=El[31&c]|Eo[(31&f)+1],n[h]&=o;else for(l=El[31&c],n[h]&=l,u=Eo[(31&f)+1],n[d]&=u,p=h+1;p<d;++p)s=p,n[s]&=0},outOfBounds:(n,r,i,a)=>n<0||r<0||a>=t||i>=e}})(i,a),o.ratio=r,o.padding=n,o.width=e,o.height=t,o}(t[0],t[1],s);if(!(v&&"naive"===c)){n&&A.sort((e,t)=>
14n(e.datum,t.datum));let t=!1;for(let e=0;e<g.length&&!t;++e)t=5===g[e]||p[e]<0;let r=(m&&o||v)&&e.map(e=>e.datum);h=a.length||r?function(e,t,n,r,i){let a,o,l,u,s,c,f,h;let d=e.width,p=e.height,g=r||i,m=sL(d,p).getContext("2d"),y=sL(d,p).getContext("2d"),v=g&&sL(d,p).getContext("2d");n.forEach(e=>Ei(m,e,!1)),Ei(y,t,!1),g&&Ei(v,t,!0);let b=Er(m,d,p),x=Er(y,d,p),_=g&&Er(v,d,p),w=e.bitmap(),A=g&&e.bitmap();for(o=0;o<p;++o)for(a=0;a<d;++a)c=4278190080&b[s=o*d+a],h=4278190080&x[s],f=g&&4278190080&_[s],(c||f||h)&&(l=e(a),u=e(o),!i&&(c||h)&&w.set(l,u),g&&(c||f)&&A.set(l,u));return[w,A]}(E,r||[],a,t,v):function(e,t){let n=e.bitmap();return(t||[]).forEach(t=>n.set(e(t.boundary[0]),e(t.boundary[3]))),[n,void 0]}(E,o&&A)}let k=v?Em[c](E,h,o,u):function(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1],u=r.length;return function(t){let s=t.boundary,c=t.datum.fontSize;if(s[2]<0||s[5]<0||s[0]>i||s[3]>a)return!1;let f=t.textWidth??0,h,d,p,g,m,y,v,b,x,_,w,A,E,k,C;for(let i=0;i<u;++i){if(h=(3&n[i])-1,d=(n[i]>>>2&3)-1,p=0===h&&0===d||r[i]<0,g=h&&d?Math.SQRT1_2:1,m=r[i]<0?-1:1,y=s[1+h]+r[i]*h*g,b=(w=s[4+d]+m*c*d/2+r[i]*d*g)-c/2,x=w+c/2,A=e(y),k=e(b),C=e(x),!f){if(!Ep(A,A,k,C,o,l,y,y,b,x,s,p))continue;f=pX.width(t.datum,t.datum.text)}if(y=(_=y+m*f*h/2)-f/2,v=_+f/2,Ep(A=e(y),E=e(v),k,C,o,l,y,v,b,x,s,p))return t.x=h?h*m<0?v:y:_,t.y=d?d*m<0?x:b:w,t.align=Eh[h*m+1],t.baseline=Ed[d*m+1],o.setRange(A,k,E,C),!0}return!1}}(E,h,g,p);return A.forEach(e=>e.opacity=+k(e)),A})(t.materialize(t.SOURCE).source||[],e.size,e.sort,tm(null==e.offset?1:e.offset),tm(e.anchor||Ev),e.avoidMarks||[],!1!==e.avoidBaseMark,e.lineAnchor||"end",e.markIndex||0,void 0===e.padding?0:e.padding,e.method||"naive").forEach(e=>{let t=e.datum;t[r[0]]=e.x,t[r[1]]=e.y,t[r[2]]=e.opacity,t[r[3]]=e.align,t[r[4]]=e.baseline}),t.reflow(n).modifies(r)}}),E_.Definition={type:"Loess",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:!0}]},tB(E_,oF,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=Ex(r,e.groupby),a=(e.groupby||[]).map(eT),o=a.length,l=e.as||[eT(e.x),eT(e.y)],u=[];i.forEach(t=>{ly(t,e.x,e.y,e.bandwidth||.3).forEach(e=>{let n={};for(let e=0;e<o;++e)n[a[e]]=t.dims[e];n[l[0]]=e[0],n[l[1]]=e[1],u.push(a5(n))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=u}return n}});let Ew={constant:lo,linear:lf,log:lh,exp:ld,pow:lp,quad:lg,poly:lm},EA=(e,t)=>"poly"===e?t:"quad"===e?2:1;function EE(e){oF.call(this,null,e)}function Ek(e,t,n,r,i){let a,o,l,u;let s=t[0],c=r[0],f=0,h=0;c>s==c>-s?(a=s,s=t[++f]):(a=c,c=r[++h]);let d=0;if(f<e&&h<n)for(c>s==c>-s?(o=s+a,l=a-(o-s),s=t[++f]):(o=c+a,l=a-(o-c),c=r[++h]),a=o,0!==l&&(i[d++]=l);f<e&&h<n;)c>s==c>-s?(u=(o=a+s)-a,l=a-(o-u)+(s-u),s=t[++f]):(u=(o=a+c)-a,l=a-(o-u)+(c-u),c=r[++h]),a=o,0!==l&&(i[d++]=l);for(;f<e;)u=(o=a+s)-a,l=a-(o-u)+(s-u),s=t[++f],a=o,0!==l&&(i[d++]=l);for(;h<n;)u=(o=a+c)-a,l=a-(o-u)+(c-u),c=r[++h],a=o,0!==l&&(i[d++]=l);return(0!==a||0===d)&&(i[d++]=a),d}function EC(e){return new Float64Array(e)}EE.Definition={type:"Regression",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"string",default:"linear",values:Object.keys(Ew)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:!0,length:2},{name:"params",type:"boolean",default:!1},{name:"as",type:"string",array:!0}]},tB(EE,oF,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=Ex(r,e.groupby),a=(e.groupby||[]).map(eT),o=e.method||"linear",l=null==e.order?3:e.order,u=EA(o,l),s=e.as||[eT(e.x),eT(e.y)],c=Ew[o],f=[],h=e.extent;tM(Ew,o)||ej("Invalid regression method: "+o),null!=h&&"log"===o&&h[0]<=0&&(t.dataflow.warn("Ignoring extent with values <= 0 for log regression."),h=null),i.forEach(n=>{let r=n.length;if(r<=u){t.dataflow.warn("Skipping regression with more parameters than data points.");return}let i=c(n,e.x,e.y,l);if(e.params){f.push(a5({keys:n.dims,coef:i.coef,rSquared:i.rSquared}));return}let d=h||tD(n,e.x),p=e=>{let t={};for(let e=0;e<a.length;++e)t[a[e]]=n.dims[e];
14t[s[0]]=e[0],t[s[1]]=e[1],f.push(a5(t))};"linear"===o||"constant"===o?d.forEach(e=>p([e,i.predict(e)])):lb(i.predict,d,25,200).forEach(p)}),this.value&&(n.rem=this.value),this.value=n.add=n.source=f}return n}});let ED=EC(4),EF=EC(8),E$=EC(12),EM=EC(16),ES=EC(4);function EN(e,t,n,r,i,a){let o=(t-a)*(n-i),l=(e-i)*(r-a),u=o-l,s=Math.abs(o+l);return Math.abs(u)>=33306690738754716e-32*s?u:-function(e,t,n,r,i,a,o){let l,u,s,c,f,h,d,p,g,m,y,v,b,x,_,w,A,E;let k=e-i,C=n-i,D=t-a,F=r-a;x=k*F,d=(h=134217729*k)-(h-k),p=k-d,g=(h=134217729*F)-(h-F),_=p*(m=F-g)-(x-d*g-p*g-d*m),w=D*C,d=(h=134217729*D)-(h-D),p=D-d,g=(h=134217729*C)-(h-C),y=_-(A=p*(m=C-g)-(w-d*g-p*g-d*m)),f=_-y,ED[0]=_-(y+f)+(f-A),f=(v=x+y)-x,y=(b=x-(v-f)+(y-f))-w,f=b-y,ED[1]=b-(y+f)+(f-w),f=(E=v+y)-v,ED[2]=v-(E-f)+(y-f),ED[3]=E;let $=function(e,t){let n=t[0];for(let e=1;e<4;e++)n+=t[e];return n}(0,ED),M=22204460492503146e-32*o;if($>=M||-$>=M||(f=e-k,l=e-(k+f)+(f-i),f=n-C,s=n-(C+f)+(f-i),f=t-D,u=t-(D+f)+(f-a),f=r-F,c=r-(F+f)+(f-a),0===l&&0===u&&0===s&&0===c)||(M=11093356479670487e-47*o+33306690738754706e-32*Math.abs($),($+=k*c+F*l-(D*s+C*u))>=M||-$>=M))return $;x=l*F,d=(h=134217729*l)-(h-l),p=l-d,g=(h=134217729*F)-(h-F),_=p*(m=F-g)-(x-d*g-p*g-d*m),w=u*C,d=(h=134217729*u)-(h-u),p=u-d,g=(h=134217729*C)-(h-C),y=_-(A=p*(m=C-g)-(w-d*g-p*g-d*m)),f=_-y,ES[0]=_-(y+f)+(f-A),f=(v=x+y)-x,y=(b=x-(v-f)+(y-f))-w,f=b-y,ES[1]=b-(y+f)+(f-w),f=(E=v+y)-v,ES[2]=v-(E-f)+(y-f),ES[3]=E;let S=Ek(4,ED,4,ES,EF);x=k*c,d=(h=134217729*k)-(h-k),p=k-d,g=(h=134217729*c)-(h-c),_=p*(m=c-g)-(x-d*g-p*g-d*m),w=D*s,d=(h=134217729*D)-(h-D),p=D-d,g=(h=134217729*s)-(h-s),y=_-(A=p*(m=s-g)-(w-d*g-p*g-d*m)),f=_-y,ES[0]=_-(y+f)+(f-A),f=(v=x+y)-x,y=(b=x-(v-f)+(y-f))-w,f=b-y,ES[1]=b-(y+f)+(f-w),f=(E=v+y)-v,ES[2]=v-(E-f)+(y-f),ES[3]=E;let N=Ek(S,EF,4,ES,E$);x=l*c,d=(h=134217729*l)-(h-l),p=l-d,g=(h=134217729*c)-(h-c),_=p*(m=c-g)-(x-d*g-p*g-d*m),w=u*s,d=(h=134217729*u)-(h-u),p=u-d,g=(h=134217729*s)-(h-s),y=_-(A=p*(m=s-g)-(w-d*g-p*g-d*m)),f=_-y,ES[0]=_-(y+f)+(f-A),f=(v=x+y)-x,y=(b=x-(v-f)+(y-f))-w,f=b-y,ES[1]=b-(y+f)+(f-w),f=(E=v+y)-v,ES[2]=v-(E-f)+(y-f),ES[3]=E;let O=Ek(N,E$,4,ES,EM);return EM[O-1]}(e,t,n,r,i,a,s)}EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(8),EC(8),EC(8),EC(4),EC(8),EC(8),EC(8),EC(12),EC(192),EC(192),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(8),EC(8),EC(8),EC(8),EC(8),EC(8),EC(8),EC(8),EC(8),EC(4),EC(4),EC(4),EC(8),EC(16),EC(16),EC(16),EC(32),EC(32),EC(48),EC(64),EC(1152),EC(1152),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(4),EC(24),EC(24),EC(24),EC(24),EC(24),EC(24),EC(24),EC(24),EC(24),EC(24),EC(1152),EC(1152),EC(1152),EC(1152),EC(1152),EC(2304),EC(2304),EC(3456),EC(5760),EC(8),EC(8),EC(8),EC(16),EC(24),EC(48),EC(48),EC(96),EC(192),EC(384),EC(384),EC(384),EC(768),EC(96),EC(96),EC(96),EC(1152);let EO=new Uint32Array(512);class EB{static from(e,t=EL,n=EP){let r=e.length,i=new Float64Array(2*r);for(let a=0;a<r;a++){let r=e[a];i[2*a]=t(r),i[2*a+1]=n(r)}return new EB(i)}constructor(e){let t=e.length>>1;if(t>0&&"number"!=typeof e[0])throw Error("Expected coords to contain numbers.");this.coords=e;let n=Math.max(2*t-5,0);this._triangles=new Uint32Array(3*n),this._halfedges=new Int32Array(3*n),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.update()}update(){let e,t,n;let{coords:r,_hullPrev:i,_hullNext:a,_hullTri:o,_hullHash:l}=this,u=r.length>>1,s=1/0,c=1/0,f=-1/0,h=-1/0;for(let e=0;e<u;e++){let t=r[2*e],n=r[2*e+1];t<s&&(s=t),n<c&&(c=n),t>f&&(f=t),n>h&&(h=n),this._ids[e]=e}let d=(s+f)/2,p=(c+h)/2,g=1/0;for(let t=0;t<u;t++){let n=ET(d,p,r[2*t],r[2*t+1]);n<g&&(e=t,g=n)}let m=r[2*e],y=r[2*e+1];g=1/0;for(let n=0;n<u;n++){if(n===e)continue;let i=ET(m,y,r[2*n],r[2*n+1]);i<g&&i>0&&(t=n,g=i)}let v=r[2*t],b=r[2*t+1],x=1/0;for(let i=0;i<u;i++){if(i===e||i===t)continue;let a=function(e,t,n,r,i,a){let o=n-e,l=r-t,u=i-e,s=a-t,c=o*o+l*l,f=u*u+s*s,h=.5/(o*s-l*u),d=(s*c-l*f)*h,p=(o*f-u*c)*h;return d*d+p*p}(m,y,v,b,r[2*i],r[2*i+1]);a<x&&(n=i,x=a)}let _=r[2*n],w=r[2*n+1];if(x===1/0){for(let e=0;e<u;e++)this._dists[e]=r[2*e]-r[0]||r[2*e+1]-r[1];Ez(this._ids,this._dists,0,u-1);let e=new Uint32Array(u),t=0;for(let n=0,r=-1/0;n<u;n++){let i=this._ids[n];this._dists[i]>r&&(e[t++]=i,r=this._dists[i])}this.hull=e.subarray(0,t),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(0>
14EN(m,y,v,b,_,w)){let e=t,r=v,i=b;t=n,v=_,b=w,n=e,_=r,w=i}let A=function(e,t,n,r,i,a){let o=n-e,l=r-t,u=i-e,s=a-t,c=o*o+l*l,f=u*u+s*s,h=.5/(o*s-l*u);return{x:e+(s*c-l*f)*h,y:t+(o*f-u*c)*h}}(m,y,v,b,_,w);this._cx=A.x,this._cy=A.y;for(let e=0;e<u;e++)this._dists[e]=ET(r[2*e],r[2*e+1],A.x,A.y);Ez(this._ids,this._dists,0,u-1),this._hullStart=e;let E=3;a[e]=i[n]=t,a[t]=i[e]=n,a[n]=i[t]=e,o[e]=0,o[t]=1,o[n]=2,l.fill(-1),l[this._hashKey(m,y)]=e,l[this._hashKey(v,b)]=t,l[this._hashKey(_,w)]=n,this.trianglesLen=0,this._addTriangle(e,t,n,-1,-1,-1);for(let u=0,s,c;u<this._ids.length;u++){let f=this._ids[u],h=r[2*f],d=r[2*f+1];if(u>0&&2220446049250313e-31>=Math.abs(h-s)&&2220446049250313e-31>=Math.abs(d-c)||(s=h,c=d,f===e||f===t||f===n))continue;let p=0;for(let e=0,t=this._hashKey(h,d);e<this._hashSize&&(-1===(p=l[(t+e)%this._hashSize])||p===a[p]);e++);let g=p=i[p],m;for(;m=a[g],EN(h,d,r[2*g],r[2*g+1],r[2*m],r[2*m+1])>=0;)if((g=m)===p){g=-1;break}if(-1===g)continue;let y=this._addTriangle(g,f,a[g],-1,-1,o[g]);o[f]=this._legalize(y+2),o[g]=y,E++;let v=a[g];for(;m=a[v],0>EN(h,d,r[2*v],r[2*v+1],r[2*m],r[2*m+1]);)y=this._addTriangle(v,f,m,o[f],-1,o[v]),o[f]=this._legalize(y+2),a[v]=v,E--,v=m;if(g===p)for(;0>EN(h,d,r[2*(m=i[g])],r[2*m+1],r[2*g],r[2*g+1]);)y=this._addTriangle(m,f,g,-1,o[g],o[m]),this._legalize(y+2),o[m]=y,a[g]=g,E--,g=m;this._hullStart=i[f]=g,a[g]=i[v]=f,a[f]=v,l[this._hashKey(h,d)]=f,l[this._hashKey(r[2*g],r[2*g+1])]=g}this.hull=new Uint32Array(E);for(let e=0,t=this._hullStart;e<E;e++)this.hull[e]=t,t=a[t];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,t){return Math.floor(function(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:t,_halfedges:n,coords:r}=this,i=0,a=0;for(;;){let o=n[e],l=e-e%3;if(a=l+(e+2)%3,-1===o){if(0===i)break;e=EO[--i];continue}let u=o-o%3,s=l+(e+1)%3,c=u+(o+2)%3,f=t[a],h=t[e],d=t[s],p=t[c],g=function(e,t,n,r,i,a,o,l){let u=e-o,s=t-l,c=n-o,f=r-l,h=i-o,d=a-l,p=c*c+f*f,g=h*h+d*d;return u*(f*g-p*d)-s*(c*g-p*h)+(u*u+s*s)*(c*d-f*h)<0}(r[2*f],r[2*f+1],r[2*h],r[2*h+1],r[2*d],r[2*d+1],r[2*p],r[2*p+1]);if(g){t[e]=p,t[o]=f;let r=n[c];if(-1===r){let t=this._hullStart;do{if(this._hullTri[t]===c){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,r),this._link(o,n[a]),this._link(a,c);let l=u+(o+1)%3;i<EO.length&&(EO[i++]=l)}else{if(0===i)break;e=EO[--i]}}return a}_link(e,t){this._halfedges[e]=t,-1!==t&&(this._halfedges[t]=e)}_addTriangle(e,t,n,r,i,a){let o=this.trianglesLen;return this._triangles[o]=e,this._triangles[o+1]=t,this._triangles[o+2]=n,this._link(o,r),this._link(o+1,i),this._link(o+2,a),this.trianglesLen+=3,o}}function ET(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function Ez(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let r=e[i],a=t[r],o=i-1;for(;o>=n&&t[e[o]]>a;)e[o+1]=e[o--];e[o+1]=r}else{let i=n+1,a=r;ER(e,n+r>>1,i),t[e[n]]>t[e[r]]&&ER(e,n,r),t[e[i]]>t[e[r]]&&ER(e,i,r),t[e[n]]>t[e[i]]&&ER(e,n,i);let o=e[i],l=t[o];for(;;){do i++;while(t[e[i]]<l);do a--;while(t[e[a]]>l);if(a<i)break;ER(e,i,a)}e[n+1]=e[a],e[a]=o,r-i+1>=a-n?(Ez(e,t,i,r),Ez(e,t,n,a-1)):(Ez(e,t,n,a-1),Ez(e,t,i,r))}}function ER(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function EL(e){return e[0]}function EP(e){return e[1]}class Ej{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){e=+e,t=+t,n=+n;let r=e+n,i=t;if(n<0)throw Error("negative radius");null===this._x1?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>1e-6||Math.abs(this._y1-i)>1e-6)&&(this._+="L"+r+","+i),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(e,t,n,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+r}h${-n}Z`}value(){return this._||null}}class EI{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}}class EU{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((i=+i)>=(n=+n)))throw Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(2*e.points.length),this.vectors=new Float64Array(2*e.points.length),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let e,t;let{delaunay:{points:n,hull:r,triangles:i},vectors:a}=this,o=this.circumcenters=this._circumcenters.subarray(0,i.length/3*2);for(let a=0,l=0,u=i.length,s,c;a<u;a+=3,l+=2){let u=2*i[a],f=2*i[a+1],h=2*i[a+2],d=n[u],p=n[u+1],g=n[f],m=n[f+1],y=n[h],v=n[h+1],b=g-d,x=m-p,_=y-d,w=v-p,A=(b*w-x*_)*2;if(1e-9>Math.abs(A)){if(void 0===e){for(let i of(e=t=0,r))e+=n[2*i],t+=n[2*i+1];e/=r.length,t/=r.length}let i=1e9*Math.sign((e-d)*w-(t-p)*_);s=(d+y)/2-i*w,c=(p+v)/2+i*_}else{let e=1/A,t=b*b+x*x,n=_*_+w*w;
14s=d+(w*t-x*n)*e,c=p+(b*n-_*t)*e}o[l]=s,o[l+1]=c}let l=r[r.length-1],u,s=4*l,c,f=n[2*l],h,d=n[2*l+1];a.fill(0);for(let e=0;e<r.length;++e)l=r[e],u=s,c=f,h=d,s=4*l,f=n[2*l],d=n[2*l+1],a[u+2]=a[s]=h-d,a[u+3]=a[s+1]=f-c}render(e){let t=null==e?e=new Ej:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let t=0,r=n.length;t<r;++t){let r=n[t];if(r<t)continue;let i=2*Math.floor(t/3),o=2*Math.floor(r/3),l=a[i],u=a[i+1],s=a[o],c=a[o+1];this._renderSegment(l,u,s,c,e)}let l,u=i[i.length-1];for(let t=0;t<i.length;++t){l=u,u=i[t];let n=2*Math.floor(r[u]/3),s=a[n],c=a[n+1],f=4*l,h=this._project(s,c,o[f+2],o[f+3]);h&&this._renderSegment(s,c,h[0],h[1],e)}return t&&t.value()}renderBounds(e){let t=null==e?e=new Ej:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}renderCell(e,t){let n=null==t?t=new Ej:void 0,r=this._clip(e);if(null===r||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let e=2;e<i;e+=2)(r[e]!==r[e-2]||r[e+1]!==r[e-1])&&t.lineTo(r[e],r[e+1]);return t.closePath(),n&&n.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){let e=this.cellPolygon(t);e&&(e.index=t,yield e)}}cellPolygon(e){let t=new EI;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a;let o=this._regioncode(e,t),l=this._regioncode(n,r);0===o&&0===l?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,l))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(e,t,n){return(t=+t)==t&&(n=+n)==n&&this.delaunay._step(e,t,n)===e}*neighbors(e){let t=this._clip(e);if(t)for(let n of this.delaunay.neighbors(e)){let e=this._clip(n);if(e){n:for(let r=0,i=t.length;r<i;r+=2)for(let a=0,o=e.length;a<o;a+=2)if(t[r]===e[a]&&t[r+1]===e[a+1]&&t[(r+2)%i]===e[(a+o-2)%o]&&t[(r+3)%i]===e[(a+o-1)%o]){yield n;break n}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(-1===a)return null;let o=[],l=a;do{let n=Math.floor(l/3);if(o.push(t[2*n],t[2*n+1]),i[l=l%3==2?l-2:l+1]!==e)break;l=r[l]}while(l!==a&&-1!==l);return o}_clip(e){if(0===e&&1===this.delaunay.hull.length)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let t=this._cell(e);if(null===t)return null;let{vectors:n}=this,r=4*e;return this._simplify(n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){let n=t.length,r=null,i,a,o=t[n-2],l=t[n-1],u,s=this._regioncode(o,l),c,f=0;for(let h=0;h<n;h+=2)if(i=o,a=l,o=t[h],l=t[h+1],u=s,s=this._regioncode(o,l),0===u&&0===s)c=f,f=0,r?r.push(o,l):r=[o,l];else{let t,n,h,d,p;if(0===u){if(null===(t=this._clipSegment(i,a,o,l,u,s)))continue;[n,h,d,p]=t}else{if(null===(t=this._clipSegment(o,l,i,a,s,u)))continue;[d,p,n,h]=t,c=f,f=this._edgecode(n,h),c&&f&&this._edge(e,c,f,r,r.length),r?r.push(n,h):r=[n,h]}c=f,f=this._edgecode(d,p),c&&f&&this._edge(e,c,f,r,r.length),r?r.push(d,p):r=[d,p]}if(r)c=f,f=this._edgecode(r[0],r[1]),c&&f&&this._edge(e,c,f,r,r.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return r}_clipSegment(e,t,n,r,i,a){let o=i<a;for(o&&([e,t,n,r,i,a]=[n,r,e,t,a,i]);;){if(0===i&&0===a)return o?[n,r,e,t]:[e,t,n,r];if(i&a)return null;let l,u,s=i||a;8&s?(l=e+(n-e)*(this.ymax-t)/(r-t),u=this.ymax):4&s?(l=e+(n-e)*(this.ymin-t)/(r-t),u=this.ymin):2&s?(u=t+(r-t)*(this.xmax-e)/(n-e),l=this.xmax):(u=t+(r-t)*(this.xmin-e)/(n-e),l=this.xmin),i?(e=l,t=u,i=this._regioncode(e,t)):(n=l,r=u,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),l;if((l=this._project(o[0],o[1],n,r))&&o.unshift(l[0],l[1]),(l=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(l[0],l[1]),o=this._clipFinite(e,o))for(let t=0,n=o.length,r,i=this._edgecode(o[n-2],o[n-1]);t<n;t+=2)r=i,i=this._edgecode(o[t],o[t+1]),r&&i&&(t=this._edge(e,r,i,o,t),n=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,n,r,i){for(;t!==n;){let n,a;switch(t){case 5:t=4;continue;case 4:t=6,n=this.xmax,a=this.ymin;break;case 6:t=2;
14continue;case 2:t=10,n=this.xmax,a=this.ymax;break;case 10:t=8;continue;case 8:t=9,n=this.xmin,a=this.ymax;break;case 9:t=1;continue;case 1:t=5,n=this.xmin,a=this.ymin}(r[i]!==n||r[i+1]!==a)&&this.contains(e,n,a)&&(r.splice(i,0,n,a),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,l;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(l=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(l=this.ymax,o=e+(i=a)*n)}if(n>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)<i&&(o=this.xmax,l=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,l=t+(i=a)*r)}return[o,l]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){let n=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[n]&&e[n]===e[r]||e[t+1]===e[n+1]&&e[n+1]===e[r+1])&&(e.splice(n,2),t-=2)}e.length||(e=null)}return e}}let Eq=2*Math.PI,EW=Math.pow;function EH(e){return e[0]}function EY(e){return e[1]}class EG{static from(e,t=EH,n=EY,r){return new EG("length"in e?function(e,t,n,r){let i=e.length,a=new Float64Array(2*i);for(let o=0;o<i;++o){let i=e[o];a[2*o]=t.call(r,i,o,e),a[2*o+1]=n.call(r,i,o,e)}return a}(e,t,n,r):Float64Array.from(function*(e,t,n,r){let i=0;for(let a of e)yield t.call(r,a,i,e),yield n.call(r,a,i,e),++i}(e,t,n,r)))}constructor(e){this._delaunator=new EB(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&function(e){let{triangles:t,coords:n}=e;for(let e=0;e<t.length;e+=3){let r=2*t[e],i=2*t[e+1],a=2*t[e+2],o=(n[a]-n[r])*(n[i+1]-n[r+1])-(n[i]-n[r])*(n[a+1]-n[r+1]);if(o>1e-10)return!1}return!0}(e)){this.collinear=Int32Array.from({length:t.length/2},(e,t)=>t).sort((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]);let e=this.collinear[0],i=this.collinear[this.collinear.length-1],a=[t[2*e],t[2*e+1],t[2*i],t[2*i+1]],o=1e-8*Math.hypot(a[3]-a[1],a[2]-a[0]);for(let e=0,i=t.length/2;e<i;++e){var n,r;
14let i=[(n=t[2*e])+Math.sin(n+(r=t[2*e+1]))*o,r+Math.cos(n-r)*o];t[2*e]=i[0],t[2*e+1]=i[1]}this._delaunator=new EB(t)}else delete this.collinear;let i=this.halfedges=this._delaunator.halfedges,a=this.hull=this._delaunator.hull,o=this.triangles=this._delaunator.triangles,l=this.inedges.fill(-1),u=this._hullIndex.fill(-1);for(let e=0,t=i.length;e<t;++e){let t=o[e%3==2?e-2:e+1];(-1===i[e]||-1===l[t])&&(l[t]=e)}for(let e=0,t=a.length;e<t;++e)u[a[e]]=e;a.length<=2&&a.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=a[0],l[a[0]]=1,2===a.length&&(l[a[1]]=0,this.triangles[1]=a[1],this.triangles[2]=a[1]))}voronoi(e){return new EU(this,e)}*neighbors(e){let{inedges:t,hull:n,_hullIndex:r,halfedges:i,triangles:a,collinear:o}=this;if(o){let t=o.indexOf(e);t>0&&(yield o[t-1]),t<o.length-1&&(yield o[t+1]);return}let l=t[e];if(-1===l)return;let u=l,s=-1;do{if(yield s=a[u],a[u=u%3==2?u-2:u+1]!==e)return;if(-1===(u=i[u])){let t=n[(r[e]+1)%n.length];t!==s&&(yield t);return}}while(u!==l)}find(e,t,n=0){let r;if((e=+e)!=e||(t=+t)!=t)return -1;let i=n;for(;(r=this._step(n,e,t))>=0&&r!==n&&r!==i;)n=r;return r}_step(e,t,n){let{inedges:r,hull:i,_hullIndex:a,halfedges:o,triangles:l,points:u}=this;if(-1===r[e]||!u.length)return(e+1)%(u.length>>1);let s=e,c=EW(t-u[2*e],2)+EW(n-u[2*e+1],2),f=r[e],h=f;do{let r=l[h],f=EW(t-u[2*r],2)+EW(n-u[2*r+1],2);if(f<c&&(c=f,s=r),l[h=h%3==2?h-2:h+1]!==e)break;if(-1===(h=o[h])){if((h=i[(a[e]+1)%i.length])!==r&&EW(t-u[2*h],2)+EW(n-u[2*h+1],2)<c)return h;break}}while(h!==f);return s}render(e){let t=null==e?e=new Ej:void 0,{points:n,halfedges:r,triangles:i}=this;for(let t=0,a=r.length;t<a;++t){let a=r[t];if(a<t)continue;let o=2*i[t],l=2*i[a];e.moveTo(n[o],n[o+1]),e.lineTo(n[l],n[l+1])}return this.renderHull(e),t&&t.value()}renderPoints(e,t){void 0!==t||e&&"function"==typeof e.moveTo||(t=e,e=null),t=void 0==t?2:+t;let n=null==e?e=new Ej:void 0,{points:r}=this;for(let n=0,i=r.length;n<i;n+=2){let i=r[n],a=r[n+1];e.moveTo(i+t,a),e.arc(i,a,t,0,Eq)}return n&&n.value()}renderHull(e){let t=null==e?e=new Ej:void 0,{hull:n,points:r}=this,i=2*n[0],a=n.length;e.moveTo(r[i],r[i+1]);for(let t=1;t<a;++t){let i=2*n[t];e.lineTo(r[i],r[i+1])}return e.closePath(),t&&t.value()}hullPolygon(){let e=new EI;return this.renderHull(e),e.value()}renderTriangle(e,t){let n=null==t?t=new Ej:void 0,{points:r,triangles:i}=this,a=2*i[e*=3],o=2*i[e+1],l=2*i[e+2];return t.moveTo(r[a],r[a+1]),t.lineTo(r[o],r[o+1]),t.lineTo(r[l],r[l+1]),t.closePath(),n&&n.value()}*trianglePolygons(){let{triangles:e}=this;for(let t=0,n=e.length/3;t<n;++t)yield this.trianglePolygon(t)}trianglePolygon(e){let t=new EI;return this.renderTriangle(e,t),t.value()}}function EV(e){oF.call(this,null,e)}EV.Definition={type:"Voronoi",metadata:{modifies:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"size",type:"number",array:!0,length:2},{name:"extent",type:"array",array:!0,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:!0,length:2}},{name:"as",type:"string",default:"path"}]};let EX=[-1e5,-1e5,1e5,1e5];tB(EV,oF,{transform(e,t){let n=e.as||"path",r=t.source;if(!r||!r.length)return t;let i=e.size;i=i?[0,0,i[0],i[1]]:(i=e.extent)?[i[0][0],i[0][1],i[1][0],i[1][1]]:EX;let a=this.value=EG.from(r,e.x,e.y).voronoi(i);for(let e=0,t=r.length;e<t;++e){let t=a.cellPolygon(e);r[e][n]=t?function(e){let t=e[0][0],n=e[0][1],r=e.length-1;for(;e[r][0]===t&&e[r][1]===n;--r);return"M"+e.slice(0,r+1).join("L")+"Z"}(t):null}return t.reflow(e.modified()).modifies(n)}});var EZ=Math.PI/180;function EJ(e){var t=e[0]/e[1];return function(e){return[t*(e*=.1)*Math.cos(e),e*Math.sin(e)]}}function EQ(e){return"function"==typeof e?e:function(){return e}}var EK={archimedean:EJ,rectangular:function(e){var t=4*e[0]/e[1],n=0,r=0;return function(e){var i=e<0?-1:1;switch(Math.sqrt(1+4*i*e)-i&3){case 0:n+=t;break;case 1:r+=4;break;case 2:n-=t;break;default:r-=4}return[n,r]}}};let E0=["x","y","font","fontSize","fontStyle","fontWeight","angle"],E1=["text","font","rotate","fontSize","fontStyle","fontWeight"];function E2(e){var t,n,r,i,a,o,l,u,s,c,f,h;oF.call(this,(u=[256,256],s=EJ,c=[],f=Math.random,(h={}).layout=function(){for(var e,h,d,p=((e=sL()).width=e.height=1,h=Math.sqrt(e.getContext("2d").getImageData(0,0,1,1).data.length>>2),e.width=2048/h,e.height=2048/h,(d=e.getContext("2d")).fillStyle=d.strokeStyle="red",d.textAlign="center",{c
14ontext:d,ratio:h}),g=function(e){for(var t=[],n=-1;++n<e;)t[n]=0;return t}((u[0]>>5)*u[1]),m=null,y=c.length,v=-1,b=[],x=c.map(e=>({text:t(e),font:n(e),style:i(e),weight:a(e),rotate:o(e),size:~~(r(e)+1e-14),padding:l(e),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:e})).sort((e,t)=>t.size-e.size);++v<y;){var _=x[v];_.x=u[0]*(f()+.5)>>1,_.y=u[1]*(f()+.5)>>1,function(e,t,n,r){if(!t.sprite){var i=e.context,a=e.ratio;i.clearRect(0,0,2048/a,2048/a);var o,l,u,s,c,f=0,h=0,d=0,p=n.length;for(--r;++r<p;){if(t=n[r],i.save(),i.font=t.style+" "+t.weight+" "+~~((t.size+1)/a)+"px "+t.font,o=i.measureText(t.text+"m").width*a,u=t.size<<1,t.rotate){var g=Math.sin(t.rotate*EZ),m=Math.cos(t.rotate*EZ),y=o*m,v=o*g,b=u*m,x=u*g;o=Math.max(Math.abs(y+x),Math.abs(y-x))+31>>5<<5,u=~~Math.max(Math.abs(v+b),Math.abs(v-b))}else o=o+31>>5<<5;if(u>d&&(d=u),f+o>=2048&&(f=0,h+=d,d=0),h+u>=2048)break;i.translate((f+(o>>1))/a,(h+(u>>1))/a),t.rotate&&i.rotate(t.rotate*EZ),i.fillText(t.text,0,0),t.padding&&(i.lineWidth=2*t.padding,i.strokeText(t.text,0,0)),i.restore(),t.width=o,t.height=u,t.xoff=f,t.yoff=h,t.x1=o>>1,t.y1=u>>1,t.x0=-t.x1,t.y0=-t.y1,t.hasText=!0,f+=o}for(var _=i.getImageData(0,0,2048/a,2048/a).data,w=[];--r>=0;)if((t=n[r]).hasText){for(s=0,l=(o=t.width)>>5,u=t.y1-t.y0;s<u*l;s++)w[s]=0;if(null==(f=t.xoff))return;h=t.yoff;var A=0,E=-1;for(c=0;c<u;c++){for(s=0;s<o;s++){var k=l*c+(s>>5),C=_[(h+c)*2048+(f+s)<<2]?1<<31-s%32:0;w[k]|=C,A|=C}A?E=c:(t.y0++,u--,c--,h++)}t.y1=t.y0+E,t.sprite=w.slice(0,(t.y1-t.y0)*l)}}}(p,_,x,v),_.hasText&&function(e,t,n){for(var r,i,a,o=t.x,l=t.y,c=Math.sqrt(u[0]*u[0]+u[1]*u[1]),h=s(u),d=.5>f()?1:-1,p=-d;(r=h(p+=d))&&!(Math.min(Math.abs(i=~~r[0]),Math.abs(a=~~r[1]))>=c);)if(t.x=o+i,t.y=l+a,!(t.x+t.x0<0)&&!(t.y+t.y0<0)&&!(t.x+t.x1>u[0])&&!(t.y+t.y1>u[1])&&(!n||!function(e,t,n){n>>=5;for(var r,i=e.sprite,a=e.width>>5,o=e.x-(a<<4),l=127&o,u=32-l,s=e.y1-e.y0,c=(e.y+e.y0)*n+(o>>5),f=0;f<s;f++){r=0;for(var h=0;h<=a;h++)if((r<<u|(h<a?(r=i[f*a+h])>>>l:0))&t[c+h])return!0;c+=n}return!1}(t,e,u[0]))&&(!n||t.x+t.x1>n[0].x&&t.x+t.x0<n[1].x&&t.y+t.y1>
14n[0].y&&t.y+t.y0<n[1].y)){for(var g,m=t.sprite,y=t.width>>5,v=u[0]>>5,b=t.x-(y<<4),x=127&b,_=32-x,w=t.y1-t.y0,A=(t.y+t.y0)*v+(b>>5),E=0;E<w;E++){g=0;for(var k=0;k<=y;k++)e[A+k]|=g<<_|(k<y?(g=m[E*y+k])>>>x:0);A+=v}return t.sprite=null,!0}return!1}(g,_,m)&&(b.push(_),m?function(e,t){var n=e[0],r=e[1];t.x+t.x0<n.x&&(n.x=t.x+t.x0),t.y+t.y0<n.y&&(n.y=t.y+t.y0),t.x+t.x1>r.x&&(r.x=t.x+t.x1),t.y+t.y1>r.y&&(r.y=t.y+t.y1)}(m,_):m=[{x:_.x+_.x0,y:_.y+_.y0},{x:_.x+_.x1,y:_.y+_.y1}],_.x-=u[0]>>1,_.y-=u[1]>>1)}return b},h.words=function(e){return arguments.length?(c=e,h):c},h.size=function(e){return arguments.length?(u=[+e[0],+e[1]],h):u},h.font=function(e){return arguments.length?(n=EQ(e),h):n},h.fontStyle=function(e){return arguments.length?(i=EQ(e),h):i},h.fontWeight=function(e){return arguments.length?(a=EQ(e),h):a},h.rotate=function(e){return arguments.length?(o=EQ(e),h):o},h.text=function(e){return arguments.length?(t=EQ(e),h):t},h.spiral=function(e){return arguments.length?(s=EK[e]||e,h):s},h.fontSize=function(e){return arguments.length?(r=EQ(e),h):r},h.padding=function(e){return arguments.length?(l=EQ(e),h):l},h.random=function(e){return arguments.length?(f=e,h):f},h),e)}function E3(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function E5(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function E6(e){let t,n,r;function i(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{let t=i+a>>>1;0>n(e[t],r)?i=t+1:a=t}while(i<a)}return i}return 2!==e.length?(t=E3,n=(t,n)=>E3(e(t),n),r=(t,n)=>e(t)-n):(t=e===E3||e===E5?e:E4,n=e,r=e),{left:i,center:function(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o},right:function(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{let t=i+a>>>1;0>=n(e[t],r)?i=t+1:a=t}while(i<a)}return i}}}function E4(){return 0}E2.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:E0}]},tB(E2,oF,{transform(e,t){e.size&&!(e.size[0]&&e.size[1])&&ej("Wordcloud size dimensions must be non-zero.");let n=e.modified();if(!(n||t.changed(t.ADD_REM)||E1.some(function(n){let r=e[n];return tv(r)&&t.modified(r.fields)})))return;let r=t.materialize(t.SOURCE).source,i=this.value,a=e.as||E0,o=e.fontSize||14,l;if(tv(o)?l=e.fontSizeRange:o=tE(o),l){let e=o,t=hp("sqrt")().domain(tD(r,e)).range(l);o=n=>t(e(n))}r.forEach(e=>{e[a[0]]=NaN,e[a[1]]=NaN,e[a[3]]=0});let u=i.words(r).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||"archimedean").rotate(e.rotate||0).font(e.font||"sans-serif").fontStyle(e.fontStyle||"normal").fontWeight(e.fontWeight||"normal").fontSize(o).random(oW).layout(),s=i.size(),c=s[0]>>1,f=s[1]>>1,h=u.length;for(let e=0,t,n;e<h;++e)(n=(t=u[e]).datum)[a[0]]=t.x+c,n[a[1]]=t.y+f,n[a[2]]=t.font,n[a[3]]=t.size,n[a[4]]=t.style,n[a[5]]=t.weight,n[a[6]]=t.rotate;return t.reflow(n).modifies(a)}});let E8=E6(E3),E9=E8.right,E7=E8.left;E6(function(e){return null===e?NaN:+e}).center;let ke=e=>new Uint8Array(e),kt=e=>new Uint16Array(e),kn=e=>new Uint32Array(e);function kr(e,t,n){let r=(t<257?ke:t<65537?kt:kn)(e);return n&&r.set(n),r}function ki(e,t,n){let r=1<<t;return{one:r,zero:~r,range:n.slice(),bisect:e.bisect,index:e.index,size:e.size,onAdd(e,t){let n;let i=this.bisect(this.range,e.value),a=e.index,o=i[0],l=i[1],u=a.length;for(n=0;n<o;++n)t[a[n]]|=r;for(n=l;n<u;++n)t[a[n]]|=r;return this}}}function ka(){let e=kn(0),t=[],n=0;return{insert:function(r,i,a){var o,l;if(!i.length)return[];let u=n,s=i.length,c=kn(s),f=Array(s),h,d,p;for(p=0;p<s;++p)f[p]=r(i[p]),c[p]=p;if(o=f,l=c,o.sort.call(l,(e,t)=>{let n=o[e],r=o[t];return n<r?-1:n>r?1:0}),f=Array.from(l,e=>o[e]),u)h=t,d=e,t=Array(u+s),e=kn(u+s),function(e,t,n,r,i,a,o,l,u){let s=0,c=0,f;for(f=0;s<r&&c<o;++f)t[s]<i[c]?(l[f]=t[s],u[f]=n[s++]):(l[f]=i[c],u[f]=a[c++]+e);for(;s<r;++s,++f)l[f]=t[s],u[f]=n[s];for(;c<o;++c,++f)l[f]=i[c],u[f]=a[c]+e}(a,h,d,u,f,c,s,t,e);else{if(a>0)for(p=0;p<s;++p)c[p]+=a;t=f,e=c}return n=u+s,{index:c,value:f}},remove:function(r,i){let a,o,l;let u=n;for(o=0;!i[e[o]]&&o<u;++o);for(l=o;o<u;++o)!i[a=e[o]]&&(e[l]=a,t[l]=t[o],++l);n=u-r},bisect:function(e,r){let i;return r?i=r.length:(r=t,i=n),[E7(r,e[0],0,i),E9(r,e[1],0,i)]},reindex:function(t){for(let r=0,i=n;r<i;++r)e[r]=t[e[r]]},index:()=>e,size:()=>n}}function ko(e){let t,n,r,i,a;oF.call(this,(t=8,n=[],r=kn(0),i=kr(0,t),a=kr(0,t),{data:()=>n,seen:()=>{var e,t,i;return e=r,t=n.length,r=e.length>=t?e:((i=i||new e.constructor(t)).set(e),i)},add(e){for(let t=0,r=n.length,i=e.length,a;t<i;++t)(a=e[t])._index=r++,n.push(a)},remove(e,t){let r,o,l;let u=n.length,s=Array(u-e),c=n;for(o=0;!t[o]&&o<u;++o)s[o]=n[o],c[o]=o;for(l=o;o<u;++o)r=n[o],t[o]?c[o]=-1:(c[o]=l,i[l]=i[o],a[l]=a[o],s[l]=r,r._index=l++),i[o]=0;return n=s,c},size:()=>n.length,curr:()=>i,prev:()=>a,reset:e=>a[e]=i[e],all:()=>t<257?255:t<65537?65535:4294967295,set(e,t){i[e]|=t},clear(e,t){i[e]&=~t},resize(e,n){let r=i.length;(e>r||n>t)&&(i=kr(e,t=Math.max(n,t),i),a=kr(e,t))}}),e),this._indices=null,this._dims=null}function kl(e){oF.call(this,null,e)}ko.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]},tB(ko,oF,{transform(e,t){return this._dims?e.modified("fields")||e.fields.some(e=>t.modified(e.fields))?this.reinit(e,t):this.eval(e,t):this.init(e,t)},init(e,t){let n=e.fields,r=e.query,i=this._indices={},a=this._dims=[],o=r.length,l=0,u,s;for(;l<o;++l)s=i[u=n[l].fname]||(i[u]=ka()),a.push(ki(s,l,r[l]));return this.eval(e,t)},reinit(e,t){let n,r,i,a,o,l,u,s,c;let f=t.materialize().fork(),h=e.fields,d=e.query,p=this._indices,g=this._dims,m=this.value,y=m.curr(),v=m.prev(),b=m.all(),x=f.rem=f.add,_=f.mod,w=d.length,A={};if(v.set(y),t.rem.length&&(o=this.remove(e,t,f)),t.add.length&&m.add(t.add),t.mod.length)for(l={},a=t.mod,u=0,s=a.length;u<s;++u)l[a[u]._index]=1;for(u=0;
14u<w;++u)c=h[u],(!g[u]||e.modified("fields",u)||t.modified(c.fields))&&((n=A[i=c.fname])||(p[i]=r=ka(),A[i]=n=r.insert(c,t.source,0)),g[u]=ki(r,u,d[u]).onAdd(n,y));for(u=0,s=m.data().length;u<s;++u)!o[u]&&(v[u]!==y[u]?x.push(u):l[u]&&y[u]!==b&&_.push(u));return m.mask=(1<<w)-1,f},eval(e,t){let n=t.materialize().fork(),r=this._dims.length,i=0;return t.rem.length&&(this.remove(e,t,n),i|=(1<<r)-1),e.modified("query")&&!e.modified("fields")&&(i|=this.update(e,t,n)),t.add.length&&(this.insert(e,t,n),i|=(1<<r)-1),t.mod.length&&(this.modify(t,n),i|=(1<<r)-1),this.value.mask=i,n},insert(e,t,n){let r=t.add,i=this.value,a=this._dims,o=this._indices,l=e.fields,u={},s=n.add,c=i.size()+r.length,f=a.length,h=i.size(),d,p,g;i.resize(c,f),i.add(r);let m=i.curr(),y=i.prev(),v=i.all();for(d=0;d<f;++d)g=u[p=l[d].fname]||(u[p]=o[p].insert(l[d],r,h)),a[d].onAdd(g,m);for(;h<c;++h)y[h]=v,m[h]!==v&&s.push(h)},modify(e,t){let n,r,i;let a=t.mod,o=this.value,l=o.curr(),u=o.all(),s=e.mod;for(n=0,r=s.length;n<r;++n)l[i=s[n]._index]!==u&&a.push(i)},remove(e,t,n){let r,i,a,o;let l=this._indices,u=this.value,s=u.curr(),c=u.prev(),f=u.all(),h={},d=n.rem,p=t.rem;for(r=0,i=p.length;r<i;++r)h[a=p[r]._index]=1,c[a]=o=s[a],s[a]=f,o!==f&&d.push(a);for(a in l)l[a].remove(i,h);return this.reindex(t,i,h),h},reindex(e,t,n){let r=this._indices,i=this.value;e.runAfter(()=>{let e=i.remove(t,n);for(let t in r)r[t].reindex(e)})},update(e,t,n){let r=this._dims,i=e.query,a=t.stamp,o=r.length,l=0,u,s;for(s=0,n.filters=0;s<o;++s)e.modified("query",s)&&(u=s,++l);if(1===l)l=r[u].one,this.incrementOne(r[u],i[u],n.add,n.rem);else for(s=0,l=0;s<o;++s)e.modified("query",s)&&(l|=r[s].one,this.incrementAll(r[s],i[s],a,n.add),n.rem=n.add);return l},incrementAll(e,t,n,r){let i,a,o;let l=this.value,u=l.seen(),s=l.curr(),c=l.prev(),f=e.index(),h=e.bisect(e.range),d=e.bisect(t),p=d[0],g=d[1],m=h[0],y=h[1],v=e.one;if(p<m)for(i=p,a=Math.min(m,g);i<a;++i)u[o=f[i]]!==n&&(c[o]=s[o],u[o]=n,r.push(o)),s[o]^=v;else if(p>m)for(i=m,a=Math.min(p,y);i<a;++i)u[o=f[i]]!==n&&(c[o]=s[o],u[o]=n,r.push(o)),s[o]^=v;if(g>y)for(i=Math.max(p,y),a=g;i<a;++i)u[o=f[i]]!==n&&(c[o]=s[o],u[o]=n,r.push(o)),s[o]^=v;else if(g<y)for(i=Math.max(m,g),a=y;i<a;++i)u[o=f[i]]!==n&&(c[o]=s[o],u[o]=n,r.push(o)),s[o]^=v;e.range=t.slice()},incrementOne(e,t,n,r){let i,a,o;let l=this.value,u=l.curr(),s=e.index(),c=e.bisect(e.range),f=e.bisect(t),h=f[0],d=f[1],p=c[0],g=c[1],m=e.one;if(h<p)for(i=h,a=Math.min(p,d);i<a;++i)o=s[i],u[o]^=m,n.push(o);else if(h>p)for(i=p,a=Math.min(h,g);i<a;++i)o=s[i],u[o]^=m,r.push(o);if(d>g)for(i=Math.max(h,g),a=d;i<a;++i)o=s[i],u[o]^=m,n.push(o);else if(d<g)for(i=Math.max(p,d),a=g;i<a;++i)o=s[i],u[o]^=m,r.push(o);e.range=t.slice()}}),kl.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:!0,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:!0,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]},tB(kl,oF,{transform(e,t){let n=~(e.ignore||0),r=e.filter,i=r.mask;if((i&n)==0)return t.StopPropagation;let a=t.fork(t.ALL),o=r.data(),l=r.curr(),u=r.prev(),s=e=>l[e]&n?null:o[e];return a.filter(a.MOD,s),i&i-1?(a.filter(a.ADD,e=>{let t=l[e]&n,r=!t&&t^u[e]&n;return r?o[e]:null}),a.filter(a.REM,e=>{let t=l[e]&n,r=t&&!(t^(t^u[e]&n));return r?o[e]:null})):(a.filter(a.ADD,s),a.filter(a.REM,e=>(l[e]&n)===i?o[e]:null)),a.filter(a.SOURCE,e=>s(e._index))}});let ku=Math.sqrt(50),ks=Math.sqrt(10),kc=Math.sqrt(2);function kf(e,t,n){return function e(t,n,r){let i,a,o;let l=(n-t)/Math.max(0,r),u=Math.floor(Math.log10(l)),s=l/Math.pow(10,u),c=s>=ku?10:s>=ks?5:s>=kc?2:1;return(u<0?(i=Math.round(t*(o=Math.pow(10,-u)/c)),a=Math.round(n*o),i/o<t&&++i,a/o>n&&--a,o=-o):(i=Math.round(t/(o=Math.pow(10,u)*c)),a=Math.round(n/o),i*o<t&&++i,a*o>n&&--a),a<i&&.5<=r&&r<2)?e(t,n,2*r):[i,a,o]}(e=+e,t=+t,n=+n)[2]}let kh="Literal",kd="CallExpression";function kp(e){this.type=e}kp.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=function(e){switch(e.type){case"ArrayExpression":return e.elements;case"BinaryExpression":case"LogicalExpression":return[e.left,e.right];case kd:return[e.callee].concat(e.arguments);case"ConditionalExpression":return[e.test,e.consequent,e.alternate];case"MemberExpression":return[e.object,e.property];case"ObjectExpression":return e.properties;case"Property":return[e.key,e.value];case"UnaryExpression":return[e.argument];default:return[]}}(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1},(Cv={})[1]="Boolean",Cv[2]="<end>",Cv[3]="Identifier",Cv[4]="Keyword",Cv[5]="Null",Cv[6]="Numeric",Cv[7]="Punctuator",Cv[8]="String",Cv[9]="RegularExpression";var kg="Identifier",km="Unexpected token %0",ky="Invalid regular expression",kv="Invalid regular expression: missing /",kb="Octal literals are not allowed in strict mode.",kx="ILLEGAL",k_="Disabled.",kw=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u
1402EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC
147\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),kA=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC
147\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function kE(e,t){if(!e)throw Error("ASSERT: "+t)}function kk(e){return e>=48&&e<=57}function kC(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function kD(e){return"01234567".indexOf(e)>=0}function kF(e){return 10===e||13===e||8232===e||8233===e}function k$(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&kw.test(String.fromCharCode(e))}function kM(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&kA.test(String.fromCharCode(e))}let kS={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function kN(){for(;Cx<C_;){let e=Cb.charCodeAt(Cx);if(32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0||kF(e))++Cx;else break}}function kO(e){var t,n,r,i=0;for(t=0,n="u"===e?4:2;t<n;++t)Cx<C_&&kC(Cb[Cx])?(r=Cb[Cx++],i=16*i+"0123456789abcdef".indexOf(r.toLowerCase())):kH({},km,kx);return String.fromCharCode(i)}function kB(){var e,t;for(t=String.fromCharCode(e=Cb.charCodeAt(Cx++)),92===e&&(117!==Cb.charCodeAt(Cx)&&kH({},km,kx),++Cx,(e=kO("u"))&&"\\"!==e&&k$(e.charCodeAt(0))||kH({},km,kx),t=e);Cx<C_&&kM(e=Cb.charCodeAt(Cx));)++Cx,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==Cb.charCodeAt(Cx)&&kH({},km,kx),++Cx,(e=kO("u"))&&"\\"!==e&&kM(e.charCodeAt(0))||kH({},km,kx),t+=e);return t}function kT(){var e,t,n,r,i=Cx,a=Cb.charCodeAt(Cx),o=Cb[Cx];switch(a){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++Cx,{type:7,value:String.fromCharCode(a),start:i,end:Cx};default:if(61===(e=Cb.charCodeAt(Cx+1)))switch(a){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return Cx+=2,{type:7,value:String.fromCharCode(a)+String.fromCharCode(e),start:i,end:Cx};case 33:case 61:return Cx+=2,61===Cb.charCodeAt(Cx)&&++Cx,{type:7,value:Cb.slice(i,Cx),start:i,end:Cx}}}return">>>="===(r=Cb.substr(Cx,4))?{type:7,value:r,start:i,end:Cx+=4}:">>>"===(n=r.substr(0,3))||"<<="===n||">>="===n?{type:7,value:n,start:i,end:Cx+=3}:o===(t=n.substr(0,2))[1]&&"+-<>&|".indexOf(o)>=0||"=>"===t?{type:7,value:t,start:i,end:Cx+=2}:("//"===t&&kH({},km,kx),"<>=!+-*%&|^/".indexOf(o)>=0)?{type:7,value:o,start:i,end:++Cx}:void kH({},km,kx)}function kz(){var e,t,n;if(kE(kk((n=Cb[Cx]).charCodeAt(0))||"."===n,"Numeric literal must start with a decimal digit or a decimal point"),t=Cx,e="","."!==n){if(e=Cb[Cx++],n=Cb[Cx],"0"===e){if("x"===n||"X"===n)return++Cx,function(e){let t="";for(;Cx<C_&&kC(Cb[Cx]);)t+=Cb[Cx++];return 0===t.length&&kH({},km,kx),k$(Cb.charCodeAt(Cx))&&kH({},km,kx),{type:6,value:parseInt("0x"+t,16),start:e,end:Cx}}(t);if(kD(n))return function(e){let t="0"+Cb[Cx++];for(;Cx<C_&&kD(Cb[Cx]);)t+=Cb[Cx++];return(k$(Cb.charCodeAt(Cx))||kk(Cb.charCodeAt(Cx)))&&kH({},km,kx),{type:6,value:parseInt(t,8),octal:!0,start:e,end:Cx}}(t);n&&kk(n.charCodeAt(0))&&kH({},km,kx)}for(;kk(Cb.charCodeAt(Cx));)e+=Cb[Cx++];n=Cb[Cx]}if("."===n){for(e+=Cb[Cx++];kk(Cb.charCodeAt(Cx));)e+=Cb[Cx++];n=Cb[Cx]}if("e"===n||"E"===n){if(e+=Cb[Cx++],("+"===(n=Cb[Cx])||"-"===n)&&(e+=Cb[Cx++]),kk(Cb.charCodeAt(Cx)))for(;kk(Cb.charCodeAt(Cx));)e+=Cb[Cx++];else kH({},km,kx)}return k$(Cb.charCodeAt(Cx))&&kH({},km,kx),{type:6,value:parseFloat(e),start:t,end:Cx}}function kR(){if(kN(),Cx>=C_)return{type:2,start:Cx,end:Cx};let e=Cb.charCodeAt(Cx);if(k$(e)){var t,n;return t=Cx,{type:1===(n=92===Cb.charCodeAt(Cx)?kB():function(){var e,t;for(e=Cx++;Cx<C_;){if(92===(t=Cb.charCodeAt(Cx)))return Cx=e,kB();if(kM(t))++Cx;else break}return Cb.slice(e,Cx)}()).length?3:kS.hasOwnProperty(n)?4:"null"===n?5:"true"===n||"false"===n?1:3,value:n,start:t,end:Cx}}return 40===e||41===e||59===e?kT():39===e||34===e?function(){var e,t,n,r,i="",a=!1;
14for(kE("'"===(e=Cb[Cx])||'"'===e,"String literal must starts with a quote"),t=Cx,++Cx;Cx<C_;){if((n=Cb[Cx++])===e){e="";break}if("\\"===n){if((n=Cb[Cx++])&&kF(n.charCodeAt(0)))"\r"===n&&"\n"===Cb[Cx]&&++Cx;else switch(n){case"u":case"x":"{"===Cb[Cx]?(++Cx,i+=function(){var e,t;for(e=Cb[Cx],t=0,"}"===e&&kH({},km,kx);Cx<C_&&kC(e=Cb[Cx++]);)t=16*t+"0123456789abcdef".indexOf(e.toLowerCase());return((t>1114111||"}"!==e)&&kH({},km,kx),t<=65535)?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}()):i+=kO(n);break;case"n":i+="\n";break;case"r":i+="\r";break;case"t":i+=" ";break;case"b":i+="\b";break;case"f":i+="\f";break;case"v":i+="\v";break;default:kD(n)?(0!==(r="01234567".indexOf(n))&&(a=!0),Cx<C_&&kD(Cb[Cx])&&(a=!0,r=8*r+"01234567".indexOf(Cb[Cx++]),"0123".indexOf(n)>=0&&Cx<C_&&kD(Cb[Cx])&&(r=8*r+"01234567".indexOf(Cb[Cx++]))),i+=String.fromCharCode(r)):i+=n}}else if(kF(n.charCodeAt(0)))break;else i+=n}return""!==e&&kH({},km,kx),{type:8,value:i,octal:a,start:t,end:Cx}}():46===e?kk(Cb.charCodeAt(Cx+1))?kz():kT():kk(e)?kz():kT()}function kL(){let e=Cw;return Cx=e.end,Cw=kR(),Cx=e.end,e}function kP(){let e=Cx;Cw=kR(),Cx=e}function kj(e,t,n){let r=new kp("||"===e||"&&"===e?"LogicalExpression":"BinaryExpression");return r.operator=e,r.left=t,r.right=n,r}function kI(e){let t=new kp(kg);return t.name=e,t}function kU(e){let t=new kp("Literal");return t.value=e.value,t.raw=Cb.slice(e.start,e.end),e.regex&&("//"===t.raw&&(t.raw="/(?:)/"),t.regex=e.regex),t}function kq(e,t,n){let r=new kp("MemberExpression");return r.computed="["===e,r.object=t,r.property=n,r.computed||(n.member=!0),r}function kW(e,t,n){let r=new kp("Property");return r.key=t,r.value=n,r.kind=e,r}function kH(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,(e,t)=>(kE(t<r.length,"Message reference must be in range"),r[t]));throw(n=Error(i)).index=Cx,n.description=i,n}function kY(e){2===e.type&&kH(e,"Unexpected end of input"),6===e.type&&kH(e,"Unexpected number"),8===e.type&&kH(e,"Unexpected string"),3===e.type&&kH(e,"Unexpected identifier"),4===e.type&&kH(e,"Unexpected reserved word"),kH(e,km,e.value)}function kG(e){let t=kL();(7!==t.type||t.value!==e)&&kY(t)}function kV(e){return 7===Cw.type&&Cw.value===e}function kX(e){return 4===Cw.type&&Cw.value===e}function kZ(){Cx=Cw.start;let e=kL();return 8===e.type||6===e.type?(e.octal&&kH(e,kb),kU(e)):kI(e.value)}let kJ={if:1};function kQ(){let e=function(){var e;for(e=function(){var e,t,n,r,i,a,o;if(kV("("))return function(){kG("(");let e=k2();return kG(")"),e}();if(kV("["))return function(){let e=[];for(Cx=Cw.start,kG("[");!kV("]");)kV(",")?(kL(),e.push(null)):(e.push(k1()),kV("]")||kG(","));return kL(),function(e){let t=new kp("ArrayExpression");return t.elements=e,t}(e)}();if(kV("{"))return function(){var e,t,n=[],r={},i=String;for(Cx=Cw.start,kG("{");!kV("}");)t="$"+((e=function(){var e,t,n;return(Cx=Cw.start,3===(e=Cw).type)?(n=kZ(),kG(":"),kW("init",n,k1())):2!==e.type&&7!==e.type?(t=kZ(),kG(":"),kW("init",t,k1())):void kY(e)}()).key.type===kg?e.key.name:i(e.key.value)),Object.prototype.hasOwnProperty.call(r,t)?kH({},"Duplicate data property in object literal not allowed in strict mode"):r[t]=!0,n.push(e),kV("}")||kG(",");return kG("}"),function(e){let t=new kp("ObjectExpression");return t.properties=e,t}(n)}();if(e=Cw.type,Cx=Cw.start,3===e||kJ[Cw.value])n=kI(kL().value);else if(8===e||6===e)Cw.octal&&kH(Cw,kb),n=kU(kL());else if(4===e)throw Error(k_);else 1===e?((t=kL()).value="true"===t.value,n=kU(t)):5===e?((t=kL()).value=null,n=kU(t)):kV("/")||kV("/=")?(n=kU((Cw=null,kN(),r=Cx,i=function(){var e,t,n,r;
14for(kE("/"===(e=Cb[Cx]),"Regular expression literal must start with a slash"),t=Cb[Cx++],n=!1,r=!1;Cx<C_;)if(t+=e=Cb[Cx++],"\\"===e)kF((e=Cb[Cx++]).charCodeAt(0))&&kH({},kv),t+=e;else if(kF(e.charCodeAt(0)))kH({},kv);else if(n)"]"===e&&(n=!1);else{if("/"===e){r=!0;break}"["===e&&(n=!0)}return r||kH({},kv),{value:t.substr(1,t.length-2),literal:t}}(),a=function(){var e,t,n;for(t="",n="";Cx<C_&&kM((e=Cb[Cx]).charCodeAt(0));)++Cx,"\\"===e&&Cx<C_?kH({},km,kx):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&kH({},ky,n),{value:n,literal:t}}(),o=function(e,t){let n=e;t.indexOf("u")>=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(e,t)=>{if(1114111>=parseInt(t,16))return"x";kH({},ky)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch(e){kH({},ky)}try{return new RegExp(e,t)}catch(e){return null}}(i.value,a.value),{literal:i.literal+a.literal,value:o,regex:{pattern:i.value,flags:a.value},start:r,end:Cx})),kP()):kY(kL());return n}();;)if(kV("."))kG("."),e=kq(".",e,function(){Cx=Cw.start;let e=kL();return 3===e.type||4===e.type||1===e.type||5===e.type||kY(e),kI(e.value)}());else if(kV("("))e=function(e,t){let n=new kp("CallExpression");return n.callee=e,n.arguments=t,n}(e,function(){let e=[];
14if(kG("("),!kV(")"))for(;Cx<C_&&(e.push(k1()),!kV(")"));)kG(",");return kG(")"),e}());else if(kV("["))e=kq("[",e,function(){kG("[");let e=k2();return kG("]"),e}());else break;return e}();if(7===Cw.type&&(kV("++")||kV("--")))throw Error(k_);return e}function kK(){var e,t;if(7!==Cw.type&&4!==Cw.type)t=kQ();else if(kV("++")||kV("--"))throw Error(k_);else if(kV("+")||kV("-")||kV("~")||kV("!"))e=kL(),t=kK(),t=function(e,t){let n=new kp("UnaryExpression");return n.operator=e,n.argument=t,n.prefix=!0,n}(e.value,t);else if(kX("delete")||kX("void")||kX("typeof"))throw Error(k_);else t=kQ();return t}function k0(e){let t=0;if(7!==e.type&&4!==e.type)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11}return t}function k1(){var e,t;return e=function(){var e,t,n,r,i,a,o,l,u,s;if(e=Cw,u=kK(),0===(i=k0(r=Cw)))return u;for(r.prec=i,kL(),t=[e,Cw],a=[u,r,o=kK()];(i=k0(Cw))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)o=a.pop(),l=a.pop().value,u=a.pop(),t.pop(),n=kj(l,u,o),a.push(n);(r=kL()).prec=i,a.push(r),t.push(Cw),n=kK(),a.push(n)}for(s=a.length-1,n=a[s],t.pop();s>1;)t.pop(),n=kj(a[s-1].value,a[s-2],n),s-=2;return n}(),kV("?")&&(kL(),t=k1(),kG(":"),e=function(e,t,n){let r=new kp("ConditionalExpression");return r.test=e,r.consequent=t,r.alternate=n,r}(e,t,k1())),e}function k2(){let e=k1();if(kV(","))throw Error(k_);return e}function k3(e){Cx=0,C_=(Cb=e).length,Cw=null,kP();let t=k2();if(2!==Cw.type)throw Error("Unexpect token after expression.");return t}var k5={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function k6(e){function t(t,n,r){return i=>{let a;return a=e(i[0]),n&&(a=n+"("+a+")",0===n.lastIndexOf("new ",0)&&(a="("+a+")")),a+"."+t+(r<0?"":0===r?"()":"("+i.slice(1).map(e).join(",")+")")}}let n="new Date",r="String",i="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(t){t.length<3&&ej("Missing arguments to clamp function."),t.length>3&&ej("Too many arguments to clamp function.");let n=t.map(e);return"Math.max("+n[1]+", Math.min("+n[2]+","+n[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:n,date:t("getDate",n,0),day:t("getDay",n,0),year:t("getFullYear",n,0),month:t("getMonth",n,0),hours:t("getHours",n,0),minutes:t("getMinutes",n,0),seconds:t("getSeconds",n,0),milliseconds:t("getMilliseconds",n,0),time:t("getTime",n,0),timezoneoffset:t("getTimezoneOffset",n,0),utcdate:t("getUTCDate",n,0),utcday:t("getUTCDay",n,0),utcyear:t("getUTCFullYear",n,0),utcmonth:t("getUTCMonth",n,0),utchours:t("getUTCHours",n,0),utcminutes:t("getUTCMinutes",n,0),utcseconds:t("getUTCSeconds",n,0),utcmilliseconds:t("getUTCMilliseconds",n,0),length:t("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:t("toUpperCase",r,0),lower:t("toLowerCase",r,0),substring:t("substring",r),split:t("split",r),trim:t("trim",r,0),regexp:i,test:t("test",i),if:function(t){t.length<3&&ej("Missing arguments to if function."),t.length>3&&ej("Too many arguments to if function.");let n=t.map(e);return"("+n[0]+"?"+n[1]+":"+n[2]+")"}}}function k4(e){e=e||{};let t=e.allowed?t0(e.allowed):{},n=e.forbidden?t0(e.forbidden):{},r=e.constants||k5,i=(e.functions||k6)(f),a=e.globalvar,o=e.fieldvar,l=tv(a)?a:e=>`${a}["${e}"]`,u={},s={},c=0;function f(e){if(tI(e))return e;let t=h[e.type];return null==t&&ej("Unsupported type: "+e.type),t(e)}let h={Literal:e=>e.raw,Identifier:e=>{let i=e.name;return c>0?i:tM(n,i)?ej("Illegal identifier: "+i):tM(r,i)?r[i]:tM(t,i)?i:(u[i]=1,l(i))},MemberExpression:e=>{let t=!e.computed,n=f(e.object);t&&(c+=1);let r=f(e.property);return n===o&&(s[function(e){let t=e&&e.length-1;return t&&('"'===e[0]&&'"'===e[t]||"'"===e[0]&&"'"===e[t])?e.slice(1,-1):e}(r)]=1),t&&(c-=1),n+(t?"."+r:"["+r+"]")},CallExpression:e=>{"Identifier"!==e.callee.type&&ej("Illegal callee type: "+e.callee.type);let t=e.callee.name,n=e.arguments,r=tM(i,t)&&i[t];return r||ej("Unrecognized function: "+t),tv(r)?r(n):r+"("+n.map(f).join(",")+")"},ArrayExpression:e=>"["+e.elements.map(f).join(",")+"]",BinaryExpression:e=>"("+f(e.left)+" "+e.operator+" "+f(e.right)+")",UnaryExpression:e=>"("+e.operator+f(e.argument)+")",ConditionalExpression:e=>"("+f(e.test)+"?"+f(e.consequent)+":"+f(e.alternate)+")",LogicalExpression:e=>"("+f(e.left)+e.operator+f(e.right)+")",ObjectExpression:e=>"{"+e.properties.map(f).join(",")+"}",Property:e=>{c+=1;let t=f(e.key);return c-=1,t+":"+f(e.value)}};function d(e){let t={code:f(e),globals:Object.keys(u),fields:Object.keys(s)};return u={},s={},t}return d.functions=i,d.constants=r,d}class k8{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){let t=this._partials,n=0;for(let r=0;r<this._n&&r<32;r++){let i=t[r],a=e+i,o=Math.abs(e)<Math.abs(i)?e-(a-i):i-(a-e);o&&(t[n++]=o),e=a}return t[n]=e,this._n=n+1,this}valueOf(){let e=this._partials,t=this._n,n,r,i,a=0;if(t>0){for(a=e[--t];t>0&&(a=(n=a)+(r=e[--t]),!(i=r-(a-n))););t>0&&(i<0&&e[t-1]<0||i>0&&e[t-1]>0)&&(n=a+(r=2*i),r==n-a&&(a=n))}return a}}var k9=Math.PI,k7=k9/2,Ce=k9/4,Ct=2*k9,Cn=180/k9,Cr=k9/180,Ci=Math.abs,Ca=Math.atan2,Co=Math.cos,Cl=Math.hypot,Cu=Math.sin,Cs=Math.sqrt;function Cc(e){return e>1?k7:e<-1?-k7:Math.asin(e)}function Cf(){}function Ch(e,t){e&&Cp.hasOwnProperty(e.type)&&Cp[e.type](e,t)}var Cd={Feature:function(e,t){Ch(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)Ch(n[r].geometry,t)}},Cp={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){Cg(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Cg(n[r],t,0)},Polygon:function(e,t){Cm(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Cm(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)Ch(n[r],t)}};function Cg(e,t,n){var r,i=-1,a=e.length-n;for(t.lineStart();++i<a;)r=e[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function Cm(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)Cg(e[n],t,1);t.polygonEnd()}function Cy(e,t){e&&Cd.hasOwnProperty(e.type)?Cd[e.type](e,t):Ch(e,t)}var Cv,Cb,Cx,C_,Cw,CA,CE,Ck,CC,CD,CF=new k8,C$=new k8,CM={point:Cf,lineStart:Cf,lineEnd:Cf,polygonStart:function(){CF=new k8,CM.lineStart=CS,CM.lineEnd=CN},polygonEnd:function(){var e=+CF;C$.add(e<0?Ct+e:e),this.lineStart=this.lineEnd=this.point=Cf},sphere:function(){C$.add(Ct)}};function CS(){CM.point=CO}function CN(){CB(CA,CE)}function CO(e,t){CM.point=CB,CA=e,CE=t,e*=Cr,t*=Cr,Ck=e,CC=Co(t=t/2+Ce),CD=Cu(t)}function CB(e,t){e*=Cr,t*=Cr;var n=e-Ck,r=n>=0?1:-1,i=r*n,a=Co(t=t/2+Ce),o=Cu(t),l=CD*o,u=CC*a+l*Co(i),s=l*r*Cu(i);CF.add(Ca(s,u)),Ck=e,CC=a,CD=o}function CT(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}var Cz={point:CR,lineStart:CP,lineEnd:Cj,polygonStart:function(){Cz.point=CI,Cz.lineStart=CU,Cz.lineEnd=Cq,FZ=new k8,CM.polygonStart()}
14,polygonEnd:function(){CM.polygonEnd(),Cz.point=CR,Cz.lineStart=CP,Cz.lineEnd=Cj,CF<0?(FU=-(FW=180),Fq=-(FH=90)):FZ>1e-6?FH=90:FZ<-.000001&&(Fq=-90),FQ[0]=FU,FQ[1]=FW},sphere:function(){FU=-(FW=180),Fq=-(FH=90)}};function CR(e,t){FJ.push(FQ=[FU=e,FW=e]),t<Fq&&(Fq=t),t>FH&&(FH=t)}function CL(e,t){var n=(o=(a=[e*Cr,t*Cr])[0],[(u=Co(l=a[1]))*Co(o),u*Cu(o),Cu(l)]);if(FX){var r=CT(FX,n),i=CT([r[1],-r[0],0],r);c=Cs((s=i)[0]*s[0]+s[1]*s[1]+s[2]*s[2]),s[0]/=c,s[1]/=c,s[2]/=c;var a,o,l,u,s,c,f,h,d=e-FY,p=d>0?1:-1,g=(i=[Ca((f=i)[1],f[0]),Cc(f[2])])[0]*Cn*p,m=Ci(d)>180;m^(p*FY<g&&g<p*e)?(h=i[1]*Cn)>FH&&(FH=h):m^(p*FY<(g=(g+360)%360-180)&&g<p*e)?(h=-i[1]*Cn)<Fq&&(Fq=h):(t<Fq&&(Fq=t),t>FH&&(FH=t)),m?e<FY?CW(FU,e)>CW(FU,FW)&&(FW=e):CW(e,FW)>CW(FU,FW)&&(FU=e):FW>=FU?(e<FU&&(FU=e),e>FW&&(FW=e)):e>FY?CW(FU,e)>CW(FU,FW)&&(FW=e):CW(e,FW)>CW(FU,FW)&&(FU=e)}else FJ.push(FQ=[FU=e,FW=e]);t<Fq&&(Fq=t),t>FH&&(FH=t),FX=n,FY=e}function CP(){Cz.point=CL}function Cj(){FQ[0]=FU,FQ[1]=FW,Cz.point=CR,FX=null}function CI(e,t){if(FX){var n=e-FY;FZ.add(Ci(n)>180?n+(n>0?360:-360):n)}else FG=e,FV=t;CM.point(e,t),CL(e,t)}function CU(){CM.lineStart()}function Cq(){CI(FG,FV),CM.lineEnd(),Ci(FZ)>1e-6&&(FU=-(FW=180)),FQ[0]=FU,FQ[1]=FW,FX=null}function CW(e,t){return(t-=e)<0?t+360:t}function CH(e,t){return e[0]-t[0]}function CY(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}var CG={sphere:Cf,point:CV,lineStart:CZ,lineEnd:CK,polygonStart:function(){CG.lineStart=C0,CG.lineEnd=C1},polygonEnd:function(){CG.lineStart=CZ,CG.lineEnd=CK}};function CV(e,t){e*=Cr;var n=Co(t*=Cr);CX(n*Co(e),n*Cu(e),Cu(t))}function CX(e,t,n){++FK,F1+=(e-F1)/FK,F2+=(t-F2)/FK,F3+=(n-F3)/FK}function CZ(){CG.point=CJ}function CJ(e,t){e*=Cr;var n=Co(t*=Cr);$n=n*Co(e),$r=n*Cu(e),$i=Cu(t),CG.point=CQ,CX($n,$r,$i)}function CQ(e,t){e*=Cr;var n=Co(t*=Cr),r=n*Co(e),i=n*Cu(e),a=Cu(t),o=Ca(Cs((o=$r*a-$i*i)*o+(o=$i*r-$n*a)*o+(o=$n*i-$r*r)*o),$n*r+$r*i+$i*a);F0+=o,F5+=o*($n+($n=r)),F6+=o*($r+($r=i)),F4+=o*($i+($i=a)),CX($n,$r,$i)}function CK(){CG.point=CV}function C0(){CG.point=C2}function C1(){C3($e,$t),CG.point=CV}function C2(e,t){$e=e,$t=t,e*=Cr,t*=Cr,CG.point=C3;var n=Co(t);CX($n=n*Co(e),$r=n*Cu(e),$i=Cu(t))}function C3(e,t){e*=Cr;var n=Co(t*=Cr),r=n*Co(e),i=n*Cu(e),a=Cu(t),o=$r*a-$i*i,l=$i*r-$n*a,u=$n*i-$r*r,s=Cl(o,l,u),c=Cc(s),f=s&&-c/s;F8.add(f*o),F9.add(f*l),F7.add(f*u),F0+=c,F5+=c*($n+($n=r)),F6+=c*($r+($r=i)),F4+=c*($i+($i=a)),CX($n,$r,$i)}function C5(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function C6(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function C4(){}var C8="\\s*([+-]?\\d+)\\s*",C9="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",C7="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",De=/^#([0-9a-f]{3,8})$/,Dt=RegExp(`^rgb\\(${C8},${C8},${C8}\\)$`),Dn=RegExp(`^rgb\\(${C7},${C7},${C7}\\)$`),Dr=RegExp(`^rgba\\(${C8},${C8},${C8},${C9}\\)$`),Di=RegExp(`^rgba\\(${C7},${C7},${C7},${C9}\\)$`),Da=RegExp(`^hsl\\(${C9},${C7},${C7}\\)$`),Do=RegExp(`^hsla\\(${C9},${C7},${C7},${C9}\\)$`),Dl={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Du(){return this.rgb().formatHex()}function Ds(){return this.rgb().formatRgb()}function Dc(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=De.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?Df(t):3===n?
14new Dg(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Dh(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Dh(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Dt.exec(e))?new Dg(t[1],t[2],t[3],1):(t=Dn.exec(e))?new Dg(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=Dr.exec(e))?Dh(t[1],t[2],t[3],t[4]):(t=Di.exec(e))?Dh(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Da.exec(e))?D_(t[1],t[2]/100,t[3]/100,1):(t=Do.exec(e))?D_(t[1],t[2]/100,t[3]/100,t[4]):Dl.hasOwnProperty(e)?Df(Dl[e]):"transparent"===e?new Dg(NaN,NaN,NaN,0):null}function Df(e){return new Dg(e>>16&255,e>>8&255,255&e,1)}function Dh(e,t,n,r){return r<=0&&(e=t=n=NaN),new Dg(e,t,n,r)}function Dd(e){return(e instanceof C4||(e=Dc(e)),e)?(e=e.rgb(),new Dg(e.r,e.g,e.b,e.opacity)):new Dg}function Dp(e,t,n,r){return 1==arguments.length?Dd(e):new Dg(e,t,n,null==r?1:r)}function Dg(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function Dm(){return`#${Dx(this.r)}${Dx(this.g)}${Dx(this.b)}`}function Dy(){let e=Dv(this.opacity);return`${1===e?"rgb(":"rgba("}${Db(this.r)}, ${Db(this.g)}, ${Db(this.b)}${1===e?")":`, ${e})`}`}function Dv(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Db(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Dx(e){return((e=Db(e))<16?"0":"")+e.toString(16)}function D_(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new DE(e,t,n,r)}function Dw(e){if(e instanceof DE)return new DE(e.h,e.s,e.l,e.opacity);if(e instanceof C4||(e=Dc(e)),!e)return new DE;if(e instanceof DE)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,l=a-i,u=(a+i)/2;return l?(o=t===a?(n-r)/l+(n<r)*6:n===a?(r-t)/l+2:(t-n)/l+4,l/=u<.5?a+i:2-a-i,o*=60):l=u>0&&u<1?0:o,new DE(o,l,u,e.opacity)}function DA(e,t,n,r){return 1==arguments.length?Dw(e):new DE(e,t,n,null==r?1:r)}function DE(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function Dk(e){return(e=(e||0)%360)<0?e+360:e}function DC(e){return Math.max(0,Math.min(1,e||0))}
14function DD(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}C5(C4,Dc,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Du,formatHex:Du,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Dw(this).formatHsl()},formatRgb:Ds,toString:Ds}),C5(Dg,Dp,C6(C4,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new Dg(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new Dg(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Dg(Db(this.r),Db(this.g),Db(this.b),Dv(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Dm,formatHex:Dm,formatHex8:function(){return`#${Dx(this.r)}${Dx(this.g)}${Dx(this.b)}${Dx((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:Dy,toString:Dy})),C5(DE,DA,C6(C4,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new DE(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new DE(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Dg(DD(e>=240?e-240:e+120,i,r),DD(e,i,r),DD(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new DE(Dk(this.h),DC(this.s),DC(this.l),Dv(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=Dv(this.opacity);return`${1===e?"hsl(":"hsla("}${Dk(this.h)}, ${100*DC(this.s)}%, ${100*DC(this.l)}%${1===e?")":`, ${e})`}`}}));let DF=Math.PI/180,D$=180/Math.PI,DM=4/29,DS=6/29,DN=3*DS*DS,DO=DS*DS*DS;function DB(e){if(e instanceof Dz)return new Dz(e.l,e.a,e.b,e.opacity);if(e instanceof DU)return Dq(e);e instanceof Dg||(e=Dd(e));var t,n,r=Dj(e.r),i=Dj(e.g),a=Dj(e.b),o=DR((.2225045*r+.7168786*i+.0606169*a)/1);return r===i&&i===a?t=n=o:(t=DR((.4360747*r+.3850649*i+.1430804*a)/.96422),n=DR((.0139322*r+.0971045*i+.7141733*a)/.82521)),new Dz(116*o-16,500*(t-o),200*(o-n),e.opacity)}function DT(e,t,n,r){return 1==arguments.length?DB(e):new Dz(e,t,n,null==r?1:r)}function Dz(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}function DR(e){return e>DO?Math.pow(e,1/3):e/DN+DM}function DL(e){return e>DS?e*e*e:DN*(e-DM)}function DP(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Dj(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function DI(e,t,n,r){return 1==arguments.length?function(e){if(e instanceof DU)return new DU(e.h,e.c,e.l,e.opacity);if(e instanceof Dz||(e=DB(e)),0===e.a&&0===e.b)return new DU(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*D$;return new DU(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}(e):new DU(e,t,n,null==r?1:r)}function DU(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function Dq(e){if(isNaN(e.h))return new Dz(e.l,0,0,e.opacity);var t=e.h*DF;return new Dz(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}function DW(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function DH(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function DY(){return 0}function DG(e){return e instanceof fc.H?e:new fc.H(e)}C5(Dz,DT,C6(C4,{brighter(e){return new Dz(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker(e){return new Dz(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=.96422*DL(t),e=1*DL(e),n=.82521*DL(n),new Dg(DP(3.1338561*t-1.6168667*e-.4906146*n),DP(-.9787684*t+1.9161415*e+.033454*n),DP(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),C5(DU,DI,C6(C4,{brighter(e){return new DU(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker(e){return new DU(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb(){return Dq(this).rgb()}}));let DV="intersect",DX="union",DZ="_vgsid_",DJ=eU(DZ),DQ="index:unit";function DK(e,t){for(var n,r,i=t.fields,a=t.values,o=i.length,l=0;l<o;++l)if((r=i[l]).getter=eU.getter||eU(r.field),tR(n=r.getter(e))&&(n=e9(n)),tR(a[l])&&(a[l]=e9(a[l])),tR(a[l][0])&&(a[l]=a[l].map(e9)),"E"===r.type){if(e2(a[l])?0>a[l].indexOf(n):n!==a[l])return!1}else if("R"===r.type){if(!tT(n,a[l]))return!1}else if("R-RE"===r.type){if(!tT(n,a[l],!0,!1))return!1}else if("R-E"===r.type){if(!tT(n,a[l],!1,!1))return!1}else if("R-LE"===r.type&&!tT(n,a[l],!1,!0))return!1;return!0}let D0=function(e){let t,n,r;
14function i(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{let t=i+a>>>1;0>n(e[t],r)?i=t+1:a=t}while(i<a)}return i}return 2!==e.length?(t=DW,n=(t,n)=>DW(e(t),n),r=(t,n)=>e(t)-n):(t=e===DW||e===DH?e:DY,n=e,r=e),{left:i,center:function(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o},right:function(e,r,i=0,a=e.length){if(i<a){if(0!==t(r,r))return a;do{let t=i+a>>>1;0>=n(e[t],r)?i=t+1:a=t}while(i<a)}return i}}}(DJ),D1=D0.left,D2=D0.right;var D3={[`${DZ}_union`]:function(...e){let t=new fc.H;for(let n of e)for(let e of n)t.add(e);return t},[`${DZ}_intersect`]:function(e,...t){e=new fc.H(e),t=t.map(DG);e:for(let n of e)for(let r of t)if(!r.has(n)){e.delete(n);continue e}return e},E_union:function(e,t){if(!e.length)return t;for(var n=0,r=t.length;n<r;++n)0>e.indexOf(t[n])&&e.push(t[n]);return e},E_intersect:function(e,t){return e.length?e.filter(e=>t.indexOf(e)>=0):t},R_union:function(e,t){var n=e9(t[0]),r=e9(t[1]);return(n>r&&(n=t[1],r=t[0]),e.length)?(e[0]>n&&(e[0]=n),e[1]<r&&(e[1]=r),e):[n,r]},R_intersect:function(e,t){var n=e9(t[0]),r=e9(t[1]);return(n>r&&(n=t[1],r=t[0]),e.length)?r<e[0]||e[1]<n?[]:(e[0]<n&&(e[0]=n),e[1]>r&&(e[1]=r),e):[n,r]}};function D5(e,t,n,r){t[0].type!==kh&&ej("First argument to selection functions must be a string literal.");let i=t[0].value,a=t.length>=2&&e8(t).value,o="unit",l="@"+o,u=":"+i;a!==DV||tM(r,l)||(r[l]=n.getData(i).indataRef(n,o)),tM(r,u)||(r[u]=n.getData(i).tuplesRef())}function D6(e){let t=this.context.data[e];return t?t.values.value:[]}let D4=e=>function(t,n){let r=this.context.dataflow.locale();return r[e](n)(t)},D8=D4("format"),D9=D4("timeFormat"),D7=D4("utcFormat"),Fe=D4("timeParse"),Ft=D4("utcParse"),Fn=new Date(2e3,0,1);function Fr(e,t,n){return Number.isInteger(e)&&Number.isInteger(t)?(Fn.setYear(2e3),Fn.setMonth(e),Fn.setDate(t),D9.call(this,Fn,n)):""}function Fi(e,t,n,r){t[0].type!==kh&&ej("First argument to data functions must be a string literal.");let i=t[0].value,a=":"+i;if(!tM(a,r))try{r[a]=n.getData(i).tuplesRef()}catch(e){}}function Fa(e,t,n,r){if(t[0].type===kh)Fo(n,r,t[0].value);else for(e in n.scales)Fo(n,r,e)}
14function Fo(e,t,n){let r="%"+n;if(!tM(t,r))try{t[r]=e.scaleRef(n)}catch(e){}}function Fl(e,t){if(tv(e))return e;if(tI(e)){var n;let r=t.scales[e];return r&&(n=r.value)&&!0===n[hd]?r.value:void 0}}function Fu(e,t){return function(n,r,i){if(!n)return t(r);{let t=Fl(n,(i||this).context);return t&&t.path[e](r)}}}let Fs=Fu("area",function(e){return C$=new k8,Cy(e,CM),2*C$}),Fc=Fu("bounds",function(e){var t,n,r,i,a,o,l;if(FH=FW=-(FU=Fq=1/0),FJ=[],Cy(e,Cz),n=FJ.length){for(FJ.sort(CH),t=1,a=[r=FJ[0]];t<n;++t)CY(r,(i=FJ[t])[0])||CY(r,i[1])?(CW(r[0],i[1])>CW(r[0],r[1])&&(r[1]=i[1]),CW(i[0],r[1])>CW(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,n=a.length-1,t=0,r=a[n];t<=n;r=i,++t)i=a[t],(l=CW(r[1],i[0]))>o&&(o=l,FU=i[0],FW=r[1])}return FJ=FQ=null,FU===1/0||Fq===1/0?[[NaN,NaN],[NaN,NaN]]:[[FU,Fq],[FW,FH]]}),Ff=Fu("centroid",function(e){FK=F0=F1=F2=F3=F5=F6=F4=0,F8=new k8,F9=new k8,F7=new k8,Cy(e,CG);var t=+F8,n=+F9,r=+F7,i=Cl(t,n,r);return i<1e-12&&(t=F5,n=F6,r=F4,F0<1e-6&&(t=F1,n=F2,r=F3),(i=Cl(t,n,r))<1e-12)?[NaN,NaN]:[Ca(n,t)*Cn,Cc(r/i)*Cn]});function Fh(e,t,n){try{e[t].apply(e,["EXPRESSION"].concat([].slice.call(n)))}catch(t){e.warn(t)}return n[n.length-1]}function Fd(e){let t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Fp(e){let t=Dp(e),n=Fd(t.r),r=Fd(t.g),i=Fd(t.b);return .2126*n+.7152*r+.0722*i}function Fg(e,t){for(let n in e)if(!function e(t,n){return t===n||t!=t&&n!=n||(e2(t)?!!e2(n)&&t.length===n.length&&function(t,n){for(let r=0,i=t.length;r<i;++r)if(!e(t[r],n[r]))return!1;return!0}(t,n):!!(e3(t)&&e3(n))&&Fg(t,n))}(e[n],t[n]))return!1;return!0}let Fm={};function Fy(e){return e2(e)||ArrayBuffer.isView(e)?e:null}function Fv(e){return Fy(e)||(tI(e)?e:null)}let Fb=e=>e.data;function Fx(e,t){let n=D6.call(t,e);return n.root&&n.root.lookup||{}}let F_=()=>"undefined"!=typeof window&&window||null;function Fw(e,t,n){if(!e)return[];let[r,i]=e,a=new dP().set(r[0],r[1],i[0],i[1]),o=n||this.context.dataflow.scenegraph().root;return m_(o,a,function(e){let t=null;if(e){let n=tm(e.marktype),r=tm(e.markname);t=e=>(!n.length||n.some(t=>e.marktype===t))&&(!r.length||r.some(t=>e.name===t))}return t}(t))}let FA={random:()=>oW(),cumulativeNormal:o1,cumulativeLogNormal:o8,cumulativeUniform:lr,densityNormal:o0,densityLogNormal:o4,densityUniform:ln,quantileNormal:o2,quantileLogNormal:o9,quantileUniform:li,sampleNormal:oK,sampleLogNormal:o6,sampleUniform:lt,isArray:e2,isBoolean:tz,isDate:tR,isDefined:e=>void 0!==e,isNumber:tP,isObject:e3,isRegExp:tj,isString:tI,isTuple:a2,isValid:e=>null!=e&&e==e,toBoolean:tZ,toDate:e=>tQ(e),toNumber:e9,toString:tK,indexof:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Fv(e).indexOf(...n)},join:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Fy(e).join(...n)},lastindexof:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Fv(e).lastIndexOf(...n)},replace:function(e,t,n){return tv(n)&&ej("Function argument passed to replace."),String(e).replace(t,n)},reverse:function(e){return Fy(e).slice().reverse()},slice:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Fv(e).slice(...n)},flush:tO,lerp:tq,merge:function(){let e=[].slice.call(arguments);return e.unshift({}),tC(...e)},pad:tG,peek:e8,pluck:function(e,t){let n=Fm[t]||(Fm[t]=eU(t));return e2(e)?e.map(n):n(e)},span:tV,inrange:tT,truncate:t1,rgb:Dp,lab:DT,hcl:DI,hsl:DA,luminance:Fp,contrast:function(e,t){let n=Fp(e),r=Fp(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)},sequence:function(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),a=Array(i);++r<i;)a[r]=e+r*n;return a},format:D8,utcFormat:D7,utcParse:Ft,utcOffset:rI,utcSequence:rW,timeFormat:D9,timeParse:Fe,timeOffset:rj,timeSequence:rq,timeUnitSpecifier:rh,monthFormat:function(e){return Fr.call(this,e,1,"%B")},monthAbbrevFormat:function(e){return Fr.call(this,e,1,"%b")},dayFormat:function(e){return Fr.call(this,0,2+e,"%A")},dayAbbrevFormat:function(e){return Fr.call(this,0,2+e,"%a")},quarter:tp,utcquarter:tg,week:rm,utcweek:rw,dayofyear:rg,utcdayofyear:r_,warn:function(){return Fh(this.context.dataflow,"warn",arguments)},info:function(){return Fh(this.context.dataflow,"info",arguments)},debug:function(){return Fh(this.context.dataflow,"debug",arguments)},extent:e=>tD(e),inScope:function(e){let t=this.context.group,n=!1;if(t)for(;e;){if(e===t){n=!0;break}e=e.mark.group}return n},intersect:Fw,clampRange:ty,pinchDistance:function(e){let t=e.touches,n=t[0].clientX-t[1].clientX,r=t[0].clientY-t[1].clientY;return Math.hypot(n,r)},pinchAngle:function(e){let t=e.touches;return Math.atan2(t[0].clientY-t[1].clientY,t[0].clientX-t[1].clientX)},screen:function(){let e=F_();return e?e.screen:{}},containerSize:function(){let e=this.context.dataflow,t=e.container&&e.container();return t?[t.clientWidth,t.clientHeight]:[void 0,void 0]},windowSize:function(){let e=F_();
14return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]},bandspace:function(e,t,n){return f0(e||0,t||0,n||0)},setdata:function(e,t){let n=this.context.dataflow,r=this.context.data[e],i=r.input;return n.pulse(i,n.changeset().remove(eG).insert(t)),1},pathShape:function(e){let t=null;return function(n){return n?dr(n,t=t||h5(e)):e}},panLinear:ta,panLog:to,panPow:tl,panSymlog:tu,zoomLinear:tc,zoomLog:tf,zoomPow:th,zoomSymlog:td,encode:function(e,t,n){if(e){let n=this.context.dataflow,r=e.mark.source;n.pulse(r,n.changeset().encode(e,t))}return void 0!==n?n:e},modify:function(e,t,n,r,i,a){let o=this.context.dataflow,l=this.context.data[e],u=l.input,s=o.stamp(),c=l.changes,f,h;if(!1===o._trigger||!(u.value.length||t||r))return 0;if((!c||c.stamp<s)&&(l.changes=c=o.changeset(),c.stamp=s,o.runAfter(()=>{l.modified=!0,o.pulse(u,c).run()},!0,1)),n&&(f=!0===n?eG:e2(n)||a2(n)?n:e=>Fg(n,e),c.remove(f)),t&&c.insert(t),r&&(f=e=>Fg(r,e),u.value.some(f)?c.remove(f):c.insert(r)),i)for(h in a)c.modify(i,h,a[h]);return 1},lassoAppend:function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5;e=tm(e);let i=e[e.length-1];return void 0===i||Math.hypot(i[0]-t,i[1]-n)>r?[...e,[t,n]]:e},lassoPath:function(e){return tm(e).reduce((t,n,r)=>{let[i,a]=n;return t+(0==r?`M ${i},${a} `:r===e.length-1?" Z":`L ${i},${a} `)},"")},intersectLasso:function(e,t,n){let{x:r,y:i,mark:a}=n,o=new dP().set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(let[e,n]of t)e<o.x1&&(o.x1=e),e>o.x2&&(o.x2=e),n<o.y1&&(o.y1=n),n>o.y2&&(o.y2=n);o.translate(r,i);let l=Fw([[o.x1,o.y1],[o.x2,o.y2]],e,a);return l.filter(e=>(function(e,t,n){let r=0;for(let i=0,a=n.length-1;i<n.length;a=i++){let[o,l]=n[a],[u,s]=n[i];s>t!=l>t&&e<(o-u)*(t-s)/(l-s)+u&&r++}return 1&r})(e.x,e.y,t))}},FE=["view","item","group","xy","x","y"],Fk="this.",FC={},FD={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:e=>`_[${tX("$"+e)}]`,functions:function(e){let t=k6(e);for(let e in FE.forEach(e=>t[e]="event.vega."+e),FA)t[e]=Fk+e;return tC(t,function(e,t,n){t.__bandwidth=e=>e&&e.bandwidth?e.bandwidth():0,n._bandwidth=Fa,n._range=Fa,n._scale=Fa;let r=t=>"_["+(t.type===kh?tX("%"+t.value):tX("%")+"+"+e(t))+"]";return{_bandwidth:e=>`this.__bandwidth(${r(e[0])})`,_range:e=>`${r(e[0])}.range()`,_scale:t=>`${r(t[0])}(${e(t[1])})`}}(e,FA,FC)),t},constants:k5,visitors:FC},FF=k4(FD);function F$(e,t,n){return 1==arguments.length?FA[e]:(FA[e]=t,n&&(FC[e]=n),FF&&(FF.functions[e]=Fk+e),this)}function FM(e,t){let n;let r={};try{e=tI(e)?e:tX(e)+"",n=k3(e)}catch(t){ej("Expression parse error: "+e)}n.visit(e=>{if(e.type!==kd)return;let n=e.callee.name,i=FD.visitors[n];i&&i(n,e.arguments,t,r)});let i=FF(n);return i.globals.forEach(e=>{let n="$"+e;!tM(r,n)&&t.getSignal(e)&&(r[n]=t.signalRef(e))}),{$expr:tC({code:i.code},t.options.ast?{ast:n}:null),$fields:i.fields,$params:r}}F$("bandwidth",function(e,t){let n=Fl(e,(t||this).context);return n&&n.bandwidth?n.bandwidth():0},Fa),F$("copy",function(e,t){let n=Fl(e,(t||this).context);return n?n.copy():void 0},Fa),F$("domain",function(e,t){let n=Fl(e,(t||this).context);return n?n.domain():[]},Fa),F$("range",function(e,t){let n=Fl(e,(t||this).context);return n&&n.range?n.range():[]},Fa),F$("invert",function(e,t,n){let r=Fl(e,(n||this).context);return r?e2(t)?(r.invertRange||r.invert)(t):(r.invert||r.invertExtent)(t):void 0},Fa),F$("scale",function(e,t,n){let r=Fl(e,(n||this).context);return r?r(t):void 0},Fa),F$("gradient",function(e,t,n,r,i){e=Fl(e,(i||this).context);let a=hZ(t,n),o=e.domain(),l=o[0],u=e8(o),s=eW;return u-l?s=hx(e,l,u):e=(e.interpolator?hp("sequential")().interpolator(e.interpolator()):hp("linear")().interpolate(e.interpolate()).range(e.range())).domain([l=0,u=1]),e.ticks&&(o=e.ticks(+r||15),l!==o[0]&&o.unshift(l),u!==e8(o)&&o.push(u)),o.forEach(t=>a.stop(s(t),e(t))),a},Fa),F$("geoArea",Fs,Fa),F$("geoBounds",Fc,Fa),F$("geoCentroid",Ff,Fa),F$("geoShape",function(e,t,n){let r=Fl(e,(n||this).context);return function(e){return r?r.path.context(e)(t):""}},Fa),F$("indata",function(e,t,n){let r=this.context.data[e]["index:"+t],i=r?r.value.get(n):void 0;return i?i.count:i},function(e,t,n,r){t[0].type!==kh&&ej("First argument to indata must be a string literal."),t[1].type!==kh&&ej("Second argument to indata must be a string literal.");let i=t[0].value,a=t[1].value,o="@"+a;tM(o,r)||(r[o]=n.getData(i).indataRef(n,a))}),F$("data",D6,Fi),F$("treePath",function(e,t,n){let r=Fx(e,this),i=r[t],a=r[n];return i&&a?i.path(a).map(Fb):void 0},Fi),F$("treeAncestors",function(e,t){let n=Fx(e,this)[t];return n?n.ancestors().map(Fb):void 0},Fi),F$("vlSelectionTest",function(e,t,n){for(var r,i,a,o,l,u=this.context.data[e],s=u?u.values.value:[],c=u?u[DQ]&&u[DQ].value:void 0,f=n===DV,h=s.length,d=0;d<h;++d)if(r=s[d],c&&f){if(-1===(a=(i=i||{})[o=r.unit]||0))continue;if(l=DK(t,r),i[o]=l?-1:++a,l&&1===c.size)return!0;
14if(!l&&a===c.get(o).count)return!1}else if(f^(l=DK(t,r)))return l;return h&&f},D5),F$("vlSelectionIdTest",function(e,t,n){let r=this.context.data[e],i=r?r.values.value:[],a=r?r[DQ]&&r[DQ].value:void 0,o=DJ(t),l=D1(i,o);if(l===i.length||DJ(i[l])!==o)return!1;if(a&&n===DV){if(1===a.size)return!0;if(D2(i,o)-l<a.size)return!1}return!0},D5),F$("vlSelectionResolve",function(e,t,n,r){for(var i,a,o,l,u,s,c,f,h,d,p,g,m=this.context.data[e],y=m?m.values.value:[],v={},b={},x={},_=y.length,w=0;w<_;++w)if(l=(i=y[w]).unit,a=i.fields,o=i.values,a&&o){for(p=0,g=a.length;p<g;++p)f=(c=v[(u=a[p]).field]||(v[u.field]={}))[l]||(c[l]=[]),x[u.field]=h=u.type.charAt(0),d=D3[`${h}_union`],c[l]=d(f,tm(o[p]));n&&(f=b[l]||(b[l]=[])).push(tm(o).reduce((e,t,n)=>(e[a[n].field]=t,e),{}))}else u=DZ,s=DJ(i),(f=(c=v[u]||(v[u]={}))[l]||(c[l]=[])).push(s),n&&(f=b[l]||(b[l]=[])).push({[DZ]:s});return t=t||DX,v[DZ]?v[DZ]=D3[`${DZ}_${t}`](...Object.values(v[DZ])):Object.keys(v).forEach(e=>{v[e]=Object.keys(v[e]).map(t=>v[e][t]).reduce((n,r)=>void 0===n?r:D3[`${x[e]}_${t}`](n,r))}),y=Object.keys(b),n&&y.length&&(v[r?"vlPoint":"vlMulti"]=t===DX?{or:y.reduce((e,t)=>(e.push(...b[t]),e),[])}:{and:y.map(e=>({or:b[e]}))}),v},D5),F$("vlSelectionTuples",function(e,t){return e.map(e=>tC(t.fields?{values:t.fields.map(t=>(t.getter||(t.getter=eU(t.field)))(e.datum))}:{[DZ]:DJ(e.datum)},t))});let FS=t0(["rule"]),FN=t0(["group","image","rect"]);function FO(e){return(e+"").toLowerCase()}function FB(e,t,n){n.endsWith(";")||(n="return("+n+");");let r=Function(...t.concat(n));return e&&e.functions?r.bind(e.functions):r}var FT={operator:(e,t)=>FB(e,["_"],t.code),parameter:(e,t)=>FB(e,["datum","_"],t.code),event:(e,t)=>FB(e,["event"],t.code),handler:(e,t)=>{let n=`var datum=event.item&&event.item.datum;return ${t.code};`;return FB(e,["_","event"],n)},encode:(e,t)=>{let n;let{marktype:r,channels:i}=t,a="var o=item,datum=o.datum,m=0,$;";for(let e in i){let t="o["+tX(e)+"]";a+=`$=${i[e].code};if(${t}!==$)${t}=$,m=1;`}return FB(e,["item","_"],a+=(n="",FS[r]||(i.x2&&(i.x?(FN[r]&&(n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),n+="o.width=o.x2-o.x;"):n+="o.x=o.x2-(o.width||0);"),i.xc&&(n+="o.x=o.xc-(o.width||0)/2;"),i.y2&&(i.y?(FN[r]&&(n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),n+="o.height=o.y2-o.y;"):n+="o.y=o.y2-(o.height||0);"),i.yc&&(n+="o.y=o.yc-(o.height||0)/2;")),n+"return m;"))},codegen:{get(e){let t=`[${e.map(tX).join("][")}]`,n=Function("_",`return _${t};`);return n.path=t,n},comparator(e,t){let n;let r=(e,r)=>{var i,a,o;let l,u;let s=t[r];return e.path?(l=`a${e.path}`,u=`b${e.path}`):((n=n||{})["f"+r]=e,l=`this.f${r}(a)`,u=`this.f${r}(b)`),i=l,a=u,o=-s,`((u = ${i}) < (v = ${a}) || u == null) && v != null ? ${o} 15 : (u > v || v == null) && u != null ? ${s} 16 : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${o} 17 : v !== v && u === u ? ${s} : `},i=Function("a","b","var u, v; return "+e.map(r).join("")+"0;");return n?i.bind(n):i}}};function Fz(e,t,n){if(!e||!e3(e))return e;for(let r=0,i=FR.length,a;r<i;++r)if(tM(e,(a=FR[r]).key))return a.parse(e,t,n);return e}var FR=[{key:"$ref",parse:function(e,t){return t.get(e.$ref)||ej("Operator not defined: "+e.$ref)}},{key:"$key",parse:function(e,t){let n="k:"+e.$key+"_"+!!e.$flat;return t.fn[n]||(t.fn[n]=tU(e.$key,e.$flat,t.expr.codegen))}},{key:"$expr",parse:function(e,t,n){e.$params&&t.parseParameters(e.$params,n);let r="e:"+e.$expr.code;return t.fn[r]||(t.fn[r]=eB(t.parameterExpression(e.$expr),e.$fields))}},{key:"$field",parse:function(e,t){if(!e.$field)return null;let n="f:"+e.$field+"_"+e.$name;return t.fn[n]||(t.fn[n]=eU(e.$field,e.$name,t.expr.codegen))}},{key:"$encode",parse:function(e,t){let n=e.$encode,r={};for(let e in n){let i=n[e];r[e]=eB(t.encodeExpression(i.$expr),i.$fields),r[e].output=i.$output}return r}},{key:"$compare",parse:function(e,t){let n="c:"+e.$compare+"_"+e.$order,r=tm(e.$compare).map(e=>e&&e.$tupleid?a3:e);return t.fn[n]||(t.fn[n]=tb(r,e.$order,t.expr.codegen))}},{key:"$context",parse:function(e,t){return t}},{key:"$subflow",parse:function(e,t){let n=e.$subflow;return function(e,r,i){let a=t.fork().parse(n),o=a.get(n.operators[0].id),l=a.signals.parent;return l&&l.set(i),o.detachSubflow=()=>t.detach(a),o}}},{key:"$tupleid",parse:function(){return a3}}];let FL={skip:!0};function FP(e,t,n,r){return new Fj(e,t,n,r)}function Fj(e,t,n,r){this.dataflow=e,this.transforms=t,this.events=e.events.bind(e),this.expr=r||FT,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function FI(e){this.dataflow=e.dataflow,this.transforms=e.transforms,this.events=e.events,this.expr=e.expr,this.signals=Object.create(e.signals),this.scales=Object.create(e.scales),this.nodes=Object.create(e.nodes),this.data=Object.create(e.data),this.fn=Object.create(e.fn),e.functions&&(this.functions=Object.create(e.functions),this.functions.context=this)}Fj.prototype=FI.prototype={fork(){let e=new FI(this);return(this.subcontext||(this.subcontext=[])).push(e),e},detach(e){this.subcontext=this.subcontext.filter(t=>t!==e);let t=Object.keys(e.nodes);
vendor: 1,473 bytes, line 17
17for(let n of t)e.nodes[n]._targets=null;for(let n of t)e.nodes[n].detach();e.nodes=null},get(e){return this.nodes[e]},set(e,t){return this.nodes[e]=t},add(e,t){let n=this,r=n.dataflow,i=e.value;if(n.set(e.id,t),"collect"===FO(e.type)&&i&&(i.$ingest?r.ingest(t,i.$ingest,i.$format):i.$request?r.preload(t,i.$request,i.$format):r.pulse(t,r.changeset().insert(i))),e.root&&(n.root=t),e.parent){let i=n.get(e.parent.$ref);i?(r.connect(i,[t]),t.targets().add(i)):(n.unresolved=n.unresolved||[]).push(()=>{i=n.get(e.parent.$ref),r.connect(i,[t]),t.targets().add(i)})}if(e.signal&&(n.signals[e.signal]=t),e.scale&&(n.scales[e.scale]=t),e.data)for(let r in e.data){let i=n.data[r]||(n.data[r]={});e.data[r].forEach(e=>i[e]=t)}},resolve(){return(this.unresolved||[]).forEach(e=>e()),delete this.unresolved,this},operator(e,t){this.add(e,this.dataflow.add(e.value,t))},transform(e,t){this.add(e,this.dataflow.add(this.transforms[FO(t)]))},stream(e,t){this.set(e.id,t)},update(e,t,n,r,i){this.dataflow.on(t,n,r,i,e.options)},operatorExpression(e){return this.expr.operator(this,e)},parameterExpression(e){return this.expr.parameter(this,e)},eventExpression(e){return this.expr.event(this,e)},handlerExpression(e){return this.expr.handler(this,e)},encodeExpression(e){return this.expr.encode(this,e)},parse:function(e){let t=this,n=e.operators||[];return e.background&&(t.background=e.background),e.eventConfig&&(t.eventConfig=e.eventConfig),e.locale&&(t.locale=e.locale),n.forEach(e=>
17t.parseOperator(e)),n.forEach(e=>t.parseOperatorParameters(e)),(e.streams||[]).forEach(e=>t.parseStream(e)),(e.updates||[]).forEach(e=>t.parseUpdate(e)),t.resolve()},parseOperator:function(e){"operator"!==FO(e.type)&&e.type?this.transform(e,e.type):this.operator(e,e.update?this.operatorExpression(e.update):null)},parseOperatorParameters:function(e){if(e.params){let t=this.get(e.id);t||ej("Invalid operator id: "+e.id),this.dataflow.connect(t,t.parameters(this.parseParameters(e.params),e.react,e.initonly))}},parseParameters:function(e,t){t=t||{};let n=this;for(let r in e){let i=e[r];t[r]=e2(i)?i.map(e=>Fz(e,n,t)):Fz(i,n,t)}return t},parseStream:function(e){var t,n=this,r=null!=e.filter?n.eventExpression(e.filter):void 0,i=null!=e.stream?n.get(e.stream):void 0;e.source?i=n.events(e.source,e.type,r):e.merge&&(i=(t=e.merge.map(e=>n.get(e)))[0].merge.apply(t[0],t.slice(1))),e.between&&(t=e.between.map(e=>n.get(e)),i=i.between(t[0],t[1])),e.filter&&(i=i.filter(r)),null!=e.throttle&&(i=i.throttle(+e.throttle)),null!=e.debounce&&(i=i.debounce(+e.debounce)),null==i&&ej("Invalid stream definition: "+JSON.stringify(e)),e.consume&&i.consume(!0),n.stream(e,i)},parseUpdate:function(e){var t=e3(t=e.source)?t.$ref:t,n=this.get(t),r=null,i=e.update,a=void 0;n||ej("Source not defined: "+e.source),r=e.target&&e.target.$expr?this.eventExpression(e.target.$expr):this.get(e.target),i&&i.$expr&&(i.$params&&(a=this.parseParameters(i.$params)),i=this.handlerExpression(i.$expr)),this.update(e,n,r,i,a)},getState:function(e){var t=this,n={};if(e.signals){var r=n.signals={};Object.keys(t.signals).forEach(n=>{let i=t.signals[n];e.signals(n,i)&&(r[n]=i.value)})}if(e.data){var i=n.data={};Object.keys(t.data).forEach(n=>{let r=t.data[n];e.data(n,r)&&(i[n]=r.input.value)})}return t.subcontext&&!1!==e.recurse&&(n.subcontext=t.subcontext.map(t=>t.getState(e))),n},setState:function(e){var t=this,n=t.dataflow,r=e.data,i=e.signals;Object.keys(i||{}).forEach(e=>{n.update(t.signals[e],i[e],FL)}),Object.keys(r||{}).forEach(e=>{n.pulse(t.data[e].input,n.changeset().remove(eG).insert(r[e]))}),(e.subcontext||[]).forEach((e,n)=>{let r=t.subcontext[n];r&&r.setState(e)})}};var FU,Fq,FW,FH,FY,FG,FV,FX,FZ,FJ,FQ,FK,F0,F1,F2,F3,F5,F6,F4,F8,F9,F7,$e,$t,$n,$r,$i,$a,$o,$l=0,$u=0,$s=0,$c=0,$f=0,$h=0,$d="object"==typeof performance&&performance.now?performance:Date,$p="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function $g(){return $f||($p($m),$f=$d.now()+$h)}function $m(){$f=0}function $y(){this._call=this._time=this._next=null}function $v(){$f=($c=$d.now())+$h,$l=$u=0;try{!function(){$g(),++$l;for(var e,t=$a;t;)(e=$f-t._time)>=0&&t._call.call(void 0,e),t=t._next;--$l}()}finally{$l=0,function(){for(var e,t,n=$a,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:$a=t);$o=e,$x(r)}(),$f=0}}function $b(){var e=$d.now(),t=e-$c;t>1e3&&($h-=t,$c=e)}function $x(e){!$l&&($u&&($u=clearTimeout($u)),e-$f>24?(e<1/0&&($u=setTimeout($v,e-$d.now()-$h)),$s&&($s=clearInterval($s))):($s||($c=$d.now(),$s=setInterval($b,1e3)),$l=1,$p($v)))}function $_(e,t){e&&(null==t?e.removeAttribute("aria-label"):e.setAttribute("aria-label",t))}$y.prototype=(function(e,t,n){var r=new $y;return r.restart(e,t,n),r}).prototype={constructor:$y,restart:function(e,t,n){if("function"!=typeof e)throw TypeError("callback is not a function");n=(null==n?$g():+n)+(null==t?0:+t),this._next||$o===this||($o?$o._next=this:$a=this,$o=this),this._call=e,this._time=n,$x()},stop:function(){this._call&&(this._call=null,this._time=1/0,$x())}};let $w="default";function $A(e,t){let n=e.globalCursor()?"undefined"!=typeof document&&document.body:e.container();if(n)return null==t?n.style.removeProperty("cursor"):n.style.cursor=t}function $E(e,t){var n=e._runtime.data;return tM(n,t)||ej("Unrecognized data set: "+t),n[t]}function $k(e,t){a7(t)||ej("Second argument to changes must be a changeset.");let n=$E(this,e);return n.modified=!0,this.pulse(n.input,t)}function $C(e){var t=e.padding();return Math.max(0,e._viewWidth+t.left+t.right)}function $D(e){var t=e.padding();return Math.max(0,e._viewHeight+t.top+t.bottom)}function $F(e){var t=e.padding(),n=e._origin;return[t.left+n[0],t.top+n[1]]}let $$="view",$M={trap:!1};function $S(e,t,n,r){e._eventListeners.push({type:n,sources:tm(t),handler:r})}function $N(e,t,n){let r=e._eventConfig&&e._eventConfig[t];return!(!1===r||e3(r)&&!r[n])||(e.warn(`Blocked ${t} ${n} event listener.`),!1)}function $O(e){return e.item}function $B(e){return e.item.mark.source}function $T(e){return function(t,n){return n.vega.view().changeset().encode(n.item,e)}}function $z(e,t,n){let r=document.createElement(e);for(let e in t)r.setAttribute(e,t[e]);return null!=n&&(r.textContent=n),r}function $R(e,t,n,r){let i=n.event||"input",a=()=>e.update(t.value);r.signal(n.signal,t.value),t.addEventListener(i,a),$S(r,t,i,a),e.set=e=>{t.value=e,t.dispatchEvent("undefined"!=typeof Event?new Event(i):{type:i})}}function $L(e,t,n,r){let i=r.signal(n.signal),a=$z("div",{class:"vega-bind"}),o="radio"===n.input?a:a.appendChild($z("label"));o.appendChild($z("span",{class:"vega-bind-name"},n.name||n.signal)),t.appendChild(a);let l=$P;switch(n.input){case"checkbox":l=$j;break;case"select":l=$I;break;case"radio":l=$U;break;case"range":l=$q}l(e,o,n,i)}function $P(e,t,n,r){let i=$z("input");for(let e in n)"signal"!==e&&"element"!==e&&i.setAttribute("input"===e?"type":e,n[e]);i.setAttribute("name",n.signal),i.value=r,t.appendChild(i),i.addEventListener("input",()=>e.update(i.value)),e.elements=[i],e.set=e=>i.value=e}function $j(e,t,n,r){let i={type:"checkbox",name:n.signal};r&&(i.checked=!0);let a=$z("input",i);t.appendChild(a),a.addEventListener("change",()=>e.update(a.checked)),e.elements=[a],e.set=e=>a.checked=!!e||null}function $I(e,t,n,r){let i=$z("select",{name:n.signal}),a=n.labels||[];n.options.forEach((e,t)=>{let n={value:e};$W(e,r)&&(n.selected=!0),i.appendChild($z("option",n,(a[t]||e)+""))}),t.appendChild(i),i.addEventListener("change",()=>{e.update(n.options[i.selectedIndex])}),e.elements=[i],e.set=e=>{for(let t=0,r=n.options.length;t<r;++t)if($W(n.options[t],e)){i.selectedIndex=t;return}}}function $U(e,t,n,r){let i=$z("span",{class:"vega-bind-radio"}),a=n.labels||[];t.appendChild(i),e.elements=n.options.map((t,o)=>{let l={type:"radio",name:n.signal,value:t};$W(t,r)&&(l.checked=!0);let u=$z("input",l);u.addEventListener("change",()=>e.update(t));let s=$z("label",{},(a[o]||t)+"");return s.prepend(u),i.appendChild(s),u}),e.set=t=>{let n=e.elements,r=n.length;for(let e=0;e<r;++e)$W(n[e].value,t)&&(n[e].checked=!0)}}function $q(e,t,n,r){r=void 0!==r?r:(+n.max+ +n.min)/2;let i=null!=n.max?n.max:Math.max(100,+r)||100,a=n.min||Math.min(0,i,+r)||0,o=n.step||function(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?kf(t,e,n):kf(e,t,n);return(r?-1:1)*(i<0?-(1/i):i)}(a,i,100),l=$z("input",{type:"range",name:n.signal,min:a,max:i,step:o});l.value=r;let u=$z("span",{},+r);t.appendChild(l),t.appendChild(u);let s=()=>{u.textContent=l.value,e.update(+l.value)};l.addEventListener("input",s),l.addEventListener("change",s),e.elements=[l],e.set=e=>{l.value=e,u.textContent=e}}function $W(e,t){return e===t||e+""==t+""}function $H(e,t,n,r,i,a){return(t=t||new r(e.loader())).initialize(n,$C(e),$D(e),$F(e),i,a).background(e.background())}function $Y(e,t){return t?function(){try{t.apply(this,arguments)}catch(t){e.error(t)}}:null}function $G(e,t,n){if("string"==typeof t){if("undefined"==typeof document)return e.error("DOM document instance not found."),null;if(!(t=document.querySelector(t)))return e.error("Signal bind element not found: "+t),null}if(t&&n)try{t.textContent=""}catch(n){t=null,e.error(n)}return t}let $V=e=>+e||0,$X=e=>({top:e,bottom:e,left:e,right:e});function $Z(e){return e3(e)?{top:$V(e.top),bottom:$V(e.bottom),left:$V(e.left),right:$V(e.right)}:$X($V(e))}async function $J(e,t,n,r){let i=mx(t),a=i&&i.headless;return a||ej("Unrecognized renderer type: "+t),await e.runAsync(),$H(e,null,null,a,n,r).renderAsync(e._scenegraph.root)}var $Q="width",$K="height",$0="padding",$1={skip:!0};function $2(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===$0?r.left+r.right:0)}function $3(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===$0?r.top+r.bottom:0)}function $5(e,t){return t.modified&&e2(t.input.value)&&e.indexOf("_:vega:_")}function $6(e,t){return!("parent"===e||t instanceof o$.proxy)}function $4(e,t,n,r){let i=e.element();i&&i.setAttribute("title",null==r?"":e2(r)?$8(r):e3(r)&&!tR(r)?Object.keys(r).map(e=>{let t=r[e];return e+": "+(e2(t)?$8(t):$9(t))}).join("\n"):r+"")}function $8(e){return"["+e.map($9).join(", ")+"]"}function $9(e){return e2(e)?"[…]":e3(e)&&!tR(e)?"{…}":e}function $7(e,t){let n=this;if(t=t||{},oC.call(n),t.loader&&n.loader(t.loader),t.logger&&n.logger(t.logger),null!=t.logLevel&&n.logLevel(t.logLevel),t.locale||e.locale){let r=tC({},e.locale,t.locale);n.locale(a_(r.number,r.time))}n._el=null,n._elBind=null,n._renderType=t.renderer||mv.Canvas,n._scenegraph=new gc;let r=n._scenegraph.root;n._renderer=null,n._tooltip=t.tooltip||$4,n._redraw=!0,n._handler=new gO().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=function(e){let t=tC({defaults:{}},e),n=(e,t)=>{t.forEach(t=>{e2(e[t])&&(e[t]=t0(e[t]))})};
17return n(t.defaults,["prevent","allow"]),n(t,["view","window","selector"]),t}(e.eventConfig),n.globalCursor(n._eventConfig.globalCursor);let i=FP(n,o$,FA,t.expr).parse(e);n._runtime=i,n._signals=i.signals,n._bind=(e.bindings||[]).map(e=>({state:null,param:tC({},e)})),i.root&&i.root.set(r),r.source=i.data.root.input,n.pulse(i.data.root.input,n.changeset().insert(r.items)),n._width=n.width(),n._height=n.height(),n._viewWidth=$2(n,n._width),n._viewHeight=$3(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,function(e){var t=e._signals,n=t[$Q],r=t[$K],i=t[$0];function a(){e._autosize=e._resize=1}e._resizeWidth=e.add(null,t=>{e._width=t.size,e._viewWidth=$2(e,t.size),a()},{size:n}),e._resizeHeight=e.add(null,t=>{e._height=t.size,e._viewHeight=$3(e,t.size),a()},{size:r});let o=e.add(null,a,{pad:i});e._resizeWidth.rank=n.rank+1,e._resizeHeight.rank=r.rank+1,o.rank=i.rank+1}(n),function(e){e.add(null,t=>(e._background=t.bg,e._resize=1,t.bg),{bg:e._signals.background})}(n),function(e){let t=e._signals.cursor||(e._signals.cursor=e.add({user:$w,item:null}));e.on(e.events("view","mousemove"),t,(e,n)=>{let r=t.value,i=r?tI(r)?r:r.user:$w,a=n.item&&n.item.cursor||null;return r&&i===r.user&&a==r.item?r:{user:i,item:a}}),e.add(null,function(t){let n=t.cursor,r=this.value;return tI(n)||(r=n.item,n=n.user),$A(e,n&&n!==$w?n:r||n),r},{cursor:t})}(n),n.description(e.description),t.hover&&n.hover(),t.container&&n.initialize(t.container,t.bind)}function Me(e,t){return tM(e._signals,t)?e._signals[t]:ej("Unrecognized signal name: "+tX(t))}function Mt(e,t){let n=(e._targets||[]).filter(e=>e._update&&e._update.handler===t);return n.length?n[0]:null}function Mn(e,t,n,r){let i=Mt(n,r);return i||((i=$Y(e,()=>r(t,n.value))).handler=r,e.on(n,null,i)),e}function Mr(e,t,n){let r=Mt(t,n);return r&&t._targets.remove(r),e}tB($7,oC,{async evaluate(e,t,n){if(await oC.prototype.evaluate.call(this,e,t),this._redraw||this._resize)try{if(this._renderer){if(this._resize){var r,i,a,o;this._resize=0,r=this,i=$F(r),a=$C(r),o=$D(r),r._renderer.background(r.background()),r._renderer.resize(a,o,i),r._handler.origin(i),r._resizeListeners.forEach(e=>{try{e(a,o)}catch(e){r.error(e)}})}await this._renderer.renderAsync(this._scenegraph.root)}this._redraw=!1}catch(e){this.error(e)}return n&&aK(this,n),this},dirty(e){this._redraw=!0,this._renderer&&this._renderer.dirty(e)},description(e){if(arguments.length){let t=null!=e?e+"":null;return t!==this._desc&&$_(this._el,this._desc=t),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(e,t,n){let r=Me(this,e);return 1==arguments.length?r.value:this.update(r,t,n)},width(e){return arguments.length?this.signal("width",e):this.signal("width")},height(e){return arguments.length?this.signal("height",e):this.signal("height")},padding(e){return arguments.length?this.signal("padding",$Z(e)):$Z(this.signal("padding"))},autosize(e){return arguments.length?this.signal("autosize",e):this.signal("autosize")},background(e){return arguments.length?this.signal("background",e):this.signal("background")},renderer(e){return arguments.length?(mx(e)||ej("Unrecognized renderer type: "+e),e!==this._renderType&&(this._renderType=e,this._resetRenderer()),this):this._renderType},tooltip(e){return arguments.length?(e!==this._tooltip&&(this._tooltip=e,this._resetRenderer()),this):this._tooltip},loader(e){return arguments.length?(e!==this._loader&&(oC.prototype.loader.call(this,e),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(Me(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:function(e,t,n,r,i,a){this.runAfter(o=>{let l=0;o._autosize=0,o.width()!==n&&(l=1,o.signal($Q,n,$1),o._resizeWidth.skip(!0)),o.height()!==r&&(l=1,o.signal($K,r,$1),o._resizeHeight.skip(!0)),o._viewWidth!==e&&(o._resize=1,o._viewWidth=e),o._viewHeight!==t&&(o._resize=1,o._viewHeight=t),(o._origin[0]!==i[0]||o._origin[1]!==i[1])&&(o._resize=1,o._origin=i),l&&o.run("enter"),a&&o.runAfter(e=>e.resize())},!1,1)},addEventListener(e,t,n){let r=t;return n&&!1===n.trap||((r=$Y(this,t)).raw=t),this._handler.on(e,r),this},removeEventListener(e,t){for(var n,r,i=this._handler.handlers(e),a=i.length;--a>=0;)if(r=i[a].type,n=i[a].handler,e===r&&(t===n||t===n.raw)){this._handler.off(r,n);break}return this},addResizeListener(e){let t=this._resizeListeners;return 0>t.indexOf(e)&&t.push(e),this},removeResizeListener(e){var t=this._resizeListeners,n=t.indexOf(e);return n>=0&&t.splice(n,1),this},addSignalListener(e,t){return Mn(this,e,Me(this,e),t)},removeSignalListener(e,t){return Mr(this,Me(this,e),t)},addDataListener(e,t){return Mn(this,e,$E(this,e).values,t)},removeDataListener(e,t){return Mr(this,$E(this,e).values,t)},globalCursor(e){if(!arguments.length)return this._globalCursor;if(!!e!==this._globalCursor){let t=$A(this,null);this._globalCursor=!!e,t&&$A(this,t)}return this},preventDefault(e){return arguments.length?(this._preventDefault=e,this):this._preventDefault},timer:function(e,t){var n,r,i,a;this._timers.push((n=function(t){e({timestamp:Date.now(),elapsed:t})},i=new $y,a=t,null==t?(i.restart(n,t,r),i):(i._restart=i.restart,i.restart=function(e,t,n){t=+t,n=null==n?$g():+n,i._restart(function r(o){o+=a,i._restart(r,a+=t,n),e(o)},t,n)},i.restart(n,t,r),i)))},events:function(e,t,n){var r,i=this,a=new ou(n),o=function(n,r){i.runAsync(null,()=>{var o,l,u,s,c,f,h,d;e===$$&&(l=(o=i._eventConfig.defaults).prevent,u=o.allow,!1!==l&&!0!==u&&(!0===l||!1===u||(l?l[t]:u?!u[t]:i.preventDefault())))&&n.preventDefault(),a.receive((s=n,(d=(h=i._renderer)&&h.canvas())&&(f=$F(i),c=gy(s.changedTouches?s.changedTouches[0]:s,d),c[0]-=f[0],c[1]-=f[1]),s.dataflow=i,s.item=r,s.vega=function(e,t,n){let r=t?"group"===t.mark.marktype?t:t.mark.group:null;function i(e){var n,i=r;if(e){for(n=t;n;n=n.mark.group)if(n.mark.name===e){i=n;break}}return i&&i.mark&&i.mark.interactive?i:{}}function a(e){if(!e)return n;tI(e)&&(e=i(e));let t=n.slice();for(;e;
17)t[0]-=e.x||0,t[1]-=e.y||0,e=e.mark&&e.mark.group;return t}return{view:tE(e),item:tE(t||{}),group:i,xy:a,x:e=>a(e)[0],y:e=>a(e)[1]}}(i,r,c),s))})};if("timer"===e)$N(i,"timer",t)&&i.timer(o,t);else if(e===$$)$N(i,"view",t)&&i.addEventListener(t,o,$M);else if("window"===e?$N(i,"window",t)&&"undefined"!=typeof window&&(r=[window]):"undefined"!=typeof document&&$N(i,"selector",t)&&(r=Array.from(document.querySelectorAll(e))),r){for(var l=0,u=r.length;l<u;++l)r[l].addEventListener(t,o);$S(i,r,t,o)}else i.warn("Can not resolve event source: "+e);return a},finalize:function(){var e,t,n,r=this._tooltip,i=this._timers,a=this._eventListeners;for(e=i.length;--e>=0;)i[e].stop();for(e=a.length;--e>=0;)for(t=(n=a[e]).sources.length;--t>=0;)n.sources[t].removeEventListener(n.type,n.handler);return r&&r.call(this,this._handler,null,null,null),this},hover:function(e,t){return t=[t||"update",(e=[e||"hover"])[0]],this.on(this.events("view","mouseover",$O),$B,$T(e)),this.on(this.events("view","mouseout",$O),$B,$T(t)),this},data:function(e,t){return arguments.length<2?$E(this,e).values.value:$k.call(this,e,oe().remove(eG).insert(t))},change:$k,insert:function(e,t){return $k.call(this,e,oe().insert(t))},remove:function(e,t){return $k.call(this,e,oe().remove(t))},scale:function(e){var t=this._runtime.scales;return tM(t,e)||ej("Unrecognized scale or projection: "+e),t[e].value},initialize:function(e,t){let n=this,r=n._renderType,i=n._eventConfig.bind,a=mx(r);e=n._el=e?$G(n,e,!0):null,function(e){let t=e.container();t&&(t.setAttribute("role","graphics-document"),t.setAttribute("aria-roleDescription","visualization"),$_(t,e.description()))}(n),a||n.error("Unrecognized renderer type: "+r);let o=a.handler||gO,l=e?a.renderer:a.headless;return n._renderer=l?$H(n,n._renderer,e,l):null,n._handler=function(e,t,n,r){let i=new r(e.loader(),$Y(e,e.tooltip())).scene(e.scenegraph().root).initialize(n,$F(e),e);return t&&t.handlers().forEach(e=>{i.on(e.type,e.handler)}),i}(n,n._handler,e,o),n._redraw=!0,e&&"none"!==i&&(t=t?n._elBind=$G(n,t,!0):e.appendChild($z("form",{class:"vega-bindings"})),n._bind.forEach(e=>{e.param.element&&"container"!==i&&(e.element=$G(n,e.param.element,!!e.param.input))}),n._bind.forEach(e=>{!function(e,t,n){if(!t)return;let r=n.param,i=n.state;!i&&(i=n.state={elements:null,active:!1,set:null,update:t=>{t!=e.signal(r.signal)&&e.runAsync(null,()=>{i.source=!0,e.signal(r.signal,t)})}},r.debounce&&(i.update=tk(r.debounce,i.update)));let a=null==r.input&&r.element?$R:$L;a(i,t,r,e),i.active||(e.on(e._signals[r.signal],null,()=>{i.source?i.source=!1:i.set(e.signal(r.signal))}),i.active=!0)}(n,e.element||t,e)})),n},toImageURL:async function(e,t){e!==mv.Canvas&&e!==mv.SVG&&e!==mv.PNG&&ej("Unrecognized image type: "+e);let n=await $J(this,e,t);return e===mv.SVG?function(e,t){let n=new Blob([e],{type:t});return window.URL.createObjectURL(n)}(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")},toCanvas:async function(e,t){let n=await $J(this,mv.Canvas,e,t);return n.canvas()},toSVG:async function(e){let t=await $J(this,mv.SVG,e);return t.svg()},getState:function(e){return this._runtime.getState(e||{data:$5,signals:$6,recurse:!0})},setState:function(e){return this.runAsync(null,t=>{t._trigger=!1,t._runtime.setState(e)},e=>{e._trigger=!0}),this}});let Mi=/[[\]{}]/,Ma={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};function Mo(e,t,n){return y=t||"view",v=n||Ma,Mu(e.trim()).map(function e(t){return"["===t[0]?function(t){let n=t.length,r=1,i;if((r=Ml(t,1,"]","[","]"))===n)throw"Empty between selector: "+t;if(2!==(i=Mu(t.substring(1,r))).length)throw"Between selector must have two elements: "+t;if(">"!==(t=t.slice(r+1).trim())[0])throw"Expected '>' after between selector: "+t;i=i.map(e);let a=e(t.slice(1).trim());return a.between?{between:i,stream:a}:(a.between=i,a)}(t):function(e){let t={source:y},n=[],r=[0,0],i=0,a=0,o=e.length,l=0,u,s;if("}"===e[o-1]){if((l=e.lastIndexOf("{"))>=0){try{r=function(e){let t=e.split(",");if(!e.length||t.length>2)throw e;return t.map(t=>{let n=+t;if(n!=n)throw e;return n})}(e.substring(l+1,o-1))}catch(t){throw"Invalid throttle specification: "+e}o=(e=e.slice(0,l).trim()).length}else throw"Unmatched right brace: "+e;l=0}if(!o)throw e;if("@"===e[0]&&(i=++l),(u=Ml(e,l,":"))<o&&(n.push(e.substring(a,u).trim()),a=l=++u),(l=Ml(e,l,"["))===o)n.push(e.substring(a,o).trim());else if(n.push(e.substring(a,l).trim()),s=[],(a=++l)===o)throw"Unmatched left bracket: "+e;for(;l<o;){if((l=Ml(e,l,"]"))===o)throw"Unmatched left bracket: "+e;if(s.push(e.substring(a,l).trim()),l<o-1&&"["!==e[++l])throw"Expected left bracket: "+e;a=++l}if(!(o=n.length)||Mi.test(n[o-1]))throw"Invalid event selector: "+e;return o>1?(t.type=n[1],i)?t.markname=n[0].slice(1):v[n[0]]?t.marktype=n[0]:t.source=n[0]:t.type=n[0],"!"===t.type.slice(-1)&&(t.consume=!0,t.type=t.type.slice(0,-1)),null!=s&&(t.filter=s),r[0]&&(t.throttle=r[0]),r[1]&&(t.debounce=r[1]),t}(t)})}function Ml(e,t,n,r,i){let a=e.length,o=0,l;for(;t<a;++t)if(l=e[t],o||l!==n)i&&i.indexOf(l)>=0?--o:r&&r.indexOf(l)>=0&&++o;else break;return t}function Mu(e){let t=[],n=e.length,r=0,i=0;for(;i<n;)i=Ml(e,i,",","[{","]}"),t.push(e.substring(r,i).trim()),r=++i;
17if(0===t.length)throw"Empty event selector: "+e;return t}let Ms=e=>+e||0,Mc=e=>({top:e,bottom:e,left:e,right:e}),Mf=e=>e3(e)&&!e2(e)?tC({},e):{value:e};function Mh(e,t,n,r){if(null==n)return 0;{let i=e3(n)&&!e2(n)||e2(n)&&n.length&&e3(n[0]);return i?e.update[t]=n:e[r||"enter"][t]={value:n},1}}function Md(e,t,n){for(let n in t)Mh(e,n,t[n]);for(let t in n)Mh(e,t,n[t],"update")}function Mp(e,t,n){for(let r in t)n&&tM(n,r)||(e[r]=tC(e[r]||{},t[r]));return e}function Mg(e,t){return t&&(t.enter&&t.enter[e]||t.update&&t.update[e])}let Mm="mark",My="frame",Mv="scope",Mb="legend-label";function Mx(e,t,n){e[t]=n&&n.signal?{signal:n.signal}:{value:n}}let M_=e=>tI(e)?tX(e):e.signal?`(${e.signal})`:Mk(e);function Mw(e){var t;if(null!=e.gradient)return function(e){let t=[e.start,e.stop,e.count].map(e=>null==e?null:tX(e));for(;t.length&&null==e8(t);)t.pop();return t.unshift(M_(e.gradient)),`gradient(${t.join(",")})`}(e);let n=e.signal?`(${e.signal})`:e.color?(t=e.color).c?MA("hcl",t.h,t.c,t.l):t.h||t.s?MA("hsl",t.h,t.s,t.l):t.l||t.a?MA("lab",t.l,t.a,t.b):t.r||t.g||t.b?MA("rgb",t.r,t.g,t.b):null:null!=e.field?Mk(e.field):void 0!==e.value?tX(e.value):void 0;return null!=e.scale&&(n=function(e,t){let n=M_(e.scale);return null!=e.range?t=`lerp(_range(${n}), ${+e.range})`:(void 0!==t&&(t=`_scale(${n}, ${t})`),e.band&&(t=(t?t+"+":"")+`_bandwidth(${n})`+(1==+e.band?"":"*"+ME(e.band)),e.extra&&(t=`(datum.extra ? _scale(${n}, datum.extra.value) : ${t})`)),null==t&&(t="0")),t}(e,n)),void 0===n&&(n=null),null!=e.exponent&&(n=`pow(${n},${ME(e.exponent)})`),null!=e.mult&&(n+=`*${ME(e.mult)}`),null!=e.offset&&(n+=`+${ME(e.offset)}`),e.round&&(n=`round(${n})`),n}let MA=(e,t,n,r)=>`(${e}(${[t,n,r].map(Mw).join(",")})+'')`;function ME(e){return e3(e)?"("+Mw(e)+")":e}function Mk(e){return function e(t){let n,r,i;if(t.signal)n="datum",i=t.signal;else if(t.group||t.parent){for(r=Math.max(1,t.level||1),n="item";r-- >0;)n+=".mark.group";t.parent?(i=t.parent,n+=".datum"):i=t.group}else t.datum?(n="datum",i=t.datum):ej("Invalid field reference: "+tX(t));return t.signal||(i=tI(i)?eI(i).map(tX).join("]["):e(i)),n+"["+i+"]"}(e3(e)?e:{datum:e})}function MC(e,t,n,r,i,a){let o={};for(let l in(a=a||{}).encoders={$encode:o},e=function(e,t,n,r,i){let a,o,l;let u={},s={};for(o in o="lineBreak","text"!==t||null==i[o]||Mg(o,e)||Mx(u,o,i[o]),("legend"==n||String(n).startsWith("axis"))&&(n=null),l=n===My?i.group:n===Mm?tC({},i.mark,i[t]):null)Mg(o,e)||("fill"===o||"stroke"===o)&&(Mg("fill",e)||Mg("stroke",e))||Mx(u,o,l[o]);for(o in tm(r).forEach(t=>{let n=i.style&&i.style[t];for(let t in n)Mg(t,e)||Mx(u,t,n[t])}),e=tC({},e),u)(l=u[o]).signal?(a=a||{})[o]=l:s[o]=l;return e.enter=tC(s,e.enter),a&&(e.update=tC(a,e.update)),e}(e,t,n,r,i.config))o[l]=function(e,t,n,r){let i={},a={};for(let t in e)null!=e[t]&&(i[t]=function(e,t,n,r){let i=FM(e,t);return i.$fields.forEach(e=>r[e]=1),tC(n,i.$params),i.$expr}(function(e){let t;return e2(e)?(t="",e.forEach(e=>{let n=Mw(e);t+=e.test?`(${e.test})?${n}:`:n}),":"===e8(t)&&(t+="null"),t):Mw(e)}(e[t]),r,n,a));return{$expr:{marktype:t,channels:i},$fields:Object.keys(a),$output:Object.keys(e)}}(e[l],t,a,i);return a}let MD=["value","update","init","react","bind"];function MF(e,t){ej(e+' for "outer" push: '+tX(t))}function M$(e,t){let n=e.name;if("outer"===e.push)t.signals[n]||MF("No prior signal definition",n),MD.forEach(t=>{void 0!==e[t]&&MF("Invalid property ",t)});else{let r=t.addSignal(n,e.value);!1===e.react&&(r.react=!1),e.bind&&t.addBinding(n,e.bind)}}function MM(e,t,n,r){this.id=-1,this.type=e,this.value=t,this.params=n,r&&(this.parent=r)}function MS(e,t,n,r){return new MM(e,t,n,r)}function MN(e,t){return MS("operator",e,t)}function MO(e){let t={$ref:e.id};return e.id<0&&(e.refs=e.refs||[]).push(t),t}function MB(e,t){return t?{$field:e,$name:t}:{$field:e}}let MT=MB("key");function Mz(e,t){return{$compare:e,$order:t}}function MR(e,t){return(e&&e.signal?"$"+e.signal:e||"")+(e&&t?"_":"")+(t&&t.signal?"$"+t.signal:t||"")}let ML="scope",MP="view";function Mj(e){return e&&e.signal}function MI(e){if(Mj(e))return!0;if(e3(e)){for(let t in e)if(MI(e[t]))return!0}return!1}function MU(e,t){return null!=e?e:t}function Mq(e){return e&&e.signal||e}let MW="timer";function MH(e,t){let n=e.merge?MY:e.stream?MG:e.type?MV:ej("Invalid stream specification: "+tX(e));return n(e,t)}function MY(e,t){let n=e.merge.map(e=>MH(e,t)),r=MX({merge:n},e,t);return t.addStream(r).id}function MG(e,t){let n=MH(e.stream,t),r=MX({stream:n},e,t);return t.addStream(r).id}function MV(e,t){let n;if(e.type===MW)n=t.event(MW,e.throttle),e={between:e.between,filter:e.filter};else{var r;n=t.event((r=e.source)===ML?MP:r||MP,e.type)}let i=MX({stream:n},e,t);return 1===Object.keys(i).length?n:t.addStream(i).id}function MX(e,t,n){let r=t.between;return r&&(2!==r.length&&ej('Stream "between" parameter must have 2 entries: '+tX(t)),e.between=[MH(r[0],n),MH(r[1],n)]),r=t.filter?[].concat(t.filter):[],(t.marktype||t.markname||t.markrole)&&r.push(function(e,t,n){let r="event.item";return r+(e&&"*"!==e?"&&"+r+".mark.marktype==='"+e+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(t?"&&"+r+".mark.name==='"+t+"'":"")}(t.marktype,t.markname,t.markrole)),t.source===ML&&r.push("inScope(event.item)"),r.length&&(e.filter=FM("("+r.join(")&&(")+")",
17n).$expr),null!=(r=t.throttle)&&(e.throttle=+r),null!=(r=t.debounce)&&(e.debounce=+r),t.consume&&(e.consume=!0),e}let MZ={code:"_.$value",ast:{type:"Identifier",value:"value"}},MJ=e=>(t,n,r)=>MS(e,n,t||void 0,r),MQ=MJ("aggregate"),MK=MJ("axisticks"),M0=MJ("bound"),M1=MJ("collect"),M2=MJ("compare"),M3=MJ("datajoin"),M5=MJ("encode"),M6=MJ("expression"),M4=MJ("facet"),M8=MJ("field"),M9=MJ("key"),M7=MJ("legendentries"),Se=MJ("load"),St=MJ("mark"),Sn=MJ("multiextent"),Sr=MJ("multivalues"),Si=MJ("overlap"),Sa=MJ("params"),So=MJ("prefacet"),Sl=MJ("projection"),Su=MJ("proxy"),Ss=MJ("relay"),Sc=MJ("render"),Sf=MJ("scale"),Sh=MJ("sieve"),Sd=MJ("sortitems"),Sp=MJ("viewlayout"),Sg=MJ("values"),Sm=0,Sy={min:"min",max:"max",count:"sum"};function Sv(e,t){return e3(e)?e.signal?t.signalRef(e.signal):ej("Unsupported object: "+tX(e)):e}function Sb(e,t){return e.signal?t.signalRef(e.signal):e.map(e=>Sv(e,t))}function Sx(e){ej("Can not find data set: "+tX(e))}function S_(e,t,n){if(!e){(null!=t.domainMin||null!=t.domainMax)&&ej("No scale domain defined for domainMin/domainMax to override.");return}return e.signal?n.signalRef(e.signal):(e2(e)?Sw:e.fields?SE:SA)(e,t,n)}function Sw(e,t,n){return e.map(e=>Sv(e,n))}function SA(e,t,n){let r=n.getData(e.data);return r||Sx(e.data),hg(t.type,ha)?r.valuesRef(n,e.field,SC(e.sort,!1)):hg(t.type,f8)?r.domainRef(n,e.field):r.extentRef(n,e.field)}function SE(e,t,n){let r=e.data,i=e.fields.reduce((e,t)=>(t=tI(t)?{data:r,field:t}:e2(t)||t.signal?function(e,t){let n="_:vega:_"+Sm++,r=M1({});if(e2(e))r.value={$ingest:e};else if(e.signal){let i="setdata("+tX(n)+","+e.signal+")";r.params.input=t.signalRef(i)}return t.addDataPipeline(n,[r,Sh({})]),{data:n,field:"data"}}(t,n):t,e.push(t),e),[]);return(hg(t.type,ha)?Sk:hg(t.type,f8)?SD:SF)(e,n,i)}function Sk(e,t,n){let r,i;let a=SC(e.sort,!0),o=n.map(e=>{let n=t.getData(e.data);return n||Sx(e.data),n.countsRef(t,e.field,a)}),l={groupby:MT,pulse:o};a&&(r=a.op||"count",i=a.field?MR(r,a.field):"count",l.ops=[Sy[r]],l.fields=[t.fieldRef(i)],l.as=[i]),r=t.add(MQ(l));let u=t.add(M1({pulse:MO(r)}));return i=t.add(Sg({field:MT,sort:t.sortRef(a),pulse:MO(u)})),MO(i)}function SC(e,t){return e&&(e.field||e.op?e.field||"count"===e.op?t&&e.field&&e.op&&!Sy[e.op]&&ej("Multiple domain scales can not be sorted using "+e.op):ej("No field provided for sort aggregate op: "+e.op):e3(e)?e.field="key":e={field:"key"}),e}function SD(e,t,n){let r=n.map(e=>{let n=t.getData(e.data);return n||Sx(e.data),n.domainRef(t,e.field)});return MO(t.add(Sr({values:r})))}function SF(e,t,n){let r=n.map(e=>{let n=t.getData(e.data);return n||Sx(e.data),n.extentRef(t,e.field)});return MO(t.add(Sn({extents:r})))}function S$(e,t,n){return e2(e)?e.map(e=>S$(e,t,n)):e3(e)?e.signal?n.signalRef(e.signal):"fit"===t?e:ej("Unsupported parameter object: "+tX(e)):e}let SM="left",SS="right",SN="bottom",SO="center",SB="index",ST="label",Sz="perc",SR="value",SL="guide-label",SP="guide-title",Sj="symbol",SI="gradient",SU="discrete",Sq="size",SW=[Sq,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],SH={name:1,style:1,interactive:1},SY={value:0},SG={value:1},SV="group",SX="rect",SZ="rule",SJ="text";function SQ(e){return e.type=SV,e.interactive=e.interactive||!1,e}function SK(e,t){let n=(n,r)=>MU(e[n],MU(t[n],r));return n.isVertical=n=>"vertical"===MU(e.direction,t.direction||(n?t.symbolDirection:t.gradientDirection)),n.gradientLength=()=>MU(e.gradientLength,t.gradientLength||t.gradientWidth),n.gradientThickness=()=>MU(e.gradientThickness,t.gradientThickness||t.gradientHeight),n.entryColumns=()=>MU(e.columns,MU(t.columns,+n.isVertical(!0))),n}function S0(e,t){let n=t&&(t.update&&t.update[e]||t.enter&&t.enter[e]);return n&&n.signal?n:n?n.value:null}function S1(e,t,n){return`item.anchor === 'start' ? ${e} : item.anchor === 'end' ? ${t} : ${n}`}let S2=S1(tX(SM),tX(SS),tX(SO));function S3(e,t){return t?(e.name=t.name,e.style=t.style||e.style,e.interactive=!!t.interactive,e.encode=Mp(e.encode,t,SH)):e.interactive=!1,e}let S5=`datum.${Sz}<=0?"${SM}":datum.${Sz}>=1?"${SS}":"${SO}"`,S6=`datum.${Sz}<=0?"${SN}":datum.${Sz}>=1?"top":"middle"`;function S4(e,t,n,r){let i=SK(e,t),a=i.isVertical(),o=Mf(i.gradientThickness()),l=i.gradientLength(),u=i("labelOverlap"),s,c,f,h,d="",p={enter:s={opacity:SY},update:c={opacity:SG,text:{field:ST}},exit:{opacity:SY}}
17;return Md(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:MU(e.labelLimit,t.gradientLabelLimit)}),a?(s.align={value:"left"},s.baseline=c.baseline={signal:S6},f="y",h="x",d="1-"):(s.align=c.align={signal:S5},s.baseline={value:"top"},f="x",h="y"),s[f]=c[f]={signal:d+"datum."+Sz,mult:l},s[h]=c[h]=o,o.offset=MU(e.labelOffset,t.gradientLabelOffset)||0,S3({type:SJ,role:Mb,style:SL,key:SR,from:r,encode:p,overlap:u=u?{separation:i("labelSeparation"),method:u,order:"datum."+SB}:void 0},n)}let S8='item.orient === "left"',S9='item.orient === "right"',S7=`(${S8} || ${S9})`,Ne=`datum.vgrad && ${S7}`,Nt=S1('"top"','"bottom"','"middle"'),Nn=S1('"right"','"left"','"center"'),Nr=`datum.vgrad && ${S9} ? (${Nn}) : (${S7} && !(datum.vgrad && ${S8})) ? "left" : ${S2}`,Ni=`item._anchor || (${S7} ? "middle" : "start")`,Na=`${Ne} ? (${S8} ? -90 : 90) : 0`,No=`${S7} ? (datum.vgrad ? (${S9} ? "bottom" : "top") : ${Nt}) : "top"`;function Nl(e){return e3(e)&&e.signal?e.signal:tX(e)}function Nu(e){let t=e.role||"";return t.indexOf("axis")&&t.indexOf("legend")&&t.indexOf("title")?e.type===SV?Mv:t||Mm:t}function Ns(e,t){let n=oM(e.type);n||ej("Unrecognized transform type: "+tX(e.type));let r=MS(n.type.toLowerCase(),null,Nc(n,e,t));return e.signal&&t.addSignal(e.signal,t.proxy(r)),r.metadata=n.metadata||{},r}function Nc(e,t,n){let r={},i=e.params.length;for(let a=0;a<i;++a){let i=e.params[a];r[i.name]=function(e,t,n){let r=e.type,i=t[e.name];if("index"===r)return tI(t.from)||ej('Lookup "from" parameter must be a string literal.'),n.getData(t.from).lookupRef(n,t.key);if(void 0===i){e.required&&ej("Missing required "+tX(t.type)+" parameter: "+tX(e.name));return}return"param"===r?function(e,t,n){let r=t[e.name];return e.array?(e2(r)||ej("Expected an array of sub-parameters. Instead: "+tX(r)),r.map(t=>Nh(e,t,n))):Nh(e,r,n)}(e,t,n):"projection"===r?n.projectionRef(t[e.name]):e.array&&!Mj(i)?i.map(t=>Nf(e,t,n)):Nf(e,i,n)}(i,t,n)}return r}function Nf(e,t,n){let r=e.type;if(Mj(t))return Nm(r)?ej("Expression references can not be signals."):Ny(r)?n.fieldRef(t):Nv(r)?n.compareRef(t):n.signalRef(t.signal);{let i=e.expr||Ny(r);return i&&Nd(t)?n.exprRef(t.expr,t.as):i&&Np(t)?MB(t.field,t.as):Nm(r)?FM(t,n):Ng(r)?MO(n.getData(t).values):Ny(r)?MB(t):Nv(r)?n.compareRef(t):t}}function Nh(e,t,n){let r;let i=e.params.length;for(let n=0;n<i;++n){for(let i in(r=e.params[n]).key)if(r.key[i]!==t[i]){r=null;break}if(r)break}r||ej("Unsupported parameter: "+tX(t));let a=tC(Nc(r,t,n),r.key);return MO(n.add(Sa(a)))}let Nd=e=>e&&e.expr,Np=e=>e&&e.field,Ng=e=>"data"===e,Nm=e=>"expr"===e,Ny=e=>"field"===e,Nv=e=>"compare"===e;function Nb(e,t){return e.$ref?e:e.data&&e.data.$ref?e.data:MO(t.getData(e.data).output)}function Nx(e,t,n,r,i){this.scope=e,this.input=t,this.output=n,this.values=r,this.aggregate=i,this.index={}}function N_(e,t,n){let r;let i=MR(n.op,n.field);if(t.ops){for(let e=0,n=t.as.length;e<n;++e)if(t.as[e]===i)return}else t.ops=["count"],t.fields=[null],t.as=["count"];n.op&&(t.ops.push((r=n.op.signal)?e.signalRef(r):n.op),t.fields.push(e.fieldRef(n.field)),t.as.push(i))}function Nw(e,t,n,r,i,a,o){let l=t[n]||(t[n]={}),u=e3(a)?("descending"===a.order?"-":"+")+MR(a.op,a.field):"",s=tI(i)?i:null,c,f;if(null!=s&&(e=t.scope,s+=u?"|"+u:"",c=l[s]),!c){let n=a?{field:MT,pulse:t.countsRef(e,i,a)}:{field:e.fieldRef(i),pulse:MO(t.output)};u&&(n.sort=e.sortRef(a)),f=e.add(MS(r,void 0,n)),o&&(t.index[i]=f),c=MO(f),null!=s&&(l[s]=c)}return c}function NA(e,t,n){let r=e.remove,i=e.insert,a=e.toggle,o=e.modify,l=e.values,u=t.add(MN()),s="if("+e.trigger+',modify("'+n+'",'+[i,r,a,o,l].map(e=>null==e?"null":e).join(",")+"),0)",c=FM(s,t);u.update=c.$expr,u.params=c.$params}function NE(e,t){var n,r,i;let a,o,l,u,s,c;let f=Nu(e),h=e.type===SV,d=e.from&&e.from.facet,p=e.overlap,g=e.layout||f===Mv||f===My,m,y,v,b,x,_,w,A=f===Mm||g||d,E=((n=e.from)?(a=n.facet)&&(h||ej("Only group marks can be faceted."),null!=a.field?u=s=Nb(a,t):(n.data?s=MO(t.getData(n.data).aggregate):((l=Ns(tC({type:"aggregate",groupby:tm(
17a.groupby)},a.aggregate),t)).params.key=t.keyRef(a.groupby),l.params.pulse=Nb(a,t),u=s=MO(t.add(l))),o=t.keyRef(a.groupby,!0))):u=MO(t.add(M1(null,[{}]))),u||(u=Nb(n,t)),{key:o,pulse:u,parent:s});y=t.add(M3({key:E.key||(e.key?MB(e.key):void 0),pulse:E.pulse,clean:!h}));let k=MO(y);y=v=t.add(M1({pulse:k})),y=t.add(St({markdef:{marktype:e.type,name:e.name||void 0,role:e.role||Nu(e),zindex:+e.zindex||void 0,aria:e.aria,description:e.description},interactive:(r=e.interactive)&&r.signal?t.signalRef(r.signal):!1!==r,clip:(e3(i=e.clip)&&(i.signal?c=i.signal:i.path?c="pathShape("+Nl(i.path)+")":i.sphere&&(c="geoShape("+Nl(i.sphere)+', {type: "Sphere"})')),c?t.signalRef(c):!!i),context:{$context:!0},groups:t.lookup(),parent:t.signals.parent?t.signalRef("parent"):null,index:t.markpath(),pulse:MO(y)}));let C=MO(y);(y=b=t.add(M5(MC(e.encode,e.type,f,e.style,t,{mod:!1,pulse:C})))).params.parent=t.encode(),e.transform&&e.transform.forEach(e=>{let n=Ns(e,t),r=n.metadata;(r.generates||r.changes)&&ej("Mark transforms should not generate new data."),r.nomod||(b.params.mod=!0),n.params.pulse=MO(y),t.add(y=n)}),e.sort&&(y=t.add(Sd({sort:t.compareRef(e.sort),pulse:MO(y)})));let D=MO(y);(d||g)&&(_=MO(g=t.add(Sp({layout:t.objectProperty(e.layout),legends:t.legends,mark:C,pulse:D}))));let F=t.add(M0({mark:C,pulse:_||D}));w=MO(F),h&&(A&&((m=t.operators).pop(),g&&m.pop()),t.pushState(D,_||w,k),d?function(e,t,n){let r;let i=e.from.facet,a=i.name,o=Nb(i,t);i.name||ej("Facet must have a name: "+tX(i)),i.data||ej("Facet must reference a data set: "+tX(i)),i.field?r=t.add(So({field:t.fieldRef(i.field),pulse:o})):i.groupby?r=t.add(M4({key:t.keyRef(i.groupby),group:MO(t.proxy(n.parent)),pulse:o})):ej("Facet must specify groupby or field: "+tX(i));let l=t.fork(),u=l.add(M1()),s=l.add(Sh({pulse:MO(u)}));l.addData(a,new Nx(l,u,u,s)),l.addSignal("parent",null),r.params.subflow={$subflow:l.parse(e).toRuntime()}}(e,t,E):A?function(e,t,n){let r=t.add(So({pulse:n.pulse})),i=t.fork();i.add(Sh()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(e).toRuntime()}}(e,t,E):t.parse(e),t.popState(),A&&(g&&m.push(g),m.push(F))),p&&(w=function(e,t,n){let r=e.method,i=e.bound,a=e.separation,o={separation:Mj(a)?n.signalRef(a.signal):a,method:Mj(r)?n.signalRef(r.signal):r,pulse:t};if(e.order&&(o.sort=n.compareRef({field:e.order})),i){let e=i.tolerance;o.boundTolerance=Mj(e)?n.signalRef(e.signal):+e,o.boundScale=n.scaleRef(i.scale),o.boundOrient=i.orient}return MO(n.add(Si(o)))}(p,w,t));let $=t.add(Sc({pulse:w})),M=t.add(Sh({pulse:MO($)},void 0,t.parent()));null!=e.name&&(x=e.name,t.addData(x,new Nx(t,v,$,M)),e.on&&e.on.forEach(e=>{(e.insert||e.remove||e.toggle)&&ej("Marks only support modify triggers."),NA(e,t,x)}))}function Nk(e,t,n){return t[e]?`scale("${t[e]}",datum)`:S0(e,n[0].encode)}Nx.fromEntries=function(e,t){let n=t.length,r=t[n-1],i=t[n-2],a=t[0],o=null,l=1;for(a&&"load"===a.type&&(a=t[1]),e.add(t[0]);l<n;++l)t[l].params.pulse=MO(t[l-1]),e.add(t[l]),"aggregate"===t[l].type&&(o=t[l]);return new Nx(e,a,i,r,o)},Nx.prototype={countsRef(e,t,n){let r,i,a;let o=this,l=o.counts||(o.counts={}),u=tI(t)?t:null;return null!=u&&(e=o.scope,r=l[u]),r?n&&n.field&&N_(e,r.agg.params,n):(a={groupby:e.fieldRef(t,"key"),pulse:MO(o.output)},n&&n.field&&N_(e,a,n),i=e.add(MQ(a)),r=e.add(M1({pulse:MO(i)})),r={agg:i,ref:MO(r)},null!=u&&(l[u]=r)),r.ref},tuplesRef(){return MO(this.values)},extentRef(e,t){return Nw(e,this,"extent","extent",t,!1)},domainRef(e,t){return Nw(e,this,"domain","values",t,!1)},valuesRef(e,t,n){return Nw(e,this,"vals","values",t,n||!0)},lookupRef(e,t){return Nw(e,this,"lookup","tupleindex",t,!1)},indataRef(e,t){return Nw(e,this,"indata","tupleindex",t,!0,!0)}};let NC=`item.orient==="${SM}"?-90:item.orient==="${SS}"?90:0`;function ND(e){let t=M1({},e);return t.metadata={source:!0},t}function NF(e,t){return Se({url:t.url?e.property(t.url):void 0,async:t.async?e.property(t.async):void 0,values:t.values?e.property(t.values):void 0,format:e.objectProperty(t.format)})}let N$=e=>e===SN||"top"===e,NM=(e,t,n)=>Mj(e)?NR(e.signal,t,n):e===SM||"top"===e?t:n,NS=(e,t,n)=>Mj(e)?NT(e.signal,t,n):N$(e)?t:n,NN=(e,t,n)=>
17Mj(e)?Nz(e.signal,t,n):N$(e)?n:t,NO=(e,t,n)=>Mj(e)?NL(e.signal,t,n):"top"===e?{value:t}:{value:n},NB=(e,t,n)=>Mj(e)?NP(e.signal,t,n):e===SS?{value:t}:{value:n},NT=(e,t,n)=>Nj(`${e} === 'top' || ${e} === '${SN}'`,t,n),Nz=(e,t,n)=>Nj(`${e} !== 'top' && ${e} !== '${SN}'`,t,n),NR=(e,t,n)=>NU(`${e} === '${SM}' || ${e} === 'top'`,t,n),NL=(e,t,n)=>NU(`${e} === 'top'`,t,n),NP=(e,t,n)=>NU(`${e} === '${SS}'`,t,n),Nj=(e,t,n)=>(t=null!=t?Mf(t):t,n=null!=n?Mf(n):n,NI(t)&&NI(n))?{signal:`${e} ? (${t=t?t.signal||tX(t.value):null}) : (${n=n?n.signal||tX(n.value):null})`}:[tC({test:e},t)].concat(n||[]),NI=e=>null==e||1===Object.keys(e).length,NU=(e,t,n)=>({signal:`${e} ? (${NW(t)}) : (${NW(n)})`}),Nq=(e,t,n,r,i)=>({signal:(null!=r?`${e} === '${SM}' ? (${NW(r)}) : `:"")+(null!=n?`${e} === '${SN}' ? (${NW(n)}) : `:"")+(null!=i?`${e} === '${SS}' ? (${NW(i)}) : `:"")+(null!=t?`${e} === 'top' ? (${NW(t)}) : `:"")+"(null)"}),NW=e=>Mj(e)?e.signal:null==e?null:tX(e),NH=(e,t)=>0===t?0:Mj(e)?{signal:`(${e.signal}) * ${t}`}:{value:e*t},NY=(e,t)=>{let n=e.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+t.signal}:e};function NG(e,t,n,r){let i;if(t&&tM(t,e))return t[e];if(tM(n,e))return n[e];if(e.startsWith("title")){switch(e){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=e[5].toLowerCase()+e.slice(6)}return r[SP][i]}if(e.startsWith("label")){switch(e){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=e[5].toLowerCase()+e.slice(6)}return r[SL][i]}return null}function NV(e){let t={};for(let n of e)if(n)for(let e in n)t[e]=1;return Object.keys(t)}function NX(e,t){return{scale:e.scale,range:t}}function NZ(e,t,n,r,i){return{signal:'flush(range("'+e+'"), scale("'+e+'", datum.value), '+t+","+n+","+r+","+i+")"}}function NJ(e,t,n){let r=tm(e.signals),i=tm(e.scales);return n||r.forEach(e=>M$(e,t)),tm(e.projections).forEach(e=>(function(e,t){let n=t.config.projection||{},r={};for(let n in e)"name"!==n&&(r[n]=S$(e[n],n,t));for(let e in n)null==r[e]&&(r[e]=S$(n[e],e,t));t.addProjection(e.name,r)})(e,t)),i.forEach(e=>(function(e,t){let n=e.type||"linear";hh.has(n)||ej("Unrecognized scale type: "+tX(n)),t.addScale(e.name,{type:n,domain:void 0})})(e,t)),tm(e.data).forEach(e=>(function(e,t){let n=[];e.transform&&e.transform.forEach(e=>{n.push(Ns(e,t))}),e.on&&e.on.forEach(n=>{NA(n,t,e.name)}),t.addDataPipeline(e.name,function(e,t,n){let r=[],i=null,a=!1,o=!1,l,u,s,c,f;for(e.values?Mj(e.values)||MI(e.format)?(r.push(NF(t,e)),r.push(i=ND())):r.push(i=ND({$ingest:e.values,$format:e.format})):e.url?MI(e.url)||MI(e.format)?(r.push(NF(t,e)),r.push(i=ND())):r.push(i=ND({$request:e.url,$format:e.format})):e.source&&(i=l=tm(e.source).map(e=>MO(t.getData(e).output)),r.push(null)),u=0,s=n.length;u<s;++u)f=(c=n[u]).metadata,i||f.source||r.push(i=ND()),r.push(c),f.generates&&(o=!0),f.modifies&&!o&&(a=!0),f.source?i=c:f.changes&&(i=null);return l&&(s=l.length-1,r[0]=Ss({derive:a,pulse:s?l:l[0]}),(a||s)&&r.splice(1,0,ND())),i||r.push(ND()),r.push(Sh({})),r}(e,t,n))})(e,t)),i.forEach(e=>(function(e,t){var n,r,i,a,o;let l;let u=t.getScale(e.name).params;for(l in u.domain=S_(e.domain,e,t),null!=e.range&&(u.range=function e(t,n,r){let i=n.config.range,a=t.range;if(a.signal)return n.signalRef(a.signal);if(tI(a)){if(i&&tM(i,a))return e(t=tC({},t,{range:i[a]}),n,r);"width"===a?a=[0,{signal:"width"}]:"height"===a?a=hg(t.type,ha)?[0,{signal:"height"}]:[{signal:"height"},0]:ej("Unrecognized scale range value: "+tX(a))}else if(a.scheme){r.scheme=e2(a.scheme)?Sb(a.scheme,n):Sv(a.scheme,n),a.extent&&(r.schemeExtent=Sb(a.extent,n)),a.count&&(r.schemeCount=Sv(a.count,n));return}else if(a.step){r.rangeStep=Sv(a.step,n);return}else{if(hg(t.type,ha)&&!e2(a))return S_(a,t,n);e2(a)||ej("Unsupported range type: "+tX(a))}return a.map(e=>(e2(e)?Sb:Sv)(e,n))}(e,t,u)),null!=e.interpolate&&(n=e.interpolate,(r=u).interpolate=Sv(n.type||n),null!=n.gamma&&(r.interpolateGamma=Sv(n.gamma))),null!=e.nice&&(u.nice=e3(i=e.nice)?{interval:Sv(i.interval),step:Sv(i.step)}
17:Sv(i)),null!=e.bins&&(u.bins=(a=e.bins,o=t,a.signal||e2(a)?Sb(a,o):o.objectProperty(a))),e)tM(u,l)||"name"===l||(u[l]=Sv(e[l],t))})(e,t)),(n||r).forEach(e=>(function(e,t){let n=t.getSignal(e.name),r=e.update;e.init&&(r?ej("Signals can not include both init and update expressions."):(r=e.init,n.initonly=!0)),r&&(r=FM(r,t),n.update=r.$expr,n.params=r.$params),e.on&&e.on.forEach(e=>(function(e,t,n){let r=e.encode,i={target:n},a=e.events,o=e.update,l=[];a||ej("Signal update missing events specification."),tI(a)&&(a=Mo(a,t.isSubscope()?ML:MP)),a=tm(a).filter(e=>e.signal||e.scale?(l.push(e),0):1),l.length>1&&(l=[{signal:"["+l.map(e=>e.scale?'scale("'+e.scale+'")':e.signal)+"]"}]),a.length&&l.push(a.length>1?{merge:a}:a[0]),null!=r&&(o&&ej("Signal encode and update are mutually exclusive."),o="encode(item(),"+tX(r)+")"),i.update=tI(o)?FM(o,t):null!=o.expr?FM(o.expr,t):null!=o.value?o.value:null!=o.signal?{$expr:MZ,$params:{$value:t.signalRef(o.signal)}}:ej("Invalid signal update specification."),e.force&&(i.options={force:!0}),l.forEach(e=>t.addUpdate(tC({source:e.signal?t.signalRef(e.signal):e.scale?t.scaleRef(e.scale):MH(e,t)}
17,i)))})(e,t,n.id))})(e,t)),tm(e.axes).forEach(e=>(function(e,t){let n;let r=function(e,t){var n,r,i,a=t.config,o=a.style,l=a.axis,u="band"===t.scaleType(e.scale)&&a.axisBand,s=e.orient;if(Mj(s)){let e=NV([a.axisX,a.axisY]),t=NV([a.axisTop,a.axisBottom,a.axisLeft,a.axisRight]);for(i of(n={},e))n[i]=NS(s,NG(i,a.axisX,l,o),NG(i,a.axisY,l,o));for(i of(r={},t))r[i]=Nq(s.signal,NG(i,a.axisTop,l,o),NG(i,a.axisBottom,l,o),NG(i,a.axisLeft,l,o),NG(i,a.axisRight,l,o))}else n="top"===s||s===SN?a.axisX:a.axisY,r=a["axis"+s[0].toUpperCase()+s.slice(1)];let c=n||r||u?tC({},l,n,r,u):l;return c}(e,t),i=e.encode||{},a=i.axis||{},o=a.name||void 0,l=a.interactive,u=a.style,s=SK(e,r),c=function(e){let t=e("tickBand"),n=e("tickOffset"),r,i;return t?t.signal?(r={signal:`(${t.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${t.signal}) === 'extent'`},e3(n)||(n={signal:`(${t.signal}) === 'extent' ? 0 : ${n}`})):"extent"===t?(r=1,i=!0,n=0):(r=.5,i=!1):(r=e("bandPosition"),i=e("tickExtra")),{extra:i,band:r,offset:n}}(s),f={scale:e.scale,ticks:!!s("ticks"),labels:!!s("labels"),grid:!!s("grid"),domain:!!s("domain"),title:null!=e.title},h=MO(t.add(M1({},[f]))),d=MO(t.add(MK({scale:t.scaleRef(e.scale),extra:t.property(c.extra),count:t.objectProperty(e.tickCount),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)}))),p=[];return f.grid&&p.push(function(e,t,n,r,i){let a,o,l;let u=SK(e,t),s=e.orient,c=e.gridScale,f=NM(s,1,-1),h=function(e,t){if(1===t);else if(e3(e)){let n=e=tC({},e);for(;null!=n.mult;){if(!e3(n.mult))return n.mult=Mj(t)?{signal:`(${n.mult}) * (${t.signal})`}:n.mult*t,e;n=n.mult=tC({},n.mult)}n.mult=t}else e=Mj(t)?{signal:`(${t.signal}) * (${e||0})`}:t*(e||0);return e}(e.offset,f),d={enter:a={opacity:SY},update:l={opacity:SG},exit:o={opacity:SY}};Md(d,{stroke:u("gridColor"),strokeCap:u("gridCap"),strokeDash:u("gridDash"),strokeDashOffset:u("gridDashOffset"),strokeOpacity:u("gridOpacity"),strokeWidth:u("gridWidth")});let p={scale:e.scale,field:SR,band:i.band,extra:i.extra,offset:i.offset,round:u("tickRound")},g=NS(s,{signal:"height"},{signal:"width"}),m=c?{scale:c,range:0,mult:f,offset:h}:{value:0,offset:h},y=c?{scale:c,range:1,mult:f,offset:h}:tC(g,{mult:f,offset:h});return a.x=l.x=NS(s,p,m),a.y=l.y=NN(s,p,m),a.x2=l.x2=NN(s,y),a.y2=l.y2=NS(s,y),o.x=NS(s,p),o.y=NN(s,p),S3({type:SZ,role:"axis-grid",key:SR,from:r,encode:d},n)}(e,r,i.grid,d,c)),f.ticks&&(n=s("tickSize"),p.push(function(e,t,n,r,i,a){let o,l,u;let s=SK(e,t),c=e.orient,f=NM(c,-1,1),h={enter:o={opacity:SY},update:u={opacity:SG},exit:l={opacity:SY}};Md(h,{stroke:s("tickColor"),strokeCap:s("tickCap"),strokeDash:s("tickDash"),strokeDashOffset:s("tickDashOffset"),strokeOpacity:s("tickOpacity"),strokeWidth:s("tickWidth")});let d=Mf(i);d.mult=f;let p={scale:e.scale,field:SR,band:a.band,extra:a.extra,offset:a.offset,round:s("tickRound")};return u.y=o.y=NS(c,SY,p),u.y2=o.y2=NS(c,d),l.x=NS(c,p),u.x=o.x=NN(c,SY,p),u.x2=o.x2=NN(c,d),l.y=NN(c,p),S3({type:SZ,role:"axis-tick",key:SR,from:r,encode:h},n)}(e,r,i.ticks,d,n,c))),f.labels&&(n=f.ticks?n:0,p.push(function(e,t,n,r,i,a){let o=SK(e,t),l=e.orient,u=e.scale,s=NM(l,-1,1),c=Mq(o("labelFlush")),f=Mq(o("labelFlushOffset")),h=o("labelAlign"),d=o("labelBaseline"),p=0===c||!!c,g,m=Mf(i);m.mult=s,m.offset=Mf(o("labelPadding")||0),m.offset.mult=s;let y={scale:u,field:SR,band:.5,offset:function e(t,n){return n?t?e3(t)?Object.assign({},t,{offset:e(t.offset,n)}):{value:t,offset:n}:n:t}(a.offset,o("labelOffset"))},v=NS(l,p?NZ(u,c,'"left"','"right"','"center"'):{value:"center"},NB(l,"left","right")),b=NS(l,NO(l,"bottom","top"),p?NZ(u,c,'"top"','"bottom"','"middle"'):{value:"middle"}),x=NZ(u,c,`-(${f})`,f,0);p=p&&f;let _={opacity:SY,x:NS(l,y,m),y:NN(l,y,m)},w={enter:_,update:g={opacity:SG,text:{field:ST},x:_.x,y:_.y,align:v,baseline:b},exit:{opacity:SY,x:_.x,y:_.y}};Md(w,{dx:!h&&p?NS(l,x):null,dy:!d&&p?NN(l,x):null}),Md(w,{angle:o("labelAngle"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontWeight:o("labelFontWeight"),fontStyle:o("labelFontStyle"),limit:o("labelLimit"),lineHeight:o("labelLineHeight")},{align:h,baseline:d});let A=o("labelBound"),E=o("labelOverlap");return E=E||A?{separation:o("labelSeparation"),method:E,order:"datum.index",boun
17d:A?{scale:u,orient:l,tolerance:A}:null}:void 0,g.align!==v&&(g.align=NY(g.align,v)),g.baseline!==b&&(g.baseline=NY(g.baseline,b)),S3({type:SJ,role:"axis-label",style:SL,key:SR,from:r,encode:w,overlap:E},n)}(e,r,i.labels,d,n,c))),f.domain&&p.push(function(e,t,n,r){let i,a;let o=SK(e,t),l=e.orient,u={enter:i={opacity:SY},update:a={opacity:SG},exit:{opacity:SY}};Md(u,{stroke:o("domainColor"),strokeCap:o("domainCap"),strokeDash:o("domainDash"),strokeDashOffset:o("domainDashOffset"),strokeWidth:o("domainWidth"),strokeOpacity:o("domainOpacity")});let s=NX(e,0),c=NX(e,1);return i.x=a.x=NS(l,s,SY),i.x2=a.x2=NS(l,c),i.y=a.y=NN(l,s,SY),i.y2=a.y2=NN(l,c),S3({type:SZ,role:"axis-domain",from:r,encode:u},n)}(e,r,i.domain,h)),f.title&&p.push(function(e,t,n,r){let i,a;let o=SK(e,t),l=e.orient,u=NM(l,-1,1),s={enter:i={opacity:SY,anchor:Mf(o("titleAnchor",null)),align:{signal:S2}},update:a=tC({},i,{opacity:SG,text:Mf(e.title)}),exit:{opacity:SY}},c={signal:`lerp(range("${e.scale}"), ${S1(0,1,.5)})`};return a.x=NS(l,c),a.y=NN(l,c),i.angle=NS(l,SY,NH(u,90)),i.baseline=NS(l,NO(l,SN,"top"),{value:SN}),a.angle=i.angle,a.baseline=i.baseline,Md(s,{fill:o("titleColor"),fillOpacity:o("titleOpacity"),font:o("titleFont"),fontSize:o("titleFontSize"),fontStyle:o("titleFontStyle"),fontWeight:o("titleFontWeight"),limit:o("titleLimit"),lineHeight:o("titleLineHeight")},{align:o("titleAlign"),angle:o("titleAngle"),baseline:o("titleBaseline")}),function(e,t,n,r){let i=(e,t)=>null!=e?(n.update[t]=NY(Mf(e),n.update[t]),!1):!Mg(t,r),a=i(e("titleX"),"x"),o=i(e("titleY"),"y");n.enter.auto=o===a?Mf(o):NS(t,Mf(o),Mf(a))}(o,l,s,n),s.update.align=NY(s.update.align,i.align),s.update.angle=NY(s.update.angle,i.angle),s.update.baseline=NY(s.update.baseline,i.baseline),S3({type:SJ,role:"axis-title",style:SP,from:r,encode:s},n)}(e,r,i.title,h)),NE(SQ({role:"axis",from:h,encode:Mp(function(e,t){let n={enter:{},update:{}};return Md(n,{orient:e("orient"),offset:e("offset")||0,position:MU(t.position,0),titlePadding:e("titlePadding"),minExtent:e("minExtent"),maxExtent:e("maxExtent"),range:{signal:`abs(span(range("${t.scale}")))`},translate:e("translate"),format:t.format,formatType:t.formatType}),n}(s,e),a,SH),marks:p,aria:s("aria"),description:s("description"),zindex:s("zindex"),name:o,interactive:l,style:u}),t)})(e,t)),tm(e.marks).forEach(e=>NE(e,t)),tm(e.legends).forEach(e=>(function(e,t){let n=t.config.legend,r=e.encode||{},i=SK(e,n),a=r.legend||{},o=a.name||void 0,l=a.interactive,u=a.style,s={},c=0,f,h,d;SW.forEach(t=>e[t]?(s[t]=e[t],c=c||e[t]):0),c||ej("Missing valid scale for legend.");let p=function(e,t){let n=e.type||Sj;return!e.type&&1===SW.reduce((t,n)=>t+(e[n]?1:0),0)&&(e.fill||e.stroke)&&(n=hg(t,hi)?SI:hg(t,ho)?SU:Sj),n!==SI?n:hg(t,ho)?SU:SI}(e,t.scaleType(c)),g={title:null!=e.title,scales:s,type:p,vgrad:"symbol"!==p&&i.isVertical()},m=MO(t.add(M1(null,[g]))),y=MO(t.add(M7(h={type:p,scale:t.scaleRef(c),count:t.objectProperty(i("tickCount")),limit:t.property(i("symbolLimit")),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)})));return p===SI?(d=[function(e,t,n,r){let i,a,o,l,u;let s=SK(e,n),c=s.isVertical(),f=s.gradientThickness(),h=s.gradientLength();c?(a=[0,1],o=[0,0],l=f,u=h):(a=[0,0],o=[1,0],l=h,u=f);let d={enter:i={opacity:SY,x:SY,y:SY,width:Mf(l),height:Mf(u)},update:tC({},i,{opacity:SG,fill:{gradient:t,start:a,stop:o}}),exit:{opacity:SY}};return Md(d,{stroke:s("gradientStrokeColor"),strokeWidth:s("gradientStrokeWidth")},{opacity:s("gradientOpacity")}),S3({type:SX,role:"legend-gradient",encode:d},r)}(e,c,n,r.gradient),S4(e,n,r.labels,y)],h.count=h.count||t.signalRef(`max(2,2*floor((${Mq(i.gradientLength())})/100))`)):p===SU?d=[function(e,t,n,r,i){let a=SK(e,n),o=a.isVertical(),l=a.gradientThickness(),u=a.gradientLength(),s,c,f,h,d="";o?(s="y",f="y2",c="x",h="width",d="1-"):(s="x",f="x2",c="y",h="height");let p={opacity:SY,fill:{scale:t,field:SR}};p[s]={signal:d+"datum."+Sz,mult:u},p[c]=SY,p[f]={signal:d+"datum.perc2",mult:u},p[h]=Mf(l);let g={enter:p,update:tC({}
17,p,{opacity:SG}),exit:{opacity:SY}};return Md(g,{stroke:a("gradientStrokeColor"),strokeWidth:a("gradientStrokeWidth")},{opacity:a("gradientOpacity")}),S3({type:SX,role:"legend-band",key:SR,from:i,encode:g},r)}(e,c,n,r.gradient,y),S4(e,n,r.labels,y)]:(f=function(e,t){let n=SK(e,t);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}(e,n),d=[function(e,t,n,r,i){let a,o,l,u,s;let c=SK(e,t),f=n.entries,h=!!(f&&f.interactive),d=f?f.name:void 0,p=c("clipHeight"),g=c("symbolOffset"),m={data:"value"},y=`(${i}) ? datum.offset : datum.${Sq}`,v=p?Mf(p):{field:Sq},b=`datum.${SB}`,x=`max(1, ${i})`;v.mult=.5,a={enter:o={opacity:SY,x:{signal:y,mult:.5,offset:g},y:v},update:l={opacity:SG,x:o.x,y:o.y},exit:{opacity:SY}};let _=null,w=null;e.fill||(_=t.symbolBaseFillColor,w=t.symbolBaseStrokeColor),Md(a,{fill:c("symbolFillColor",_),shape:c("symbolType"),size:c("symbolSize"),stroke:c("symbolStrokeColor",w),strokeDash:c("symbolDash"),strokeDashOffset:c("symbolDashOffset"),strokeWidth:c("symbolStrokeWidth")},{opacity:c("symbolOpacity")}),SW.forEach(t=>{e[t]&&(l[t]=o[t]={scale:e[t],field:SR})});let A=S3({type:"symbol",role:"legend-symbol",key:SR,from:m,clip:!!p||void 0,encode:a},n.symbols),E=Mf(g);E.offset=c("labelOffset"),Md(a={enter:o={opacity:SY,x:{signal:y,offset:E},y:v},update:l={opacity:SG,text:{field:ST},x:o.x,y:o.y},exit:{opacity:SY}},{align:c("labelAlign"),baseline:c("labelBaseline"),fill:c("labelColor"),fillOpacity:c("labelOpacity"),font:c("labelFont"),fontSize:c("labelFontSize"),fontStyle:c("labelFontStyle"),fontWeight:c("labelFontWeight"),limit:c("labelLimit")});let k=S3({type:SJ,role:Mb,style:SL,key:SR,from:m,encode:a},n.labels);return a={enter:{noBound:{value:!p},width:SY,height:p?Mf(p):SY,opacity:SY},exit:{opacity:SY},update:l={opacity:SG,row:{signal:null},column:{signal:null}}},c.isVertical(!0)?(u=`ceil(item.mark.items.length / ${x})`,l.row.signal=`${b}%${u}`,l.column.signal=`floor(${b} / ${u})`,s={field:["row",b]}):(l.row.signal=`floor(${b} / ${x})`,l.column.signal=`${b} % ${x}`,s={field:b}),l.column.signal=`(${i})?${l.column.signal}:${b}`,SQ({role:Mv,from:r={facet:{data:r,name:"value",groupby:SB}},encode:Mp(a,f,SH),marks:[A,k],name:d,interactive:h,sort:s})}(e,n,r,y,Mq(f.columns))],h.size=function(e,t,n){let r=Mq(Nk("size",e,n)),i=Mq(Nk("strokeWidth",e,n)),a=Mq(S0("fontSize",n[1].encode)||function(e,t,n){let r=t.config.style[n];return r&&r[e]}("fontSize",t,SL));return FM(`max(ceil(sqrt(${r})+${i}),${a})`,t)}(e,t,d[0].marks)),d=[SQ({role:"legend-entry",from:m,encode:{enter:{x:{value:0},y:{value:0}}},marks:d,layout:f,interactive:l})],g.title&&d.push(function(e,t,n,r){let i=SK(e,t),a={enter:{opacity:SY},update:{opacity:SG,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:SY}};return Md(a,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:Ni},angle:{signal:Na},align:{signal:Nr},baseline:{signal:No},text:e.title,fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),baseline:i("titleBaseline")}),S3({type:SJ,role:"legend-title",style:SP,from:r,encode:a},n)}(e,n,r.title,m)),NE(SQ({role:"legend",from:m,encode:Mp(function(e,t,n){let r={enter:{},update:{}};return Md(r,{orient:e("orient"),offset:e("offset"),padding:e("padding"),titlePadding:e("titlePadding"),cornerRadius:e("cornerRadius"),fill:e("fillColor"),stroke:e("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:e("legendX"),y:e("legendY"),format:t.format,formatType:t.formatType}),r}(i,e,n),a,SH),marks:d,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:o,interactive:l,style:u}),t)}
17)(e,t)),e.title&&function(e,t){e=tI(e)?{text:e}:e;let n=SK(e,t.config.title),r=e.encode||{},i=r.group||{},a=i.name||void 0,o=i.interactive,l=i.style,u=[],s=MO(t.add(M1(null,[{}])));u.push(function(e,t,n,r){let i={value:0},a=e.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Md(o,{text:a,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("color"),font:t("font"),fontSize:t("fontSize"),fontStyle:t("fontStyle"),fontWeight:t("fontWeight"),lineHeight:t("lineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),S3({type:SJ,role:"title-text",style:"group-title",from:r,encode:o},n)}(e,n,function(e){let t=e.encode;return t&&t.title||tC({name:e.name,interactive:e.interactive,style:e.style},t)}(e),s)),e.subtitle&&u.push(function(e,t,n,r){let i={value:0},a=e.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Md(o,{text:a,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("subtitleColor"),font:t("subtitleFont"),fontSize:t("subtitleFontSize"),fontStyle:t("subtitleFontStyle"),fontWeight:t("subtitleFontWeight"),lineHeight:t("subtitleLineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),S3({type:SJ,role:"title-subtitle",style:"group-subtitle",from:r,encode:o},n)}(e,n,r.subtitle,s)),NE(SQ({role:"title",from:s,encode:function(e,t){let n={enter:{},update:{}};return Md(n,{orient:e("orient"),anchor:e("anchor"),align:{signal:S2},angle:{signal:NC},limit:e("limit"),frame:e("frame"),offset:e("offset")||0,padding:e("subtitlePadding")}),Mp(n,t,SH)}(n,i),marks:u,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:a,interactive:o,style:l}),t)}(e.title,t),t.parseLambdas(),t}let NQ=e=>Mp({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},e);function NK(e,t){return t&&t.signal?{name:e,update:t.signal}:{name:e,value:t}}function N0(e,t){this.config=e||{},this.options=t||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function N1(e){this.config=e.config,this.options=e.options,this.legends=e.legends,this.field=Object.create(e.field),this.signals=Object.create(e.signals),this.lambdas=Object.create(e.lambdas),this.scales=Object.create(e.scales),this.events=Object.create(e.events),this.data=Object.create(e.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++e._nextsub[0],this._nextsub=e._nextsub,this._parent=e._parent.slice(),this._encode=e._encode.slice(),this._lookup=e._lookup.slice(),this._markpath=e._markpath}function N2(e){return(e2(e)?N3:N5)(e)}function N3(e){let t=e.length,n="[";for(let r=0;r<t;++r){let t=e[r];n+=(r>0?",":"")+(e3(t)?t.signal||N2(t):tX(t))}return n+"]"}function N5(e){let t="{",n=0,r,i;for(r in e)i=e[r],t+=(++n>1?",":"")+tX(r)+":"+(e3(i)?i.signal||N2(i):tX(i));return t+"}"}function N6(e,t,n){return e3(e)||ej("Input Vega specification must be an object."),t=e6(function(){let e="sans-serif",t="#4c78a8",n="#000",r="#888",i="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:t},area:{fill:t},image:null,line:{stroke:t,strokeWidth:2},path:{stroke:t},rect:{fill:t},rule:{stroke:n},shape:{stroke:t},symbol:{fill:t,size:64},text:{fill:n,font:e,fontSize:11},trail:{fill:t,size:2},style:{"guide-label":{fill:n,font:e,fontSize:10},"guide-title":{fill:n,font:e,fontSize:11,fontWeight:"bold"},"group-title":{fill:n,font:e,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:n,font:e,fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:i},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:r,grid:!1,gridWidth:1,gridColor:i,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:r,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:i,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:r,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}(),t,e.config),(function(e,t){let n=t.config,r=MO(t.root=t.add(MN())),i=function(e,t){var n,r;let i=n=>MU(e[n],t[n]),a=[NK("background",i("background")),NK("autosize",e3(n=i("autosize"))?n:{type:n||"pad"}),NK("padding",e3(r=i("padding"))?r.signal?r:{top:Ms(r.top),bottom:Ms(r.bottom),left:Ms(r.left),right:Ms(r.right)}:Mc(Ms(r))),NK("width",i("width")||0),NK("height",i("height")||0)],o=a.reduce((e,t)=>
17(e[t.name]=t,e),{}),l={};return tm(e.signals).forEach(e=>{tM(o,e.name)?e=tC(o[e.name],e):a.push(e),l[e.name]=e}),tm(t.signals).forEach(e=>{tM(l,e.name)||tM(o,e.name)||a.push(e)}),a}(e,n);i.forEach(e=>M$(e,t)),t.description=e.description||n.description,t.eventConfig=n.events,t.legends=t.objectProperty(n.legend&&n.legend.layout),t.locale=n.locale;let a=t.add(M1()),o=t.add(M5(MC(NQ(e.encode),SV,My,e.style,t,{pulse:MO(a)}))),l=t.add(Sp({layout:t.objectProperty(e.layout),legends:t.legends,autosize:t.signalRef("autosize"),mark:r,pulse:MO(o)}));t.operators.pop(),t.pushState(MO(o),MO(l),null),NJ(e,t,i),t.operators.push(l);let u=t.add(M0({mark:r,pulse:MO(l)}));return u=t.add(Sc({pulse:MO(u)})),u=t.add(Sh({pulse:MO(u)})),t.addData("root",new Nx(t,a,a,u)),t})(e,new N0(t,n)).toRuntime()}N0.prototype=N1.prototype={parse(e){return NJ(e,this)},fork(){return new N1(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(e){return this.operators.push(e),e.id=this.id(),e.refs&&(e.refs.forEach(t=>{t.$ref=e.id}),e.refs=null),e},proxy(e){let t=e instanceof MM?MO(e):e;return this.add(Su({value:t}))},addStream(e){return this.streams.push(e),e.id=this.id(),e},addUpdate(e){return this.updates.push(e),e},finish(){let e,t;for(e in this.root&&(this.root.root=!0),this.signals)this.signals[e].signal=e;for(e in this.scales)this.scales[e].scale=e;function n(e,t,n){let r;e&&((r=e.data||(e.data={}))[t]||(r[t]=[])).push(n)}for(e in this.data)for(let r in n((t=this.data[e]).input,e,"input"),n(t.output,e,"output"),n(t.values,e,"values"),t.index)n(t.index[r],e,"index:"+r);return this},pushState(e,t,n){this._encode.push(MO(this.add(Sh({pulse:e})))),this._parent.push(t),this._lookup.push(n?MO(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return e8(this._parent)},encode(){return e8(this._encode)},lookup(){return e8(this._lookup)},markpath(){let e=this._markpath;return++e[e.length-1]},fieldRef(e,t){if(tI(e))return MB(e,t);e.signal||ej("Unsupported field reference: "+tX(e));let n=e.signal,r=this.field[n];if(!r){let e={name:this.signalRef(n)};t&&(e.as=t),this.field[n]=r=MO(this.add(M8(e)))}return r},compareRef(e){let t=!1,n=e=>Mj(e)?(t=!0,this.signalRef(e.signal)):e&&e.expr?(t=!0,this.exprRef(e.expr)):e,r=tm(e.field).map(n),i=tm(e.order).map(n);return t?MO(this.add(M2({fields:r,orders:i}))):Mz(r,i)},keyRef(e,t){let n=!1,r=e=>Mj(e)?(n=!0,MO(i[e.signal])):e,i=this.signals;return e=tm(e).map(r),n?MO(this.add(M9({fields:e,flat:t}))):function(e,t){let n={$key:e};return t&&(n.$flat=!0),n}(e,t)},sortRef(e){if(!e)return e;let t=MR(e.op,e.field),n=e.order||"ascending";return n.signal?MO(this.add(M2({fields:t,orders:this.signalRef(n.signal)}))):Mz(t,n)},event(e,t){let n=e+":"+t;if(!this.events[n]){let r=this.id();this.streams.push({id:r,source:e,type:t}),this.events[n]=r}return this.events[n]},hasOwnSignal(e){return tM(this.signals,e)},addSignal(e,t){this.hasOwnSignal(e)&&ej("Duplicate signal name: "+tX(e));let n=t instanceof MM?t:this.add(MN(t));return this.signals[e]=n},getSignal(e){return this.signals[e]||ej("Unrecognized signal name: "+tX(e)),this.signals[e]},signalRef(e){return this.signals[e]?MO(this.signals[e]):(tM(this.lambdas,e)||(this.lambdas[e]=this.add(MN(null))),MO(this.lambdas[e]))},parseLambdas(){let e=Object.keys(this.lambdas);for(let t=0,n=e.length;t<n;++t){let n=e[t],r=FM(n,this),i=this.lambdas[n];i.params=r.$params,i.update=r.$expr}},property(e){return e&&e.signal?this.signalRef(e.signal):e},objectProperty(e){return e&&e3(e)?this.signalRef(e.signal||N2(e)):e},exprRef(e,t){let n={expr:FM(e,this)};return t&&(n.expr.$name=t),MO(this.add(M6(n)))},addBinding(e,t){this.bindings||ej("Nested signals do not support binding: "+tX(e)),this.bindings.push(tC({signal:e},t))},addScaleProj(e,t){tM(this.scales,e)&&ej("Duplicate scale or projection name: "+tX(e)),this.scales[e]=this.add(t)},addScale(e,t){this.addScaleProj(e,Sf(t))},addProjection(e,t){this.addScaleProj(e,Sl(t))},getScale(e){return this.scales[e]||ej("Unrecognized scale name: "+tX(e)),this.scales[e]},scaleRef(e){return MO(this.getScale(e))}
17,scaleType(e){return this.getScale(e).params.type},projectionRef(e){return this.scaleRef(e)},projectionType(e){return this.scaleType(e)},addData(e,t){return tM(this.data,e)&&ej("Duplicate data set name: "+tX(e)),this.data[e]=t},getData(e){return this.data[e]||ej("Undefined data set name: "+tX(e)),this.data[e]},addDataPipeline(e,t){return tM(this.data,e)&&ej("Duplicate data set name: "+tX(e)),this.addData(e,Nx.fromEntries(this,t))}};var N4="5.25.0";tC(o$,P,I,U,q,W,Y,H,G,V,X,Z);var N8={NaN:NaN,E:Math.E,LN2:Math.LN2,LN10:Math.LN10,LOG2E:Math.LOG2E,LOG10E:Math.LOG10E,PI:Math.PI,SQRT1_2:Math.SQRT1_2,SQRT2:Math.SQRT2,MIN_VALUE:Number.MIN_VALUE,MAX_VALUE:Number.MAX_VALUE},N9={"*":(e,t)=>e*t,"+":(e,t)=>e+t,"-":(e,t)=>e-t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,">":(e,t)=>e>t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,">=":(e,t)=>e>=t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,"&":(e,t)=>e&t,"|":(e,t)=>e|t,"^":(e,t)=>e^t,"<<":(e,t)=>e<<t,">>":(e,t)=>e>>t,">>>":(e,t)=>e>>>t},N7={"+":e=>+e,"-":e=>-e,"~":e=>~e,"!":e=>!e};let Oe=Array.prototype.slice,Ot=(e,t,n)=>{let r=n?n(t[0]):t[0];return r[e].apply(r,Oe.call(t,1))},On=(e,t,n,r,i,a,o)=>new Date(e,t||0,null!=n?n:1,r||0,i||0,a||0,o||0);var Or={isNaN:Number.isNaN,isFinite:Number.isFinite,abs:Math.abs,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:Math.atan2,ceil:Math.ceil,cos:Math.cos,exp:Math.exp,floor:Math.floor,log:Math.log,max:Math.max,min:Math.min,pow:Math.pow,random:Math.random,round:Math.round,sin:Math.sin,sqrt:Math.sqrt,tan:Math.tan,clamp:(e,t,n)=>Math.max(t,Math.min(n,e)),now:Date.now,utc:Date.UTC,datetime:On,date:e=>new Date(e).getDate(),day:e=>new Date(e).getDay(),year:e=>new Date(e).getFullYear(),month:e=>new Date(e).getMonth(),hours:e=>new Date(e).getHours(),minutes:e=>new Date(e).getMinutes(),seconds:e=>new Date(e).getSeconds(),milliseconds:e=>new Date(e).getMilliseconds(),time:e=>new Date(e).getTime(),timezoneoffset:e=>new Date(e).getTimezoneOffset(),utcdate:e=>new Date(e).getUTCDate(),utcday:e=>new Date(e).getUTCDay(),utcyear:e=>new Date(e).getUTCFullYear(),utcmonth:e=>new Date(e).getUTCMonth(),utchours:e=>new Date(e).getUTCHours(),utcminutes:e=>new Date(e).getUTCMinutes(),utcseconds:e=>new Date(e).getUTCSeconds(),utcmilliseconds:e=>new Date(e).getUTCMilliseconds(),length:e=>e.length,join:function(){return Ot("join",arguments)},indexof:function(){return Ot("indexOf",arguments)},lastindexof:function(){return Ot("lastIndexOf",arguments)},slice:function(){return Ot("slice",arguments)},reverse:e=>e.slice().reverse(),parseFloat:parseFloat,parseInt:parseInt,upper:e=>String(e).toUpperCase(),lower:e=>String(e).toLowerCase(),substring:function(){return Ot("substring",arguments,String)},split:function(){return Ot("split",arguments,String)},replace:function(){return Ot("replace",arguments,String)},trim:e=>String(e).trim(),regexp:RegExp,test:(e,t)=>RegExp(e).test(t)};let Oi=["view","item","group","xy","x","y"],Oa=new Set([Function,eval,setTimeout,setInterval]);"function"==typeof setImmediate&&Oa.add(setImmediate);let Oo={Literal:(e,t)=>t.value,Identifier:(e,t)=>{let n=t.name;return e.memberDepth>0?n:"datum"===n?e.datum:"event"===n?e.event:"item"===n?e.item:N8[n]||e.params["$"+n]},MemberExpression:(e,t)=>{let n=!t.computed,r=e(t.object);n&&(e.memberDepth+=1);let i=e(t.property);if(n&&(e.memberDepth-=1),Oa.has(r[i])){console.error(`Prevented interpretation of member "${i}" which could lead to insecure code execution`);return}return r[i]},CallExpression:(e,t)=>{let n=t.arguments,r=t.callee.name;return r.startsWith("_")&&(r=r.slice(1)),"if"===r?e(n[0])?e(n[1]):e(n[2]):(e.fn[r]||Or[r]).apply(e.fn,n.map(e))},ArrayExpression:(e,t)=>t.elements.map(e),BinaryExpression:(e,t)=>N9[t.operator](e(t.left),e(t.right)),UnaryExpression:(e,t)=>N7[t.operator](e(t.argument)),ConditionalExpression:(e,t)=>e(t.test)?e(t.consequent):e(t.alternate),LogicalExpression:(e,t)=>"&&"===t.operator?e(t.left)&&e(t.right):e(t.left)||e(t.right),ObjectExpression:(e,t)=>t.properties.reduce((t,n)=>{e.memberDepth+=1;let r=e(n.key);return e.memberDepth-=1,Oa.has(e(n.value))?console.error(`Prevented interpretation of property "${r}" which could lead to insecure code execution`):t[r]=e(n.value),t},{})};function Ol(e,t,n,r,i,a){let o=e=>Oo[e.type](o,e);return o.memberDepth=0,o.fn=Object.create(t),o.params=n,o.datum=r,o.event=i,o.item=a,Oi.forEac
17h(e=>o.fn[e]=function(){return i.vega[e](...arguments)}),o(e)}var Ou={operator(e,t){let n=t.ast,r=e.functions;return e=>Ol(n,r,e)},parameter(e,t){let n=t.ast,r=e.functions;return(e,t)=>Ol(n,r,t,e)},event(e,t){let n=t.ast,r=e.functions;return e=>Ol(n,r,void 0,void 0,e)},handler(e,t){let n=t.ast,r=e.functions;return(e,t)=>{let i=t.item&&t.item.datum;return Ol(n,r,e,i,t)}},encode(e,t){let{marktype:n,channels:r}=t,i=e.functions,a="group"===n||"image"===n||"rect"===n;return(e,t)=>{let o=e.datum,l=0,u;for(let n in r)u=Ol(r[n].ast,i,t,o,void 0,e),e[n]!==u&&(e[n]=u,l=1);if("rule"!==n){var s;let t;s=e,r.x2&&(r.x?(a&&s.x>s.x2&&(t=s.x,s.x=s.x2,s.x2=t),s.width=s.x2-s.x):s.x=s.x2-(s.width||0)),r.xc&&(s.x=s.xc-(s.width||0)/2),r.y2&&(r.y?(a&&s.y>s.y2&&(t=s.y,s.y=s.y2,s.y2=t),s.height=s.y2-s.y):s.y=s.y2-(s.height||0)),r.yc&&(s.y=s.yc-(s.height||0)/2)}return l}}};function Os(e,t,n){return e.fields=t||[],e.fname=n,e}function Oc(e){return 1===e.length?Of(e[0]):Oh(e)}let Of=e=>function(t){return t[e]},Oh=e=>{let t=e.length;return function(n){for(let r=0;r<t;++r)n=n[e[r]];return n}};function Od(e){throw Error(e)}function Op(e){let t=[],n=e.length,r=null,i=0,a="",o,l,u;function s(){t.push(a+e.substring(o,l)),a="",o=l+1}for(e+="",o=l=0;l<n;++l)if("\\"===(u=e[l]))a+=e.substring(o,l)+e.substring(++l,++l),o=l;else if(u===r)s(),r=null,i=-1;else{if(r)continue;o===i&&'"'===u?(o=l+1,r=u):o===i&&"'"===u?(o=l+1,r=u):"."!==u||i?"["===u?(l>o&&s(),i=o=l+1):"]"===u&&(i||Od("Access path missing open bracket: "+e),i>0&&s(),i=0,o=l+1):l>o?s():o=l+1}return i&&Od("Access path missing closing bracket: "+e),r&&Od("Access path missing closing quote: "+e),l>o&&(l++,s()),t}!function(e,t,n){let r=Op(e);e=1===r.length?r[0]:e,Os((n&&n.get||Oc)(r),[e],e)}("id");let Og=Os(e=>e,[],"identity");function Om(e,t,n){let r=[t].concat([].slice.call(n));console[e].apply(console,r)}Os(()=>0,[],"zero"),Os(()=>1,[],"one"),Os(()=>!0,[],"true"),Os(()=>!1,[],"false");var Oy=Array.isArray;function Ov(e){return e===Object(e)}let Ob=e=>"__proto__"!==e;function Ox(...e){return e.reduce((e,t)=>{for(let n in t)if("signals"===n)e.signals=function(e,t){if(null==e)return t;let n={},r=[];function i(e){n[e.name]||(n[e.name]=1,r.push(e))}return t.forEach(i),e.forEach(i),r}(e.signals,t.signals);else{let r="legend"===n?{layout:1}:"style"===n||null;O_(e,n,t[n],r)}return e},{})}function O_(e,t,n,r){let i,a;if(Ob(t)){if(Ov(n)&&!Oy(n))for(i in a=Ov(e[t])?e[t]:e[t]={}
17,n)r&&(!0===r||r[i])?O_(a,i,n[i]):Ob(i)&&(a[i]=n[i]);else e[t]=n}}function Ow(e){return null!=e?Oy(e)?e:[e]:[]}let OA=Object.prototype.hasOwnProperty;function OE(e,t){return OA.call(e,t)}function Ok(e){return"boolean"==typeof e}function OC(e){return"number"==typeof e}function OD(e){return"string"==typeof e}function OF(e){return Oy(e)?"["+e.map(OF)+"]":Ov(e)||OD(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}function O$(e){let t={},n=e.length;for(let r=0;r<n;++r)t[e[r]]=!0;return t}Array.prototype.flat||Object.defineProperty(Array.prototype,"flat",{configurable:!0,value:function e(){var t=isNaN(arguments[0])?1:Number(arguments[0]);return t?Array.prototype.reduce.call(this,function(n,r){return Array.isArray(r)?n.push.apply(n,e.call(r,t-1)):n.push(r),n},[]):Array.prototype.slice.call(this)},writable:!0}),Array.prototype.flatMap||Object.defineProperty(Array.prototype,"flatMap",{configurable:!0,value:function(e){return Array.prototype.map.apply(this,arguments).flat()},writable:!0});var OM=n(16313),OS=n.n(OM),ON=n(64063),OO=n.n(ON),OB=n(35035),OT=n.n(OB);function Oz(e,t){return e.not?{not:Oz(e.not,t)}:e.and?{and:e.and.map(e=>Oz(e,t))}:e.or?{or:e.or.map(e=>Oz(e,t))}:t(e)}let OR=OO(),OL=OS();function OP(e,t){let n={};for(let r of t)OE(e,r)&&(n[r]=e[r]);return n}function Oj(e,t){let n={...e};for(let e of t)delete n[e];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>OT()(e)).join(",")})`};let OI=OT();function OU(e){if(OC(e))return e;let t=OD(e)?e:OT()(e);if(t.length<250)return t;let n=0;for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);n=(n<<5)-n+r,n&=n}return n}function Oq(e){return!1===e||null===e}function OW(e,t){return e.includes(t)}function OH(e,t){let n=0;for(let[r,i]of e.entries())if(t(i,r,n++))return!0;return!1}function OY(e,t){let n=0;for(let[r,i]of e.entries())if(!t(i,r,n++))return!1;return!0}function OG(e,...t){for(let n of t)!function(e,t){for(let n of O1(t))O_(e,n,t[n],!0)}(e,n??{});return e}function OV(e,t){let n;let r=[],i={};for(let a of e)(n=t(a))in i||(i[n]=1,r.push(a));return r}function OX(e,t){let n=O1(e),r=O1(t);if(n.length!==r.length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0}function OZ(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function OJ(e,t){for(let n of e)if(t.has(n))return!0;return!1}function OQ(e){let t=new Set;for(let n of e){let e=Op(n),r=e.map((e,t)=>0===t?e:`[${e}]`),i=r.map((e,t)=>r.slice(0,t+1).join(""));for(let e of i)t.add(e)}return t}function OK(e,t){return void 0===e||void 0===t||OJ(OQ(e),OQ(t))}function O0(e){return 0===O1(e).length}let O1=Object.keys,O2=Object.values,O3=Object.entries;function O5(e){return!0===e||!1===e}function O6(e){let t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function O4(e,t){return e.not?`!(${O4(e.not,t)})`:e.and?`(${e.and.map(e=>O4(e,t)).join(") && (")})`:e.or?`(${e.or.map(e=>O4(e,t)).join(") || (")})`:t(e)}function O8(e,t){if(0===t.length)return!0;let n=t.shift();return n in e&&O8(e[n],t)&&delete e[n],O0(e)}function O9(e){return e.charAt(0).toUpperCase()+e.substr(1)}function O7(e,t="datum"){let n=Op(e),r=[];for(let e=1;e<=n.length;e++){let i=`[${n.slice(0,e).map(OF).join("][")}]`;r.push(`${t}${i}`)}return r.join(" && ")}function Be(e,t="datum"){return`${t}[${OF(Op(e).join("."))}]`}function Bt(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function Bn(e){return`${Op(e).map(Bt).join("\\.")}`}function Br(e,t,n){return e.replace(RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function Bi(e){return`${Op(e).join(".")}`}function Ba(e){return e?Op(e).length:0}function Bo(...e){for(let t of e)if(void 0!==t)return t}let Bl=42;function Bu(e){let t=++Bl;return e?String(e)+t:t}function Bs(){Bl=42}function Bc(e){return Bf(e)?e:`__${e}`}function Bf(e){return e.startsWith("__")}function Bh(e){if(void 0!==e)return(e%360+360)%360}function Bd(e){return!!OC(e)||!isNaN(e)&&!isNaN(parseFloat(e))}let Bp="column",Bg="facet",Bm="radius",By="radius2",Bv="theta",Bb="theta2",Bx="latitude",B_="longitude",Bw="latitude2",BA="longitude2",BE="color",Bk="fill",BC="stroke",BD="shape",BF="size",B$="angle",BM="opacity",BS="fillOpacity",BN="strokeOpacity",BO="strokeWidth",BB="strokeDash",BT="text",Bz="order",BR="detail",BL="tooltip",BP="href",Bj="description",BI={theta:1,theta2:1,radius:1,radius2:1},BU={longitude:1,longitude2:1,latitude:1,latitude2:1},Bq=O1(BU),BW={x:1,y:1,x2:1,y2:1,...BI,...BU,color:1,fill:1,stroke:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeDash:1,size:1,angle:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1,url:1,description:1};function BH(e){return e===BE||e===Bk||e===BC}let BY={row:1,column:1,facet:1},BG=O1(BY),BV={...BW,...BY},BX=O1(BV),{order:BZ,detail:BJ,tooltip:BQ,...BK}=BV,{row:B0,column:B1,facet:B2,...B3}=BK;O1(BK),O1(B3);let B5=["x2","y2",Bw,BA,Bb,By];function B6(e){let t=B4(e);return t!==e}function B4(e){switch(e){case"x2":return"x";case"y2":return"y";case Bw:return Bx;case BA:return B_;case Bb:return Bv;case By:return Bm}return e}function B8(e){if(e in BI)switch(e){case Bv:return"startAngle";case Bb:return"endAngle";case Bm:return"outerRadius";case By:return"innerRadius"}return e}function B9(e){switch(e){case"x":return"x2";case"y":return"y2";case Bx:return Bw;case B_:return BA;case Bv:return Bb;case Bm:return By}}function B7(e){switch(e){case"x":case"x2":return"width";
17case"y":case"y2":return"height"}}O1(BW);let{x:Te,y:Tt,x2:Tn,y2:Tr,latitude:Ti,longitude:Ta,latitude2:To,longitude2:Tl,theta:Tu,theta2:Ts,radius:Tc,radius2:Tf,...Th}=BW,Td=O1(Th),Tp={x:1,y:1},Tg=O1(Tp);function Tm(e){return e in Tp}let Ty={theta:1,radius:1},Tv=O1(Ty);function Tb(e){return"width"===e?"x":"y"}let{text:Tx,tooltip:T_,href:Tw,url:TA,description:TE,detail:Tk,key:TC,order:TD,...TF}=Th,T$=O1(TF),TM={...Tp,...Ty,...TF},TS=O1(TM);function TN(e){return!!TM[e]}let TO={arc:"always",area:"always",bar:"always",circle:"always",geoshape:"always",image:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},{geoshape:TB,...TT}=TO;function Tz(e){switch(e){case"x":case"y":case Bv:case Bm:case BF:case B$:case BO:case BM:case BS:case BN:case"x2":case"y2":case Bb:case By:return;case Bg:case"row":case Bp:case BD:case BB:case BT:case BL:case BP:case"url":case Bj:return"discrete";case BE:case Bk:case BC:return"flexible";case Bx:case B_:case Bw:case BA:case BR:case"key":case Bz:return}}let TR={argmax:1,argmin:1,average:1,count:1,distinct:1,product:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1},TL={count:1,min:1,max:1};function TP(e){return!!e&&!!e.argmin}function Tj(e){return!!e&&!!e.argmax}function TI(e){return OD(e)&&!!TR[e]}O1(TR);let TU=["count","valid","missing","distinct"];function Tq(e){return OD(e)&&OW(TU,e)}let TW=["count","sum","distinct","valid","missing"],TH=O$(["mean","average","median","q1","q3","min","max"]);function TY(e){return Ok(e)&&(e=LH(e,void 0)),"bin"+O1(e).map(t=>TX(e[t])?O6(`_${t}_${O3(e[t])}`):O6(`_${t}_${e[t]}`)).join("")}function TG(e){return!0===e||Ov(e)&&!e.binned}function TV(e){return"binned"===e||Ov(e)&&!0===e.binned}function TX(e){return e?.param}function TZ(e){switch(e){case"row":case Bp:case BF:case BE:case Bk:case BC:case BO:case BM:case BS:case BN:case BD:return 6;case BB:return 4;default:return 10}}function TJ(e){return e&&!!e.expr}function TQ(e){let t=O1(e||{}),n={};for(let r of t)n[r]=T9(e[r]);return n}function TK(e){let{anchor:t,frame:n,offset:r,orient:i,color:a,subtitleColor:o,subtitleFont:l,subtitleFontSize:u,subtitleFontStyle:s,subtitleFontWeight:c,subtitleLineHeight:f,subtitlePadding:h,...d}=e,p={...d,...a?{fill:a}:{}},g={...t?{anchor:t}:{},...n?{frame:n}:{},...r?{offset:r}:{},...i?{orient:i}:{}},m={...o?{subtitleColor:o}:{},...l?{subtitleFont:l}:{},...u?{subtitleFontSize:u}:{},...s?{subtitleFontStyle:s}:{},...c?{subtitleFontWeight:c}:{},...f?{subtitleLineHeight:f}:{},...h?{subtitlePadding:h}:{}},y=OP(p,["align","baseline","dx","dy","limit"]);return{titleMarkConfig:p,subtitleMarkConfig:y,nonMark:g,subtitle:m}}function T0(e){return OD(e)||Oy(e)&&OD(e[0])}function T1(e){return e&&!!e.signal}function T2(e){return!!e.step}function T3(e){return!Oy(e)&&"field"in e&&"data"in e}let T5=O1({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),T6={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},T4=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];function T8(e){let t=Oy(e.condition)?e.condition.map(T7):T7(e.condition);return{...T9(e),condition:t}}function T9(e){if(TJ(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function T7(e){if(TJ(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function ze(e){if(TJ(e)){let{expr:t,...n}=e;return{signal:t,...n}}return T1(e)?e:void 0!==e?{value:e}:void 0}function zt(e){return T1(e)?e.signal:OF(e.value)}function zn(e){return T1(e)?e.signal:null==e?null:OF(e)}function zr(e){return[].concat(e.type,e.style??[])}function zi(e,t,n,r={}){let{vgChannel:i,ignoreVgConfig:a}=r;return i&&void 0!==t[i]?t[i]:void 0!==t[e]?t[e]:!a||i&&i!==e?za(e,t,n,r):void 0}function za(e,t,n,{vgChannel:r}={}){var i,a;return Bo(r?(i=n.style,zo(e,zr(t),i)):void 0,(a=n.style,zo(e,zr(t),a)),r?n[t.type][r]:void 0,n[t.type][e],r?n.mark[r]:n.mark[e])}function zo(e,t,n){let r;for(let i of t=Ow(t)){let t=n[i];t&&void 0!==t[e]&&(r=t[e])}return r}function zl(e,t){return Ow(e).reduce((e,n)=>(e.field.push(LO(n,t)),e.order.push(n.sort??"ascending"),e),{field:[],order:[]})}function zu(e,t){let n=[...e];
17return t.forEach(e=>{for(let t of n)if(OR(t,e))return;n.push(e)}),n}function zs(e,t){return OR(e,t)||!t?e:e?[...Ow(e),...Ow(t)].join(", "):t}function zc(e,t){let n=e.value,r=t.value;if(null==n||null===r)return{explicit:e.explicit,value:null};if((T0(n)||T1(n))&&(T0(r)||T1(r)))return{explicit:e.explicit,value:zs(n,r)};if(T0(n)||T1(n))return{explicit:e.explicit,value:n};if(T0(r)||T1(r))return{explicit:e.explicit,value:r};if(!T0(n)&&!T1(n)&&!T0(r)&&!T1(r))return{explicit:e.explicit,value:zu(n,r)};throw Error("It should never reach here")}function zf(e){return`Invalid specification ${OI(e)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}function zh(e){return`${"width"==e?"Width":"Height"} "container" only works for single views and layered views.`}function zd(e){return`${"width"==e?"Width":"Height"} "container" only works well with autosize "fit" or "fit-${"width"==e?"x":"y"}".`}function zp(e){return e?`Dropping "fit-${e}" because spec has discrete ${B7(e)}.`:'Dropping "fit" because spec has discrete size.'}function zg(e){return`Unknown field for ${e}. Cannot calculate view size.`}function zm(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`}function zy(e){return`Selection not supported for ${e} yet.`}function zv(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`}function zb(e,t,n){return`An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`}function zx(e){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${e} are dropped.`}function z_(e){return`Invalid field type "${e}".`}function zw(e,t){let{fill:n,stroke:r}=t;return`Dropping color ${e} as the plot also has ${n&&r?"fill and stroke":n?"fill":"stroke"}.`}function zA(e,t){return`Dropping ${OI(e)} from channel "${t}" since it does not contain any data field, datum, value, or signal.`}function zE(e,t,n){return`${e} dropped as it is incompatible with "${t}"${n?` when ${n}`:""}.`}function zk(e,t){return`Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${"ordinal"===t?"order":"magnitude"}.`}function zC(e,t,n){return`${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`}function zD(e){return`The step for "${e}" is dropped because the ${"width"===e?"x":"y"} is continuous.`}let zF="Domains that should be unioned has conflicting sort properties. Sort will be set to true.";function z$(e,t){return`Invalid ${e}: ${OI(t)}.`}function zM(e){return`1D error band does not support ${e}.`}function zS(e){return`Channel ${e} is required for "binned" bin.`}let zN=(_=2,{level(e){return arguments.length?(_=+e,this):_},error(){return _>=1&&Om(w||"error","ERROR",arguments),this},warn(){return _>=2&&Om(w||"warn","WARN",arguments),this},info(){return _>=3&&Om(w||"log","INFO",arguments),this},debug(){return _>=4&&Om(w||"log","DEBUG",arguments),this}}),zO=zN;function zB(...e){zO.warn(...e)}function zT(e){if(e&&Ov(e)){for(let t of zq)if(t in e)return!0}return!1}new WeakMap;let zz=["january","february","march","april","may","june","july","august","september","october","november","december"],zR=zz.map(e=>e.substr(0,3)),zL=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],zP=zL.map(e=>e.substr(0,3));function zj(e,t){let n=[];if(t&&void 0!==e.day&&O1(e).length>1&&(zB(`Dropping day from datetime ${OI(e)} as day cannot be combined with other units.`),e=OL(e),delete e.day),void 0!==e.year?n.push(e.year):n.push(2012),void 0!==e.month){let r=t?function(e){if(Bd(e)&&(e=+e),OC(e))return e-1;{let t=e.toLowerCase(),n=zz.indexOf(t);if(-1!==n)return n;let r=t.substr(0,3),i=zR.indexOf(r);if(-1!==i)return i;throw Error(z$("month",e))}}(e.month):e.month;n.push(r)}else if(void 0!==e.quarter){let r=t?function(e){if(Bd(e)&&(e=+e),OC(e))return e>4&&zB(z$("quarter",e)),e-1;throw Error(z$("quarter",e))}(e.quarter):e.quarter;n.push(OC(r)?3*r:`${r}*3`)}else n.push(0);if(void 0!==e.date)n.push(e.date);else if(void 0!==e.day){let r=t?function(e){if(Bd(e)&&(e=+e),OC(e))return e%7;{let t=e.toLowerCase(),n=zL.indexOf(t);if(-1!==n)return n;let r=t.substr(0,3),i=zP.indexOf(r);if(-1!==i)return i;throw Error(z$("day",e))}}(e.day):e.day;n.push(OC(r)?r+1:`${r}+1`)}else n.push(1);for(let t of["hours","minutes","seconds","milliseconds"]){let r=e[t];n.push(void 0===r?0:r)}return n}function zI(e){let t=zj(e,!0),n=t.join(", ");return e.utc?`utc(${n})`:`datetime(${n})`}let zU={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},zq=O1(zU);function zW(e){return e.startsWith("utc")}let zH={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function zY(e){return zq.filter(t=>zG(e,t))}function zG(e,t){let n=e.indexOf(t);return!(n<0)&&(!(n>0)||"seconds"!==t||"i"!==e.charAt(n-1))&&(!(e.length>n+3)||"day"!==t||"o"!==e.charAt(n+3))&&(!(n>0)||"year"!==t||"f"!==e.charAt(n-1))}function zV(e){if(!e)return;let t=zY(e);return`timeUnitSpecifier(${OI(t)}, ${OI(zH)})`}function zX(e){let t;if(e)return OD(e)?t={unit:e}:Ov(e)&&(t={...e,...e.unit?{unit:e.unit}:{}}),zW(t.unit)&&(t.utc=!0,t.unit=t.unit.substr(3)),t}function zZ(e){return e&&!!e.field&&void 0!==e.equal}function zJ(e){return e&&!!e.field&&void 0!==e.lt}function zQ(e){return e&&!!e.field&&void 0!==e.lte}function zK(e){return e&&!!e.field&&void 0!==e.gt}function z0(e){return e&&!!e.field&&void 0!==e.gte}function z1(e){return!!(e&&e.field&&(Oy(e.range)&&2===e.range.length||T1(e.range)))}function z2(e){return e&&!!e.field&&(Oy(e.oneOf)||Oy(e.in))}function z3(e){return z2(e)||zZ(e)||z1(e)||zJ(e)||zK(e)||zQ(e)||z0(e)}function z5(e,t){return LV(e,{timeUnit:t,wrapTime:!0})}function z6(e,t=!0){let{field:n}=e,r=zX(e.timeUnit)?.unit,i=r?`time(${function(e,t,{end:n}={end:!1}){let r;let i=O7(t),a=zW(e)?"utc":"",o={};for(let t of zq)if(zG(e,t)){var l;o[t]="quarter"===(l=t)?`(${a}quarter(${i})-1)`:`${a}${l}(${i})`,r=t}return n&&(o[r]+="+1"),function(e){let t=zj(e,!1),n=t.join(", ");return e.utc?`utc(${n})`:`datetime(${n})`}(o)}(r,n)})`:LO(e,{expr:"datum"});if(zZ(e))return`${i}===${z5(e.equal,r)}`;if(zJ(e)){let t=e.lt;return`${i}<${z5(t,r)}`}if(zK(e)){let t=e.gt;return`${i}>${z5(t,r)}`}if(zQ(e)){let t=e.lte;return`${i}<=${z5(t,r)}`}if(z0(e)){let t=e.gte;return`${i}>=${z5(t,r)}`}if(z2(e))return`indexof([${e.oneOf.map(e=>z5(e,r)).join(",")}], ${i}) !== -1`;if(e&&e.field&&void 0!==e.valid)return z4(i,e.valid);if(z1(e)){let{range:n}=e,a=T1(n)?{signal:`${n.signal}[0]`}:n[0],o=T1(n)?{signal:`${n.signal}[1]`}:n[1];if(null!==a&&null!==o&&t)return"inrange("+i+", ["+z5(a,r)+", "+z5(o,r)+"])";let l=[];return null!==a&&l.push(`${i} >= ${z5(a,r)}`),null!==o&&l.push(`${i} <= ${z5(o,r)}`),l.length>0?l.join(" && "):"true"}throw Error(`Invalid field predicate: ${OI(e)}`)}function z4(e,t=!0){return t?`isValid(${e}) && isFinite(+${e})`:`!isValid(${e}) || !isFinite(+${e})`}function z8(e){return z3(e)&&e.timeUnit?{...e,timeUnit:zX(e.timeUnit)?.unit}:e}let z9={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"},z7=z9.quantitative,Re=z9.ordinal,Rt=z9.temporal,Rn=z9.nominal,Rr=z9.geojson;O1(z9);let Ri={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",SYMLOG:"symlog",IDENTITY:"identity",SEQUENTIAL:"sequential",TIME:"time",UTC:"utc",QUANTILE:"quantile",QUANTIZE:"quantize",THRESHOLD:"threshold",BIN_ORDINAL:"bin-ordinal",ORDINAL:"ordinal",POINT:"point",BAND:"band"},Ra={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"};O1(Ra);let Ro={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0},Rl=["linear","log","pow","sqrt","symlog","time","utc"],Ru=O$(Rl),Rs=O$(["linear","log","pow","sqrt","symlog"]),Rc=O$(["quantile","quantize","threshold"]),Rf=Rl.concat(["quantile","quantize","threshold","sequential","identity"]),Rh=O$(Rf),Rd=O$(["ordinal","bin-ordinal","point","band"]);function Rp(e){return e in Rd}function Rg(e){return e in Rh}function Rm(e){return e in Ru}let Ry={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1};O1(Ry);let{type:Rv,domain:Rb,range:Rx,rangeMax:R_,rangeMin:Rw,scheme:RA,...RE}=Ry,Rk=O1(RE);function RC(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(e);case"bins":return!["point","band","identity","ordinal"].includes(e);case"round":return Rm(e)||"band"===e||"point"===e;case"padding":case"rangeMin":case"rangeMax":return Rm(e)||["point","band"].includes(e);case"paddingOuter":case"align":return["point","band"].includes(e);case"paddingInner":return"band"===e;case"domainMax":case"domainMid":case"domainMin":case"clamp":return Rm(e);case"nice":return Rm(e)||"quantize"===e||"threshold"===e;case"exponent":return"pow"===e;case"base":return"log"===e;case"constant":return"symlog"===e;case"zero":return Rg(e)&&!OW(["log","time","utc","threshold","quantile"],e)}}function RD(e,t){switch(t){case"interpolate":case"scheme":case"domainMid":if(!BH(e))return`Cannot use the scale property "${e}" with non-color channel.`;return;case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}let RF={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},R$=RF.arc,RM=RF.area,RS=RF.bar,RN=RF.image,RO=RF.line,RB=RF.point,RT=RF.rect,Rz=RF.rule,RR=RF.text,RL=RF.tick,RP=RF.trail,Rj=RF.circle,RI=RF.square,RU=RF.geoshape;function Rq(e){return["line","area","trail"].includes(e)}function RW(e){return["rect","bar","image","arc"].includes(e)}let RH=O1(RF);function RY(e){return e.type}O$(RH);let RG=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit","fill","fillOpacity"],RV=O1({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),RX=O1({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function RZ(e){return e&&void 0!=e.band}let RJ={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]};function RQ(e){let{channel:t,channelDef:n,markDef:r,scale:i,config:a}=e,o=R3(e);return Lx(n)&&!Tq(n.aggregate)&&i&&Rm(i.get("type"))&&!1===i.get("zero")?RK({fieldDef:n,channel:t,markDef:r,ref:o,config:a}):o}function RK({fieldDef:e,channel:t,markDef:n,ref:r,config:i}){if(Rq(n.type))return r;let a=zi("invalid",n,i);return null===a?r:[function(e,t){let n=R0(e,!0),r=B4(t);return{test:n,..."y"===r?{field:{group:"height"}}:{value:0}}}(e,t),r]}function R0(e,t=!0){return z4(OD(e)?e:LO(e,{expr:"datum"}),!t)}
17function R1(e,t,n,r){let i={};if(t&&(i.scale=t),Lw(e)){let{datum:t}=e;zT(t)?i.signal=zI(t):T1(t)?i.signal=t.signal:TJ(t)?i.signal=t.expr:i.value=t}else i.field=LO(e,n);if(r){let{offset:e,band:t}=r;e&&(i.offset=e),t&&(i.band=t)}return i}function R2({scaleName:e,fieldOrDatumDef:t,fieldOrDatumDef2:n,offset:r,startSuffix:i,bandPosition:a=.5}){let o=0<a&&a<1?"datum":void 0,l=LO(t,{expr:o,suffix:i}),u=void 0!==n?LO(n,{expr:o}):LO(t,{suffix:"end",expr:o}),s={};if(0===a||1===a)s.scale=e,s.field=0===a?l:u;else{let t=T1(a)?`${a.signal} * ${l} + (1-${a.signal}) * ${u}`:`${a} * ${l} + ${1-a} * ${u}`;s.signal=`scale("${e}", ${t})`}return r&&(s.offset=r),s}function R3({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:a,scale:o,stack:l,offset:u,defaultRef:s,bandPosition:c}){if(t){if(Lk(t)){if(LC(t)){c??(c=Lp({fieldDef:t,fieldDef2:n,markDef:r,config:i}));let{bin:o,timeUnit:s,type:f}=t;if(TG(o)||c&&s&&f===Rt)return l&&l.impute?R1(t,a,{binSuffix:"mid"},{offset:u}):c?R2({scaleName:a,fieldOrDatumDef:t,bandPosition:c,offset:u}):R1(t,a,LZ(t,e)?{binSuffix:"range"}:{},{offset:u});if(TV(o)){if(Lx(n))return R2({scaleName:a,fieldOrDatumDef:t,fieldOrDatumDef2:n,bandPosition:c,offset:u});zB(zS("x"===e?"x2":"y2"))}}let s=o?.get("type");return R1(t,a,Rp(s)?{binSuffix:"range"}:{},{offset:u,band:"band"===s?c??t.bandPosition??.5:void 0})}if(LD(t)){let n=t.value;return{...R5(e,n),...u?{offset:u}:{}}}}return"function"==typeof s&&(s=s()),s?{...s,...u?{offset:u}:{}}:s}function R5(e,t){return OW(["x","x2"],e)&&"width"===t?{field:{group:"width"}}:OW(["y","y2"],e)&&"height"===t?{field:{group:"height"}}:ze(t)}function R6(e){return e&&"number"!==e&&"time"!==e}function R4(e,t,n){return`${e}(${t}${n?`, ${OI(n)}`:""})`}function R8({fieldOrDatumDef:e,format:t,formatType:n,expr:r,normalizeStack:i,config:a}){if(R6(n))return R7({fieldOrDatumDef:e,format:t,formatType:n,expr:r,config:a});let o=R9(e,r,i);if(LG(e)){var l,u,s,c;let n=(l=Lx(e)?zX(e.timeUnit)?.unit:void 0,u=t,s=a.timeFormat,c=LF(e)&&e.scale?.type===Ri.UTC,!l||u?`${c?"utc":"time"}Format(${o}, '${u=OD(u)?u:s}')`:function(e,t,n){if(!e)return;let r=zV(e),i=n||zW(e);return`${i?"utc":"time"}Format(${t}, ${r})`}(l,o,c));return n?{signal:n}:void 0}if(t=Ln(L_(e),t,a),Lx(e)&&TG(e.bin)){let i=LO(e,{expr:r,binSuffix:"end"});return{signal:La(o,i,t,n,a)}}return t||"quantitative"===L_(e)?{signal:`${Lr(o,t)}`}:{signal:`isValid(${o}) ? ${o} : ""+${o}`}}function R9(e,t,n){return Lx(e)?n?`${LO(e,{expr:t,suffix:"end"})}-${LO(e,{expr:t,suffix:"start"})}`:LO(e,{expr:t}):function(e){let{datum:t}=e;return zT(t)?zI(t):`${OI(t)}`}(e)}function R7({fieldOrDatumDef:e,format:t,formatType:n,expr:r,normalizeStack:i,config:a,field:o}){if(o??(o=R9(e,r,i)),Lx(e)&&TG(e.bin)){let i=LO(e,{expr:r,binSuffix:"end"});return{signal:La(o,i,t,n,a)}}return{signal:R4(n,o,t)}}function Le(e,t,n,r,i,a){if(!R6(r)){if(LG(e)){let t=Lx(e)?zX(e.timeUnit)?.unit:void 0;return n||(t?{signal:zV(t)}:a?void 0:i.timeFormat)}return Ln(t,n,i)}}function Lt(e,t,n){return e&&(T1(e)||"number"===e||"time"===e)?e:LG(t)&&"time"!==n&&"utc"!==n?"time":void 0}function Ln(e,t,n){return OD(t)?t:e===z7?n.numberFormat:void 0}function Lr(e,t){return`format(${e}, "${t||""}")`}function Li(e,t,n,r){return R6(n)?R4(n,e,t):Lr(e,(OD(t)?t:void 0)??r.numberFormat)}function La(e,t,n,r,i){let a=Li(e,n,r,i),o=Li(t,n,r,i);return`${z4(e,!1)} ? "null" : ${a} + " – " + ${o}`}let Lo={x:1,y:1,color:1,fill:1,stroke:1,strokeWidth:1,size:1,shape:1,fillOpacity:1,strokeOpacity:1,opacity:1,text:1};function Ll(e){return!!e&&!!e.encoding}function Lu(e){return!!e&&("count"===e.op||!!e.field)}function Ls(e){return"row"in e||"column"in e}function Lc(e){return!!e&&"header"in e}function Lf(e){return"facet"in e}function Lh(e){let{field:t,timeUnit:n,bin:r,aggregate:i}=e;return{...n?{timeUnit:n}:{},...r?{bin:r}:{},...i?{aggregate:i}:{},field:t}}function Ld(e){return"sort"in e}function Lp({fieldDef:e,fieldDef2:t,markDef:n,config:r}){if(Lk(e)&&void 0!==e.bandPosition)return e.bandPosition;if(Lx(e)){let{timeUnit:i,bin:a}=e;if(i&&!t)return RW(n.type)?0:za("timeUnitBandPosition",n,r);if(TG(a))return .5}}function Lg({channel:e,fieldDef:t,fieldDef2:n,markDef:r,config:i,scaleType:a,useVlSizeChannel:o}){let l=B7(e),u=zi(o?"size":l,r,i,{vgChannel:l});if(void 0!==u)return u;if(Lx(t)){let{timeUnit:e,bin:o}=t;if(e&&!n)return{band:za("timeUnitBandSize",r,i)};if(TG(o)&&!Rp(a))return{band:1}}if(RW(r.type))return a?Rp(a)?i[r.type]?.discreteBandSize||{band:1}:i[r.type]?.continuousBandSize:i[r.type]?.discreteBandSize}function Lm(e,t,n,r){return!!(TG(e.bin)||e.timeUnit&&LC(e)&&"temporal"===e.type)&&void 0!==Lp({fieldDef:e,fieldDef2:t,markDef:n,config:r})}function Ly(e){return!!e&&"condition"in e}function Lv(e){let t=e&&e.condition;return!!t&&!Oy(t)&&Lx(t)}
17function Lb(e){let t=e&&e.condition;return!!t&&!Oy(t)&&Lk(t)}function Lx(e){return!!e&&(!!e.field||"count"===e.aggregate)}function L_(e){return e&&e.type}function Lw(e){return!!e&&"datum"in e}function LA(e){return LC(e)&&!LB(e)||LE(e)}function LE(e){return Lw(e)&&OC(e.datum)}function Lk(e){return Lx(e)||Lw(e)}function LC(e){return!!e&&("field"in e||"count"===e.aggregate)&&"type"in e}function LD(e){return e&&"value"in e&&"value"in e}function LF(e){return!!e&&("scale"in e||"sort"in e)}function L$(e){return e&&("axis"in e||"stack"in e||"impute"in e)}function LM(e){return!!e&&"legend"in e}function LS(e){return!!e&&("format"in e||"formatType"in e)}function LN(e){return Oj(e,["legend","axis","header","scale"])}function LO(e,t={}){let n=e.field,r=t.prefix,i=t.suffix,a="";if("count"===e.aggregate)n=Bc("count");else{let r;if(!t.nofn){if("op"in e)r=e.op;else{let{bin:o,aggregate:l,timeUnit:u}=e;TG(o)?(r=TY(o),i=(t.binSuffix??"")+(t.suffix??"")):l?Tj(l)?(a=`["${n}"]`,n=`argmax_${l.argmax}`):TP(l)?(a=`["${n}"]`,n=`argmin_${l.argmin}`):r=String(l):u&&(r=function(e){let{utc:t,...n}=zX(e);return n.unit?(t?"utc":"")+O1(n).map(e=>O6(`${"unit"===e?"":`_${e}_`}${n[e]}`)).join(""):(t?"utc":"")+"timeunit"+O1(n).map(e=>O6(`_${e}_${n[e]}`)).join("")}(u),i=(!["range","mid"].includes(t.binSuffix)&&t.binSuffix||"")+(t.suffix??""))}}r&&(n=n?`${r}_${n}`:r)}return(i&&(n=`${n}_${i}`),r&&(n=`${r}_${n}`),t.forAs)?Bi(n):t.expr?Be(n,t.expr)+a:Bn(n)+a}function LB(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return Lx(e)&&!!e.bin;case"temporal":return!1}throw Error(z_(e.type))}let LT=(e,t)=>{switch(t.fieldTitle){case"plain":return e.field;case"functional":return function(e){let{aggregate:t,bin:n,timeUnit:r,field:i}=e;if(Tj(t))return`${i} for argmax(${t.argmax})`;if(TP(t))return`${i} for argmin(${t.argmin})`;let a=zX(r),o=t||a?.unit||a?.maxbins&&"timeunit"||TG(n)&&"bin";return o?`${o.toUpperCase()}(${i})`:i}(e);default:return function(e,t){let{field:n,bin:r,timeUnit:i,aggregate:a}=e;if("count"===a)return t.countTitle;if(TG(r))return`${n} (binned)`;if(i){let e=zX(i)?.unit;if(e)return`${n} (${zY(e).join("-")})`}else if(a)return Tj(a)?`${n} for max ${a.argmax}`:TP(a)?`${n} for min ${a.argmin}`:`${O9(a)} of ${n}`;return n}(e,t)}},Lz=LT;function LR(e,t,{allowDisabling:n,includeDefault:r=!0}){let i=LL(e)?.title;if(!Lx(e))return i;let a=r?Lz(e,t):void 0;return n?Bo(i,e.title,a):i??e.title??a}function LL(e){return L$(e)&&e.axis?e.axis:LM(e)&&e.legend?e.legend:Lc(e)&&e.header?e.header:void 0}function LP(e){if(LS(e)){let{format:t,formatType:n}=e;return{format:t,formatType:n}}{let t=LL(e)??{},{format:n,formatType:r}=t;return{format:n,formatType:r}}}function Lj(e){return Lx(e)?e:Lv(e)?e.condition:void 0}function LI(e){return Lk(e)?e:Lb(e)?e.condition:void 0}function LU(e,t,n,r={}){if(OD(e)||OC(e)||Ok(e)){let n=OD(e)?"string":OC(e)?"number":"boolean";return zB(`Channel ${t} is a ${n}. Converted to {value: ${OI(e)}}.`),{value:e}}return Lk(e)?Lq(e,t,n,r):Lb(e)?{...e,condition:Lq(e.condition,t,n,r)}:e}function Lq(e,t,n,r){if(LS(e)){let{format:i,formatType:a,...o}=e;if(R6(a)&&!n.customFormatTypes)return zB(zx(t)),Lq(o,t,n,r)}else{let i=L$(e)?"axis":LM(e)?"legend":Lc(e)?"header":null;if(i&&e[i]){let{format:a,formatType:o,...l}=e[i];if(R6(o)&&!n.customFormatTypes)return zB(zx(t)),Lq({...e,[i]:l},t,n,r)}}return Lx(e)?LW(e,t,r):function(e){let t=e.type;if(t)return e;let{datum:n}=e;return t=OC(n)?"quantitative":OD(n)?"nominal":zT(n)?"temporal":void 0,{...e,type:t}}(e)}function LW(e,t,{compositeMark:n=!1}={}){let{aggregate:r,timeUnit:i,bin:a,field:o}=e,l={...e};if(n||!r||TI(r)||Tj(r)||TP(r)||(zB(`Invalid aggregation operator "${r}".`),delete l.aggregate),i&&(l.timeUnit=zX(i)),o&&(l.field=`${o}`),TG(a)&&(l.bin=LH(a,t)),TV(a)&&!Tm(t)&&zB(`Channel ${t} should not be used with "binned" bin.`),LC(l)){let{type:e}=l,t=function(e){if(e)switch(e=e.toLowerCase()){case"q":case z7:return"quantitative";case"t":case Rt:return"temporal";case"o":case Re:return"ordinal";case"n":case Rn:return"nominal";case Rr:return"geojson"}}(e);e!==t&&(l.type=t),"quantitative"!==e&&Tq(r)&&(zB(`Invalid field type "${e}" for aggregate: "${r}", using "quantitative" instead.`),l.type="quantitative")}else if(!B6(t)){let e=function(e,t){switch(t){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(Ld(e)&&Oy(e.sort))return"ordinal";let{aggregate:n,bin:r,timeUnit:i}=e;if(i)return"temporal";if(r||n&&!Tj(n)&&!TP(n))return"quantitative";if(LF(e)&&e.scale?.type)switch(Ra[e.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}(l,t);l.type=e}if(LC(l)){let{compatible:e,warning:n}=function(e,t){let n=e.type;if("geojson"===n&&"shape"!==t)return{compatible:!1,warning:`Channel ${t} should not be used with a geojson data.`};switch(t){case"row":case Bp:case Bg:if(!LB(e))return{compatible:!1,warning:`${t} encoding should be discrete (ordinal / nominal / binned).`};return LY;case"x":case"y":case BE:case Bk:case BC:case BT:case BR:case"key":case BL:case BP:case"url":case B$:case Bv:case Bm:case Bj:return LY;case B_:case BA:case Bx:case Bw:if(n!==z7)return{compatible:!1,warning:`Channel ${t} should be used with a quantitative field only, not ${e.type} field.`};return LY;case BM:case BS:case BN:case BO:case BF:case Bb:case By:case"x2":case"y2":if("nominal"===n&&!e.sort)return{compatible:!1,warning:`Channel ${t} should not be used with an unsorted discrete field.`};return LY;case BD:case BB:if(!LB(e)&&!(LF(e)&&e.scale?.type in Rc))return{compatible:!1,warning:`${t} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`};return LY;case Bz:if("nominal"===e.type&&!("sort"in e))return{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."};return LY}}(l,t)||{};!1===e&&zB(n)}if(Ld(l)&&OD(l.sort)){let{sort:e}=l;if(e in Lo)return{...l,sort:{encoding:e}};let t=e.substr(1);if("-"===e.charAt(0)&&t in Lo)return{...l,sort:{encoding:t,order:"descending"}}}if(Lc(l)){let{header:e}=l;if(e){let{orient:t,...n}=e;if(t)return{...l,header:{...n,labelOrient:e.labelOrient||t,titleOrient:e.titleOrient||t}}}}return l}function LH(e,t){return Ok(e)?{maxbins:TZ(t)}:"binned"===e?{binned:!0}:e.maxbins||e.step?e:{...e,maxbins:TZ(t)}}let LY={compatible:!0};function LG(e){var t;let{formatType:n}=LP(e);return"time"===n||!n&&(t=e)&&("temporal"===t.type||Lx(t)&&!!t.timeUnit)}function LV(e,{timeUnit:t,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){let a;let o=t&&zX(t)?.unit,l=o||"temporal"===n;return TJ(e)?a=e.expr:T1(e)?a=e.signal:zT(e)?(l=!0,a=zI(e)):(OD(e)||OC(e))&&l&&(a=`datetime(${OI(e)})`,zU[o]&&(OC(e)&&e<1e4||OD(e)&&isNaN(Date.parse(e)))&&(a=zI({[o]:e}))),a?r&&l?`time(${a})`:a:i?void 0:OI(e)}function LX(e,t){let{type:n}=e;return t.map(t=>{let r=LV(t,{timeUnit:Lx(e)?e.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return void 0!==r?{signal:r}:t})}function LZ(e,t){return TG(e.bin)?TN(t)&&["ordinal","nominal"].includes(e.type):(console.warn("Only call this method for binned field defs."),!1)}let LJ={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function LQ(e){return e&&e.condition}let LK=["domain","grid","labels","ticks","title"],L0={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},L1={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},L2={...L1,style:1,labelExpr:1,encoding:1};O1(L2);let L3=O1({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function L5(e){return"mark"in e}class L6{constructor(e,t){this.name=e,this.run=t}hasMatchingType(e){if(L5(e)){var t;return(RY(t=e.mark)?t.type:t)===this.name}return!1}}function L4(e,t){let n=e&&e[t];return!!n&&(Oy(n)?OH(n,e=>!!e.field):Lx(n)||Lv(n))}function L8(e){return OH(BX,t=>{if(L4(e,t)){let n=e[t];if(Oy(n))return OH(n,e=>!!e.aggregate);{let e=Lj(n);return e&&!!e.aggregate}}return!1})}function L9(e,t){let n=[],r=[],i=[],a=[],o={};return Pe(e,(l,u)=>{if(Lx(l)){let{field:s,aggregate:c,bin:f,timeUnit:h,...d}=l;if(c||h||f){let e=LL(l),p=e&&e.title,g=LO(l,{forAs:!0}),m={...p?[]:{title:LR(l,t,{allowDisabling:!0})},...d,field:g};if(c){let e;if(Tj(c)?(e="argmax",g=LO({op:"argmax",field:c.argmax},{forAs:!0}),m.field=`${g}.${s}
17`):TP(c)?(e="argmin",g=LO({op:"argmin",field:c.argmin},{forAs:!0}),m.field=`${g}.${s}`):"boxplot"!==c&&"errorbar"!==c&&"errorband"!==c&&(e=c),e){let t={op:e,as:g};s&&(t.field=s),a.push(t)}}else if(n.push(g),LC(l)&&TG(f)){if(r.push({bin:f,field:s,as:g}),n.push(LO(l,{binSuffix:"end"})),LZ(l,u)&&n.push(LO(l,{binSuffix:"range"})),Tm(u)){let e={field:`${g}_end`};o[`${u}2`]=e}m.bin="binned",B6(u)||(m.type=z7)}else if(h){i.push({timeUnit:h,field:s,as:g});let e=LC(l)&&l.type!==Rt&&"time";e&&(u===BT||u===BL?m.formatType=e:Th[u]?m.legend={formatType:e,...m.legend}:Tm(u)&&(m.axis={formatType:e,...m.axis}))}o[u]=m}else n.push(s),o[u]=e[u]}else o[u]=e[u]}),{bins:r,timeUnits:i,aggregate:a,groupby:n,encoding:o}}function L7(e,t){let n={};for(let r of O1(e)){let i=LU(e[r],r,t,{compositeMark:!0});n[r]=i}return n}function Pe(e,t,n){if(e)for(let r of O1(e)){let i=e[r];if(Oy(i))for(let e of i)t.call(n,e,r);else t.call(n,i,r)}}function Pt(e,t){return O1(t).reduce((n,r)=>{switch(r){case"x":case"y":case BP:case Bj:case"url":case"x2":case"y2":case Bv:case Bb:case Bm:case By:case Bx:case B_:case Bw:case BA:case BT:case BD:case B$:case BL:return n;case Bz:if("line"===e||"trail"===e)return n;case BR:case"key":{let e=t[r];if(Oy(e)||Lx(e))for(let t of Ow(e))t.aggregate||n.push(LO(t,{}));return n}case BF:if("trail"===e)return n;case BE:case Bk:case BC:case BM:case BS:case BN:case BB:case BO:{let e=Lj(t[r]);return e&&!e.aggregate&&n.push(LO(e,{})),n}}},[])}function Pn(e,t,n,r=!0){if("tooltip"in n)return{tooltip:n.tooltip};let i=e.map(({fieldPrefix:e,titlePrefix:n})=>{let i=r?` of ${Pr(t)}`:"";return{field:e+t.field,type:t.type,title:T1(n)?{signal:`${n}"${escape(i)}"`}:n+i}}),a=(function(e){let t=[];for(let n of O1(e))if(L4(e,n)){let r=e[n],i=Ow(r);for(let e of i)Lx(e)?t.push(e):Lv(e)&&t.push(e.condition)}return t})(n).map(LN);return{tooltip:[...i,...OV(a,OU)]}}function Pr(e){let{title:t,field:n}=e;return Bo(t,n)}function Pi(e,t,n,r,i){let{scale:a,axis:o}=n;return({partName:l,mark:u,positionPrefix:s,endPositionPrefix:c,extraEncoding:f={}})=>{let h=Pr(n);return Pa(e,l,i,{mark:u,encoding:{[t]:{field:`${s}_${n.field}`,type:n.type,...void 0!==h?{title:h}:{},...void 0!==a?{scale:a}:{},...void 0!==o?{axis:o}:{}},...OD(c)?{[`${t}2`]:{field:`${c}_${n.field}`}}:{},...r,...f}})}}function Pa(e,t,n,r){let{clip:i,color:a,opacity:o}=e,l=e.type;return e[t]||void 0===e[t]&&n[t]?[{...r,mark:{...n[t],...i?{clip:i}:{},...a?{color:a}:{},...o?{opacity:o}:{},...RY(r.mark)?r.mark:{type:r.mark},style:`${l}-${t}`,...Ok(e[t])?{}:e[t]}}]:[]}function Po(e,t,n){let{encoding:r}=e,i="vertical"===t?"y":"x",a=r[i],o=r[`${i}2`],l=r[`${i}Error`],u=r[`${i}Error2`];return{continuousAxisChannelDef:Pl(a,n),continuousAxisChannelDef2:Pl(o,n),continuousAxisChannelDefError:Pl(l,n),continuousAxisChannelDefError2:Pl(u,n),continuousAxis:i}}function Pl(e,t){if(!e||!e.aggregate)return e;{let{aggregate:n,...r}=e;return n!==t&&zB(`Continuous axis should not have customized aggregation function ${n}; ${t} already agregates the axis.`),r}}function Pu(e,t){let{mark:n,encoding:r}=e,{x:i,y:a}=r;if(RY(n)&&n.orient)return n.orient;if(LA(i)){if(LA(a)){let e=Lx(i)&&i.aggregate,n=Lx(a)&&a.aggregate;if(!e&&n===t)return"vertical";if(n||e!==t){if(e!==t||n!==t)return LG(a)&&!LG(i)?"horizontal":"vertical";throw Error("Both x and y cannot have aggregate")}}return"horizontal"}if(LA(a))return"vertical";throw Error(`Need a valid continuous axis for ${t}s`)}let Ps="boxplot",Pc=new L6(Ps,Ph);function Pf(e){return OC(e)?"tukey":e}function Ph(e,{config:t}){let n;e={...e,encoding:L7(e.encoding,t)};let{mark:r,encoding:i,params:a,projection:o,...l}=e,u=RY(r)?r:{type:r};a&&zB(zy("boxplot"));let s=u.extent??t.boxplot.extent,c=zi("size",u,t),f=Pf(s),{bins:h,timeUnits:d,transform:p,continuousAxisChannelDef:g,continuousAxis:m,groupby:y,aggregate:v,encodingWithoutContinuousAxis:b,ticksOrient:x,boxOrient:_,customTooltipWithoutAggregatedField:w}=function(e,t,n){let r=Pu(e,Ps),{continuousAxisChannelDef:i,continuousAxis:a}=Po(e,r,Ps),o=i.field,l=Pf(t),u=[...Pd(o),{op:"median",field:o,as:`mid_box_${o}`},{op:"min",field:o,as:("min-max"===l?"lower_whisker_":"min_")+o},{op:"max",field:o,as:("min-max"===l?"upper_whisker_":"max_")+o}],s="min-max"===l||"tukey"===l?[]:[{calculate:`datum["upper_box_${o}"] - datum["lower_box_${o}"]`,as:`iqr_${o}`},{calculate:`min(datum["upper_box_${o}"] + datum["iqr_${o}"] * ${t}, datum["max_${o}"])`,as:`upper_whisker_${o}`},{calculate:`max(datum["lower_box_${o}"] - datum["iqr_${o}"] * ${t}, datum["min_${o}"])`,as:`lower_whisker_${o}`}],{[a]:c,...f}=e.encoding,{customTooltipWithoutAggregatedField:h,filteredEncoding:d}=function(e){let t,n;let{tooltip:r,...i}=e;if(!r)return{filteredEncoding:i};if(Oy(r)){for(let e of r)e.aggregate?(t||(t=[]),t.push(e)):(n||(n=[]),n.push(e));t&&(i.tooltip=t)}else r.aggregate?i.tooltip=r:n=r;return Oy(n)&&1===n.length&&(n=n[0]),{customTooltipWithoutAggregatedField:n,filteredEncoding:i}}(f),{bins:p,timeUnits:g,aggregate:m,groupby:y,encoding:v}=L9(d,n),b=[...p,...g,{aggregate:[...m,...u],groupby:y},...s];return{bins:p,timeUnits:g,transform:b,groupby:y,aggregate:m,continuousAxisChannelDef:i,continuousAxis:a,encodingWithoutContinuousAxis:v,ticksOrient:"vertical"===r?"horizontal":"vertical",boxOrient:r,customTooltipWithoutAggregatedField:h}}(e,s,t),{color:A,size:E,...k}=b,C=e=>Pi(u,m,g,e,t.boxplot),D=C(k),F=C(b),$=C({...k,...E?{size:E}:{}}),M=Pn([{fieldPrefix:"min-max"===f?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:"min-max"===f?"lower_whisker_":"min_",titlePrefix:"Min"}],g,b),S={type:"tick",color:"black",opacity:1,orient:x,invalid:null,aria:!1},N="min-max"===f?M:Pn([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],g,b),O=[...D({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:N}),...D({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:N}),...D({partName:"ticks",mark:S,positionPrefix:"lower_whisker",extraEncoding:N}),...D({partName:"ticks",mark:S,positionPrefix:"upper_whisker",extraEncoding:N})],B=[..."tukey"!==f?O:[],...F({partName:"box",mark:{type:"bar",...c?{size:c}:{},orient:_,invalid:null,ariaRoleDescription:"box"},positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:M}
17),...$({partName:"median",mark:{type:"tick",invalid:null,...Ov(t.boxplot.median)&&t.boxplot.median.color?{color:t.boxplot.median.color}:{},...c?{size:c}:{},orient:x,aria:!1},positionPrefix:"mid_box",extraEncoding:M})];if("min-max"===f)return{...l,transform:(l.transform??[]).concat(p),layer:B};let T=`datum["lower_box_${g.field}"]`,z=`datum["upper_box_${g.field}"]`,R=`(${z} - ${T})`,L=`${T} - ${s} * ${R}`,P=`${z} + ${s} * ${R}`,j=`datum["${g.field}"]`,I={joinaggregate:Pd(g.field),groupby:y},U={transform:[{filter:`(${L} <= ${j}) && (${j} <= ${P})`},{aggregate:[{op:"min",field:g.field,as:`lower_whisker_${g.field}`},{op:"max",field:g.field,as:`upper_whisker_${g.field}`},{op:"min",field:`lower_box_${g.field}`,as:`lower_box_${g.field}`},{op:"max",field:`upper_box_${g.field}`,as:`upper_box_${g.field}`},...v],groupby:y}],layer:O},{tooltip:q,...W}=k,{scale:H,axis:Y}=g,G=Pr(g),V=Oj(Y,["title"]),X=Pa(u,"outliers",t.boxplot,{transform:[{filter:`(${j} < ${L}) || (${j} > ${P})`}],mark:"point",encoding:{[m]:{field:g.field,type:g.type,...void 0!==G?{title:G}:{},...void 0!==H?{scale:H}:{},...O0(V)?{}:{axis:V}},...W,...A?{color:A}:{},...w?{tooltip:w}:{}}})[0],Z=[...h,...d,I];return X?n={transform:Z,layer:[X,U]}:(n=U).transform.unshift(...Z),{...l,layer:[n,{transform:p,layer:B}]}}function Pd(e){return[{op:"q1",field:e,as:`lower_box_${e}`},{op:"q3",field:e,as:`upper_box_${e}`}]}let Pp="errorbar",Pg=new L6(Pp,Pm);function Pm(e,{config:t}){e={...e,encoding:L7(e.encoding,t)};let{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:a,ticksOrient:o,markDef:l,outerSpec:u,tooltipEncoding:s}=Py(e,Pp,t);delete a.size;let c=Pi(l,i,r,a,t.errorbar),f=l.thickness,h=l.size,d={type:"tick",orient:o,aria:!1,...void 0!==f?{thickness:f}:{},...void 0!==h?{size:h}:{}},p=[...c({partName:"ticks",mark:d,positionPrefix:"lower",extraEncoding:s}),...c({partName:"ticks",mark:d,positionPrefix:"upper",extraEncoding:s}),...c({partName:"rule",mark:{type:"rule",ariaRoleDescription:"errorbar",...void 0!==f?{size:f}:{}},positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:s})];return{...u,transform:n,...p.length>1?{layer:p}:{...p[0]}}}function Py(e,t,n){let{mark:r,encoding:i,params:a,projection:o,...l}=e,u=RY(r)?r:{type:r};a&&zB(zy(t));let{orient:s,inputType:c}=function(e,t){let{encoding:n}=e;if((Lk(n.x)||Lk(n.y))&&!Lk(n.x2)&&!Lk(n.y2)&&!Lk(n.xError)&&!Lk(n.xError2)&&!Lk(n.yError)&&!Lk(n.yError2))return{orient:Pu(e,t),inputType:"raw"};let r=Lk(n.x2)||Lk(n.y2),i=Lk(n.xError)||Lk(n.xError2)||Lk(n.yError)||Lk(n.yError2),a=n.x,o=n.y;if(r){if(i)throw Error(`${t} cannot be both type aggregated-upper-lower and aggregated-error`);let e=n.x2,r=n.y2;if(Lk(e)&&Lk(r))throw Error(`${t} cannot have both x2 and y2`);if(Lk(e)){if(LA(a))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw Error(`Both x and x2 have to be quantitative in ${t}`)}if(Lk(r)){if(LA(o))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw Error(`Both y and y2 have to be quantitative in ${t}`)}throw Error("No ranged axis")}{let e=n.xError,r=n.xError2,i=n.yError,l=n.yError2;if(Lk(r)&&!Lk(e))throw Error(`${t} cannot have xError2 without xError`);if(Lk(l)&&!Lk(i))throw Error(`${t} cannot have yError2 without yError`);if(Lk(e)&&Lk(i))throw Error(`${t} cannot have both xError and yError with both are quantiative`);if(Lk(e)){if(LA(a))return{orient:"horizontal",inputType:"aggregated-error"};throw Error("All x, xError, and xError2 (if exist) have to be quantitative")}if(Lk(i)){if(LA(o))return{orient:"vertical",inputType:"aggregated-error"};throw Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw Error("No ranged axis")}}(e,t),{continuousAxisChannelDef:f,continuousAxisChannelDef2:h,continuousAxisChannelDefError:d,continuousAxisChannelDefError2:p,continuousAxis:g}=Po(e,s,t),{errorBarSpecificAggregate:m,postAggregateCalculates:y,tooltipSummary:v,tooltipTitleWithFieldName:b}=function(e,t,n,r,i,a,o,l){let u,s=[],c=[],f=t.field,h=!1;if("raw"===a){let t=e.center?e.center:e.extent?"iqr"===e.extent?"median":"mean":l.errorbar.center,n=e.extent?e.extent:"mean"===t?"stderr":"iqr";if("median"===t!=("iqr"===n)&&zB(`${t} is not usually used with ${n} for ${o}.`),"stderr"===n||"stdev"===n)s=[{op:n,field:f,as:`extent_${f}`},{op:t,field:f,as:`center_${f}`}],c=[{calculate:`datum["center_${f}"] + datum["extent_${f}"]`,as:`upper_${f}`},{calculate:`datum["center_${f}"] - datum["extent_${f}"]`,as:`lower_${f}`}],u=[{fieldPrefix:"center_",titlePrefix:O9(t)},{fieldPrefix:"upper_",titlePrefix:Pv(t,n,"+")}
17,{fieldPrefix:"lower_",titlePrefix:Pv(t,n,"-")}],h=!0;else{let e,t,r;"ci"===n?(e="mean",t="ci0",r="ci1"):(e="median",t="q1",r="q3"),s=[{op:t,field:f,as:`lower_${f}`},{op:r,field:f,as:`upper_${f}`},{op:e,field:f,as:`center_${f}`}],u=[{fieldPrefix:"upper_",titlePrefix:LR({field:f,aggregate:r,type:"quantitative"},l,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:LR({field:f,aggregate:t,type:"quantitative"},l,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:LR({field:f,aggregate:e,type:"quantitative"},l,{allowDisabling:!1})}]}}else{if(e.center||e.extent){var d,p;zB((d=e.center,p=e.extent,`${p?"extent ":""}${p&&d?"and ":""}${d?"center ":""}${p&&d?"are ":"is "}not needed when data are aggregated.`))}for(let e of("aggregated-upper-lower"===a?(u=[],c=[{calculate:`datum["${n.field}"]`,as:`upper_${f}`},{calculate:`datum["${f}"]`,as:`lower_${f}`}]):"aggregated-error"===a&&(u=[{fieldPrefix:"",titlePrefix:f}],c=[{calculate:`datum["${f}"] + datum["${r.field}"]`,as:`upper_${f}`}],i?c.push({calculate:`datum["${f}"] + datum["${i.field}"]`,as:`lower_${f}`}):c.push({calculate:`datum["${f}"] - datum["${r.field}"]`,as:`lower_${f}`})),c))u.push({fieldPrefix:e.as.substring(0,6),titlePrefix:Br(Br(e.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:c,errorBarSpecificAggregate:s,tooltipSummary:u,tooltipTitleWithFieldName:h}}(u,f,h,d,p,c,t,n),{[g]:x,["x"===g?"x2":"y2"]:_,["x"===g?"xError":"yError"]:w,["x"===g?"xError2":"yError2"]:A,...E}=i,{bins:k,timeUnits:C,aggregate:D,groupby:F,encoding:$}=L9(E,n),M=[...D,...m],S="raw"!==c?[]:F,N=Pn(v,f,$,b);return{transform:[...l.transform??[],...k,...C,...0===M.length?[]:[{aggregate:M,groupby:S}],...y],groupby:S,continuousAxisChannelDef:f,continuousAxis:g,encodingWithoutContinuousAxis:$,ticksOrient:"vertical"===s?"horizontal":"vertical",markDef:u,outerSpec:l,tooltipEncoding:N}}function Pv(e,t,n){return`${O9(e)} ${n} ${t}`}let Pb="errorband",Px=new L6(Pb,P_);function P_(e,{config:t}){e={...e,encoding:L7(e.encoding,t)};let{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:a,markDef:o,outerSpec:l,tooltipEncoding:u}=Py(e,Pb,t),s=Pi(o,i,r,a,t.errorband),c=void 0!==e.encoding.x&&void 0!==e.encoding.y,f={type:c?"area":"rect"},h={type:c?"line":"rule"},d={...o.interpolate?{interpolate:o.interpolate}:{},...o.tension&&o.interpolate?{tension:o.tension}:{}};return c?(f={...f,...d,ariaRoleDescription:"errorband"},h={...h,...d,aria:!1}):o.interpolate?zB(zM("interpolate")):o.tension&&zB(zM("tension")),{...l,transform:n,layer:[...s({partName:"band",mark:f,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:u}),...s({partName:"borders",mark:h,positionPrefix:"lower",extraEncoding:u}),...s({partName:"borders",mark:h,positionPrefix:"upper",extraEncoding:u})]}}let Pw={};function PA(e,t,n){let r=new L6(e,t);Pw[e]={normalizer:r,parts:n}}PA(Ps,Ph,["box","median","outliers","rule","ticks"]),PA(Pp,Pm,["ticks","rule"]),PA(Pb,P_,["band","borders"]);let PE=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],Pk={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},PC={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},PD=O1(Pk),PF=O1(PC),P$=O1({header:1,headerRow:1,headerColumn:1,headerFacet:1}),PM=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],PS={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1};O1(PS);let PN="_vgsid_";function PO(e){return!!e&&("legend"===e||!!e.legend)}function PB(e){return PO(e)&&Ov(e)}function PT(e){return!!e.select}function Pz(e){let t=[];for(let n of e||[]){if(PT(n))continue;let{expr:e,bind:r,...i}=n;
17if(r&&e){let n={...i,bind:r,init:e};t.push(n)}else{let n={...i,...e?{update:e}:{},...r?{bind:r}:{}};t.push(n)}}return t}function PR(e){return"concat"in e}function PL(e){return"vconcat"in e}function PP(e){return"hconcat"in e}function Pj(e){return Ov(e)&&void 0!==e.step}function PI(e){return e.view||e.width||e.height}let PU=O1({align:1,bounds:1,center:1,columns:1,spacing:1});function Pq(e,t){return e[t]??e["width"===t?"continuousWidth":"continuousHeight"]}function PW(e,t){let n=PH(e,t);return Pj(n)?n.step:PY}function PH(e,t){let n=e[t]??e["width"===t?"discreteWidth":"discreteHeight"];return Bo(n,{step:e.step})}let PY=20,PG={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:PY},mark:{color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},arc:{},area:{},bar:{binSpacing:1,continuousBandSize:5,timeUnitBandPosition:.5},circle:{},geoshape:{},image:{},line:{},point:{},rect:{binSpacing:0,continuousBandSize:5,timeUnitBandPosition:.5},rule:{color:"black"},square:{},text:{color:"black"},tick:{thickness:1},trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:{pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4},projection:{},legend:{gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:{point:{on:"click",fields:[PN],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[mousedown, window:mouseup] > window:mousemove!",encodings:["x","y"],translate:"[mousedown, window:mouseup] > window:mousemove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}},style:{},title:{},facet:{spacing:20},concat:{spacing:20}},PV={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},PX={blue:"#4c78a8",orange:"#f58518",red:"#e45756",teal:"#72b7b2",green:"#54a24b",yellow:"#eeca3b",purple:"#b279a2",pink:"#ff9da6",brown:"#9d755d",gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function PZ(e){let t=O1(e||{}),n={};for(let r of t){let t=e[r];n[r]=LQ(t)?T8(t):T9(t)}return n}let PJ=[...RX,...L3,...P$,"background","padding","legend","lineBreak","scale","style","title","view"];function PQ(e={}){let{color:t,font:n,fontSize:r,...i}=e,a=Ox({},PG,n?{text:{font:n},style:{"guide-label":{font:n},"guide-title":{font:n},"group-title":{font:n},"group-subtitle":{font:n}}}:{},t?function(e={}){return{signals:[{name:"color",value:Ov(e)?{...PX,...e}:PX}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}(t):{},r?{signals:[{name:"fontSize",value:Ov(r)?{...PV,...r}:PV}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}:{},i||{}),o=Oj(a,PJ);for(let e of["background","lineBreak","padding"])a[e]&&(o[e]=T9(a[e]));for(let e of RX)a[e]&&(o[e]=TQ(a[e]));for(let e of L3)a[e]&&(o[e]=PZ(a[e]));for(let e of P$)a[e]&&(o[e]=TQ(a[e]));return a.legend&&(o.legend=TQ(a.legend)),a.scale&&(o.scale=TQ(a.scale)),a.style&&(o.style=function(e){let t=O1(e),n={};for(let r of t)n[r]=PZ(e[r]);return n}(a.style)),a.title&&(o.title=TQ(a.title)),a.view&&(o.view=TQ(a.view)),o}let PK=["view",...RH],P0=["color","fontSize","background","padding","facet","concat","numberFormat","t
17imeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],P1={view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"],area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],tick:["bandSize","thickness"]};function P2(e){return"layer"in e}class P3{map(e,t){return Lf(e)?this.mapFacet(e,t):"repeat"in e?this.mapRepeat(e,t):PP(e)?this.mapHConcat(e,t):PL(e)?this.mapVConcat(e,t):PR(e)?this.mapConcat(e,t):this.mapLayerOrUnit(e,t)}mapLayerOrUnit(e,t){if(P2(e))return this.mapLayer(e,t);if(L5(e))return this.mapUnit(e,t);throw Error(zf(e))}mapLayer(e,t){return{...e,layer:e.layer.map(e=>this.mapLayerOrUnit(e,t))}}mapHConcat(e,t){return{...e,hconcat:e.hconcat.map(e=>this.map(e,t))}}mapVConcat(e,t){return{...e,vconcat:e.vconcat.map(e=>this.map(e,t))}}mapConcat(e,t){let{concat:n,...r}=e;return{...r,concat:n.map(e=>this.map(e,t))}}mapFacet(e,t){return{...e,spec:this.map(e.spec,t)}}mapRepeat(e,t){return{...e,spec:this.map(e.spec,t)}}}let P5={zero:1,center:1,normalize:1},P6=new Set([R$,RS,RM,Rz,RB,Rj,RI,RO,RR,RL]),P4=new Set([RS,RM,R$]);function P8(e,t){let n="x"===t?"y":"radius",r=e[t],i=e[n];if(Lx(r)&&Lx(i)){if("quantitative"===L_(r)&&"quantitative"===L_(i)){if(r.stack)return t;if(i.stack)return n;let e=Lx(r)&&!!r.aggregate,a=Lx(i)&&!!i.aggregate;if(e!==a)return e?t:n;{let e=r.scale?.type,a=i.scale?.type;if(e&&"linear"!==e)return n;if(a&&"linear"!==a)return t}}else if("quantitative"===L_(r))return t;else if("quantitative"===L_(i))return n}else if("quantitative"===L_(r))return t;else if("quantitative"===L_(i))return n}function P9(e,t,n={}){let r;let i=RY(e)?e.type:e;if(!P6.has(i))return null;let a=P8(t,"x")||P8(t,"theta");if(!a)return null;let o=t[a],l=Lx(o)?LO(o,{}):void 0,u=function(e){switch(e){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}(a),s=t[u],c=Lx(s)?LO(s,{}):void 0;c===l&&(c=void 0,s=void 0,u=void 0);let f=Td.reduce((e,n)=>{if("tooltip"!==n&&L4(t,n)){let r=t[n];for(let t of Ow(r)){let r=Lj(t);if(r.aggregate)continue;let i=LO(r,{});i&&i===c||e.push({channel:n,fieldDef:r})}}return e},[]);if(void 0!==o.stack?r=Ok(o.stack)?o.stack?"zero":null:o.stack:P4.has(i)&&(r="zero"),!r||!(r in P5)||L8(t)&&0===f.length)return null;if(o?.scale?.type&&o?.scale?.type!==Ri.LINEAR){if(n.disallowNonLinearStack)return null;zB(`Cannot stack non-linear scale (${o.scale.type}).`)}return Lk(t[B9(a)])?(void 0!==o.stack&&zB(`Cannot stack "${a}" if there is already "${a}2".`),null):(Lx(o)&&o.aggregate&&!OW(TW,o.aggregate)&&zB(`Stacking is applied even though the aggregate function is non-summative ("${o.aggregate}").`),{groupbyChannel:s?u:void 0,groupbyField:c,fieldChannel:a,impute:null!==o.impute&&Rq(i),stackBy:f,offset:r})}function P7(e,t={},n){return"transparent"===e.point?{opacity:0}:e.point?Ov(e.point)?e.point:{}:void 0!==e.point?null:t.point||n.shape?Ov(t.point)?t.point:{}:void 0}function je(e,t={}){return e.line?!0===e.line?{}:e.line:void 0!==e.line?null:t.line?!0===t.line?{}:t.line:void 0}class jt{constructor(){this.name="path-overlay"}hasMatchingType(e,t){if(L5(e)){let{mark:n,encoding:r}=e,i=RY(n)?n:{type:n};switch(i.type){case"line":case"rule":case"trail":return!!P7(i,t[i.type],r);case"area":return!!P7(i,t[i.type],r)||!!je(i,t[i.type])}}return!1}run(e,t,n){let{config:r}=t,{params:i,projection:a,mark:o,encoding:l,...u}=e,s=L7(l,r),c=RY(o)?o:{type:o},f=P7(c,r[c.type],s),h="area"===c.type&&je(c,r[c.type]),d=[{...i?{params:i}:{},mark:function(e){let{point:t,line:n,...r}=e;return O1(r).length>1?r:r.type}({..."area"===c.type&&void 0===c.opacity&&void 0===c.fillOpacity?{opacity:.7}:{},...c}),encoding:Oj(s,["shape"])}],p=P9(c,s),g=s;if(p){let{fieldChannel:e,offset:t}=p;g={...s,[e]:{...s[e],...t?{stack:t}:{}}}}return h&&d.push({...a?{projection:a}:{},mark:{type:"line",...OP(c,["clip","interpolate","tension","tooltip"]),...h},encoding:g}),f&&d.push({...a?{projection:a}:{},mark:{type:"point",opacity:1,filled:!0,...OP(c,["clip","tooltip"]),...f},encoding:g}),n({...u,layer:d},{...t,config:function(e){for(let t of["line","area","rule","trail"])e[t]&&(e={...e,[t]:Oj(e[t],["point","line"])});return e}(r)})}}function jn(e,t,n){let r=t[e];return r&&!OD(r)&&"repeat"in r?r.repeat in n?{...t,[e]:n[r.repeat]}:void zB(`Unknown repeated value "${r.repeat}".`):t}function jr(e,t){if(void 0!==(e=jn("field",e,t))){if(null===e)return null;if(Ld(e)&&Lu(e.sort)){let n=jn("field",e.sort,t);e={...e,...n?{sort:n}:{}}}return e}}function ji(e,t){if(Lx(e))return jr(e,t);{let n=jn("datum",e,t);return n===e||n.type||(n.type="nominal"),n}}function ja(e,t){if(Lk(e)){let n=ji(e,t);if(n)return n;if(Ly(e))return{condition:e.condition}}else{if(Lb(e)){let n=ji(e.condition,t);if(n)return{...e,condition:n};{let{condition:t,...n}=e;return n}}return e}}function jo(e,t){let n={};for(let r in e)if(OE(e,r)){let i=e[r];if(Oy(i))n[r]=i.map(e=>ja(e,t)).filter(e=>e);else{let e=ja(i,t);void 0!==e&&(n[r]=e)}}return n}class jl{constructor(){this.name="RuleForRangedLine"}hasMatchingType(e){if(L5(e)){let{encoding:t,mark:n}=e;if("line"===n||RY(n)&&"line"===n.type)for(let e of B5){let n=B4(e),r=t[n];if(t[e]&&(Lx(r)&&!TV(r.bin)||Lw(r)))return!0}}return!1}
17run(e,t,n){var r;let{encoding:i,mark:a}=e;return zB((r=!!i.x2,`Line mark is for continuous lines and thus cannot be used with ${r&&i.y2?"x2 and y2":r?"x2":"y2"}. We will use the rule mark (line segments) instead.`)),console.log(a),n({...e,mark:Ov(a)?{...a,type:"rule"}:"rule"},t)}}function ju({parentEncoding:e,encoding:t={},layer:n}){let r={};if(e){let i=new Set([...O1(e),...O1(t)]);for(let a of i){let i=t[a],o=e[a];if(Lk(i)){let e={...o,...i};r[a]=e}else Lb(i)?r[a]={...i,condition:{...o,...i.condition}}:i||null===i?r[a]=i:(n||LD(o)||T1(o)||Lk(o)||Oy(o))&&(r[a]=o)}}else r=t;return!r||O0(r)?void 0:r}function js(e){let{parentProjection:t,projection:n}=e;return t&&n&&zB(function(e){let{parentProjection:t,projection:n}=e;return`Layer's shared projection ${OI(t)} is overridden by a child projection ${OI(n)}.`}({parentProjection:t,projection:n})),n??t}function jc(e){return"filter"in e}function jf(e){return"lookup"in e}function jh(e,t){let{transform:n,...r}=e;if(n){let e=n.map(e=>{if(jc(e))return{filter:jp(e,t)};if("bin"in e&&Ov(e.bin))return{...e,bin:jd(e.bin)};if(jf(e)){let{selection:t,...n}=e.from;return t?{...e,from:{param:t,...n}}:e}return e});return{...r,transform:e}}return e}function jd(e){let t=e.extent;if(t?.selection){let{selection:n,...r}=t;return{...e,extent:{...r,param:n}}}return e}function jp(e,t){let n=e=>Oz(e,e=>{var n;let r=t.emptySelections[e]??!0,i={param:e,empty:r};return(n=t.selectionPredicates)[e]??(n[e]=[]),t.selectionPredicates[e].push(i),i});return e.selection?n(e.selection):Oz(e.test||e.filter,e=>e.selection?n(e.selection):e)}class jg extends P3{map(e,t){let n=t.selections??[];if(e.params&&!L5(e)){let t=[];for(let r of e.params)PT(r)?n.push(r):t.push(r);e.params=t}return t.selections=n,super.map(e,jm(e,t))}mapUnit(e,t){let n=t.selections;if(!n||!n.length)return e;let r=(t.path??[]).concat(e.name),i=[];for(let t of n)if(t.views&&t.views.length)for(let n of t.views)(tI(n)&&(n===e.name||r.indexOf(n)>=0)||e2(n)&&n.map(e=>r.indexOf(e)).every((e,t,n)=>-1!==e&&(0===t||e>n[t-1])))&&i.push(t);else i.push(t);return i.length&&(e.params=i),e}}for(let e of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){let t=jg.prototype[e];jg.prototype[e]=function(e,n){return t.call(this,e,jm(e,n))}}function jm(e,t){return e.name?{...t,path:(t.path??[]).concat(e.name)}:t}function jy(e,t){void 0===t&&(t=PQ(e.config));let n=function(e,t={}){let n={config:t};return jx.map(jv.map(jb.map(e,n),n),n)}(e,t),{width:r,height:i}=e,a=function(e,t,n){let{width:r,height:i}=t,a=L5(e)||P2(e),o={};a?"container"==r&&"container"==i?(o.type="fit",o.contains="padding"):"container"==r?(o.type="fit-x",o.contains="padding"):"container"==i&&(o.type="fit-y",o.contains="padding"):("container"==r&&(zB(zh("width")),r=void 0),"container"==i&&(zB(zh("height")),i=void 0));let l={type:"pad",...o,...n?j_(n.autosize):{},...j_(e.autosize)};if("fit"!==l.type||a||(zB('Autosize "fit" only works for single views and layered views.'),l.type="pad"),"container"!=r||"fit"==l.type||"fit-x"==l.type||zB(zd("width")),"container"!=i||"fit"==l.type||"fit-y"==l.type||zB(zd("height")),!OR(l,{type:"pad"}))return l}(n,{width:r,height:i,autosize:e.autosize},t);return{...n,...a?{autosize:a}:{}}}let jv=new class extends P3{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[Pc,Pg,Px,new jt,new jl]}map(e,t){if(L5(e)){let n=L4(e.encoding,"row"),r=L4(e.encoding,Bp),i=L4(e.encoding,Bg);if(n||r||i)return this.mapFacetedUnit(e,t)}return super.map(e,t)}mapUnit(e,t){var n,r;let{parentEncoding:i,parentProjection:a}=t,o=(n=e.encoding,(r=t.repeater)?jo(n,r):n),l={...e,...o?{encoding:o}:{}};if(i||a)return this.mapUnitWithParentEncodingOrProjection(l,t);let u=this.mapLayerOrUnit.bind(this);for(let e of this.nonFacetUnitNormalizers)if(e.hasMatchingType(l,t.config))return e.run(l,t,u);return l}mapRepeat(e,t){return!Oy(e.repeat)&&e.repeat.layer?this.mapLayerRepeat(e,t):this.mapNonLayerRepeat(e,t)}mapLayerRepeat(e,t){let{repeat:n,spec:r,...i}=e,{row:a,column:o,layer:l}=n,{repeater:u={},repeaterPrefix:s=""}=t;return a||o?this.mapRepeat({...e,repeat:{...a?{row:a}:{},...o?{column:o}:{}},spec:{repeat:{layer:l},spec:r}},t):{...i,layer:l.map(e=>{let n={...u,layer:e},i=`${(r.name||"")+s}child__layer_${O6(e)}`,a=this.mapLayerOrUnit(r,{...t,repeater:n,repeaterPrefix:i});return a.name=i,a})}}mapNonLayerRepeat(e,t){let{repeat:n,spec:r,data:i,...a}=e;!Oy(n)&&e.columns&&(e=Oj(e,["columns"]),zB(zv("repeat")));let o=[],{repeater:l={},repeaterPrefix:u=""}=t,s=!Oy(n)&&n.row||[l?l.row:null],c=!Oy(n)&&n.column||[l?l.column:null],f=Oy(n)&&n||[l?l.repeat:null];for(let e of f)for(let i of s)for(let a of c){let s={repeat:e,row:i,column:a,layer:l.layer},c=(r.name||"")+u+"child__"+(Oy(n)?`${O6(e)}`:(n.row?`row_${O6(i)}
17`:"")+(n.column?`column_${O6(a)}`:"")),f=this.map(r,{...t,repeater:s,repeaterPrefix:c});f.name=c,o.push(Oj(f,["data"]))}let h=Oy(n)?e.columns:n.column?n.column.length:1;return{data:r.data??i,align:"all",...a,columns:h,concat:o}}mapFacet(e,t){let{facet:n}=e;return Ls(n)&&e.columns&&(e=Oj(e,["columns"]),zB(zv("facet"))),super.mapFacet(e,t)}mapUnitWithParentEncodingOrProjection(e,t){var n;let{encoding:r,projection:i}=e,{parentEncoding:a,parentProjection:o,config:l}=t,u=js({parentProjection:o,projection:i}),s=ju({parentEncoding:a,encoding:(n=t.repeater)?jo(r,n):r});return this.mapUnit({...e,...u?{projection:u}:{},...s?{encoding:s}:{}},{config:l})}mapFacetedUnit(e,t){var n;let{row:r,column:i,facet:a,...o}=e.encoding,{mark:l,width:u,projection:s,height:c,view:f,params:h,encoding:d,...p}=e,{facetMapping:g,layout:m}=this.getFacetMappingAndLayout({row:r,column:i,facet:a},t),y=(n=t.repeater)?jo(o,n):o;return this.mapFacet({...p,...m,facet:g,spec:{...u?{width:u}:{},...c?{height:c}:{},...f?{view:f}:{},...s?{projection:s}:{},mark:l,encoding:y,...h?{params:h}:{}}},t)}getFacetMappingAndLayout(e,t){var n,r;let{row:i,column:a,facet:o}=e;if(i||a){o&&zB((n=[...i?["row"]:[],...a?[Bp]:[]],`Facet encoding dropped as ${n.join(" and ")} ${n.length>1?"are":"is"} also specified.`));let t={},r={};for(let n of["row",Bp]){let i=e[n];if(i){let{align:e,center:a,spacing:o,columns:l,...u}=i;for(let e of(t[n]=u,["align","center","spacing"]))void 0!==i[e]&&(r[e]??(r[e]={}),r[e][n]=i[e])}}return{facetMapping:t,layout:r}}{let{align:e,center:n,spacing:i,columns:a,...l}=o;return{facetMapping:(r=t.repeater)?Ls(l)?jo(l,r):jr(l,r):l,layout:{...e?{align:e}:{},...n?{center:n}:{},...i?{spacing:i}:{},...a?{columns:a}:{}}}}}mapLayer(e,{parentEncoding:t,parentProjection:n,...r}){let{encoding:i,projection:a,...o}=e,l={...r,parentEncoding:ju({parentEncoding:t,encoding:i,layer:!0}),parentProjection:js({parentProjection:n,projection:a})};return super.mapLayer(o,l)}},jb=new class extends P3{map(e,t){return t.emptySelections??(t.emptySelections={}),t.selectionPredicates??(t.selectionPredicates={}),e=jh(e,t),super.map(e,t)}mapLayerOrUnit(e,t){if((e=jh(e,t)).encoding){let n={};for(let[r,i]of O3(e.encoding))n[r]=function e(t,n){let r=OL(t);if(Lx(r)&&Ov(r.bin)&&(r.bin=jd(r.bin)),LF(r)&&r.scale?.domain?.selection){let{selection:e,...t}=r.scale.domain;r.scale.domain={...t,...e?{param:e}:{}}}if(Ly(r)){if(e2(r.condition))r.condition=r.condition.map(e=>{let{selection:t,param:r,test:i,...a}=e;return r?e:{...a,test:jp(e,n)}});else{let{selection:t,param:i,test:a,...o}=e(r.condition,n);r.condition=i?r.condition:{...o,test:jp(r.condition,n)}}}return r}(i,t);e={...e,encoding:n}}return super.mapLayerOrUnit(e,t)}mapUnit(e,t){let{selection:n,...r}=e;return n?{...r,params:O3(n).map(([e,n])=>{let{init:r,bind:i,empty:a,...o}=n;for(let n of("single"===o.type?(o.type="point",o.toggle=!1):"multi"===o.type&&(o.type="point"),t.emptySelections[e]="none"!==a,O2(t.selectionPredicates[e]??{})))n.empty="none"!==a;return{name:e,value:r,select:o,bind:i}})}:e}},jx=new jg;function j_(e){return OD(e)?{type:e}:e??{}}let jw=["background","padding"];function jA(e,t){let n={};for(let t of jw)e&&void 0!==e[t]&&(n[t]=T9(e[t]));return t&&(n.params=e.params),n}class jE{constructor(e={},t={}){this.explicit=e,this.implicit=t}
17clone(){return new jE(OL(this.explicit),OL(this.implicit))}combine(){return{...this.explicit,...this.implicit}}get(e){return Bo(this.explicit[e],this.implicit[e])}getWithExplicit(e){return void 0!==this.explicit[e]?{explicit:!0,value:this.explicit[e]}:void 0!==this.implicit[e]?{explicit:!1,value:this.implicit[e]}:{explicit:!1,value:void 0}}setWithExplicit(e,{value:t,explicit:n}){void 0!==t&&this.set(e,t,n)}set(e,t,n){return delete this[n?"implicit":"explicit"][e],this[n?"explicit":"implicit"][e]=t,this}copyKeyFromSplit(e,{explicit:t,implicit:n}){void 0!==t[e]?this.set(e,t[e],!0):void 0!==n[e]&&this.set(e,n[e],!1)}copyKeyFromObject(e,t){void 0!==t[e]&&this.set(e,t[e],!0)}copyAll(e){for(let t of O1(e.combine())){let n=e.getWithExplicit(t);this.setWithExplicit(t,n)}}}function jk(e){return{explicit:!0,value:e}}function jC(e){return{explicit:!1,value:e}}function jD(e){return(t,n,r,i)=>{let a=e(t.value,n.value);return a>0?t:a<0?n:jF(t,n,r,i)}}function jF(e,t,n,r){if(e.explicit&&t.explicit){var i;zB((i=e.value,`Conflicting ${r.toString()} property "${n.toString()}" (${OI(i)} and ${OI(t.value)}). Using ${OI(i)}.`))}return e}function j$(e,t,n,r,i=jF){return void 0===e||void 0===e.value?t:e.explicit&&!t.explicit?e:t.explicit&&!e.explicit?t:OR(e.value,t.value)?e:i(e,t,n,r)}class jM extends jE{constructor(e={},t={},n=!1){super(e,t),this.explicit=e,this.implicit=t,this.parseNothing=n}clone(){let e=super.clone();return e.parseNothing=this.parseNothing,e}}function jS(e){return"url"in e}function jN(e){return"values"in e}function jO(e){return"name"in e&&!jS(e)&&!jN(e)&&!jB(e)}function jB(e){return e&&(jT(e)||jz(e)||jR(e))}function jT(e){return"sequence"in e}function jz(e){return"sphere"in e}function jR(e){return"graticule"in e}(A=E||(E={}))[A.Raw=0]="Raw",A[A.Main=1]="Main",A[A.Row=2]="Row",A[A.Column=3]="Column",A[A.Lookup=4]="Lookup";let jL=/[[\]{}]/,jP={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};function jj(e,t,n){return b=t||"view",x=n||jP,jU(e.trim()).map(function e(t){return"["===t[0]?function(t){let n=t.length,r=1,i;if((r=jI(t,1,"]","[","]"))===n)throw"Empty between selector: "+t;if(2!==(i=jU(t.substring(1,r))).length)throw"Between selector must have two elements: "+t;if(">"!==(t=t.slice(r+1).trim())[0])throw"Expected '>' after between selector: "+t;i=i.map(e);let a=e(t.slice(1).trim());return a.between?{between:i,stream:a}:(a.between=i,a)}(t):function(e){let t={source:b},n=[],r=[0,0],i=0,a=0,o=e.length,l=0,u,s;if("}"===e[o-1]){if((l=e.lastIndexOf("{"))>=0){try{r=function(e){let t=e.split(",");if(!e.length||t.length>2)throw e;return t.map(t=>{let n=+t;if(n!=n)throw e;return n})}(e.substring(l+1,o-1))}catch(t){throw"Invalid throttle specification: "+e}o=(e=e.slice(0,l).trim()).length}else throw"Unmatched right brace: "+e;l=0}if(!o)throw e;if("@"===e[0]&&(i=++l),(u=jI(e,l,":"))<o&&(n.push(e.substring(a,u).trim()),a=l=++u),(l=jI(e,l,"["))===o)n.push(e.substring(a,o).trim());else if(n.push(e.substring(a,l).trim()),s=[],(a=++l)===o)throw"Unmatched left bracket: "+e;for(;l<o;){if((l=jI(e,l,"]"))===o)throw"Unmatched left bracket: "+e;if(s.push(e.substring(a,l).trim()),l<o-1&&"["!==e[++l])throw"Expected left bracket: "+e;a=++l}if(!(o=n.length)||jL.test(n[o-1]))throw"Invalid event selector: "+e;return o>1?(t.type=n[1],i)?t.markname=n[0].slice(1):x[n[0]]?t.marktype=n[0]:t.source=n[0]:t.type=n[0],"!"===t.type.slice(-1)&&(t.consume=!0,t.type=t.type.slice(0,-1)),null!=s&&(t.filter=s),r[0]&&(t.throttle=r[0]),r[1]&&(t.debounce=r[1]),t}(t)})}function jI(e,t,n,r,i){let a=e.length,o=0,l;for(;t<a;++t)if(l=e[t],o||l!==n)i&&i.indexOf(l)>=0?--o:r&&r.indexOf(l)>=0&&++o;else break;return t}function jU(e){let t=[],n=e.length,r=0,i=0;for(;i<n;)i=jI(e,i,",","[{","]}"),t.push(e.substring(r,i).trim()),r=++i;if(0===t.length)throw"Empty event selector: "+e;return t}function jq(e,t=!0,n=Og){if(Oy(e)){let r=e.map(e=>jq(e,t,n));return t?`[${r.join(", ")}]`:r}return zT(e)?t?n(zI(e)):n(function(e){let t=zj(e,!0);return e.utc?+new Date(Date.UTC(...t)):+new Date(...t)}(e)):t?n(OI(e)):e}function jW(e,t){for(let n of O2(e.component.selection??{}))for(let r of IO)r.defined(n)&&r.marks&&(t=r.marks(e,n,t));return t}function jH(e){return e.map(e=>(e.on&&!e.on.length&&delete e.on,e))}class jY{constructor(e,t){this.debugName=t,this._children=[],this._parent=null,e&&(this.parent=e)}clone(){throw Error("Cannot clone node")}get parent(){return this._parent}set parent(e){this._parent=e,e&&e.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(e,t){if(this._children.includes(e)){zB("Attempt to add the same child twice.");return}void 0!==t?this._children.splice(t,0,e):this._children.push(e)}removeChild(e){let t=this._children.indexOf(e);return this._children.splice(t,1),t}remove(){let e=this._parent.removeChild(this);for(let t of this._children)t._parent=this._parent,this._parent.addChild(t,e++)}insertAsParentOf(e){let t=e.parent;t.removeChild(this),this.parent=t,e.parent=this}swapWithParent(){let e=this._parent,t=e.parent;for(let t of this._children)t.parent=e;this._children=[],e.removeChild(this),e.parent.removeChild(e),this.parent=t,e.parent=this}}class jG extends jY{constructor(e,t,n,r){super(e,t),this.type=n,this.refCounts=r,this._source=this._name=t,!this.refCounts||this._name in this.refCounts||(this.refCounts[this._name]=0)}clone(){let e=new this.constructor;return e.debugName=`clone_${this.debugName}`,e._source=this._source,e._name=`clone_${this._name}
17`,e.type=this.type,e.refCounts=this.refCounts,e.refCounts[e._name]=0,e}dependentFields(){return new Set}producedFields(){return new Set}hash(){return void 0===this._hash&&(this._hash=`Output ${Bu()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}}class jV extends jY{constructor(e,t){super(e),this.formula=t}clone(){return new jV(null,OL(this.formula))}static makeFromEncoding(e,t){let n=t.reduceFieldDef((e,t)=>{let{field:n,timeUnit:r}=t;if(r){let i=LO(t,{forAs:!0});e[OU({as:i,field:n,timeUnit:r})]={as:i,field:n,timeUnit:r}}return e},{});return O0(n)?null:new jV(e,n)}static makeFromTransform(e,t){let{timeUnit:n,...r}={...t},i=zX(n),a={...r,timeUnit:i};return new jV(e,{[OU(a)]:a})}merge(e){for(let t in this.formula={...this.formula},e.formula)this.formula[t]||(this.formula[t]=e.formula[t]);for(let t of e.children)e.removeChild(t),t.parent=this;e.remove()}removeFormulas(e){let t={};for(let[n,r]of O3(this.formula))e.has(r.as)||(t[n]=r);this.formula=t}producedFields(){return new Set(O2(this.formula).map(e=>e.as))}dependentFields(){return new Set(O2(this.formula).map(e=>e.field))}hash(){return`TimeUnit ${OU(this.formula)}`}assemble(){let e=[];for(let t of O2(this.formula)){let{field:n,as:r,timeUnit:i}=t,{unit:a,utc:o,...l}=zX(i);e.push({field:Bn(n),type:"timeunit",...a?{units:zY(a)}:{},...o?{timezone:"utc"}:{},...l,as:[r,`${r}_end`]})}return e}}let jX="_tuple_fields";class jZ{constructor(...e){this.items=e,this.hasChannel={},this.hasField={}}}var jJ={defined:e=>"interval"===e.type&&"global"===e.resolve&&e.bind&&"scales"===e.bind,parse:(e,t)=>{let n=t.scales=[];for(let r of t.project.items){let i=r.channel;if(!TN(i))continue;let a=e.getScaleComponent(i),o=a?a.get("type"):void 0;if(!a||!Rg(o)){zB("Scale bindings are currently only supported for scales with unbinned, continuous domains.");continue}a.set("selectionExtent",{param:t.name,field:r.field},!0),n.push(r)}},topLevelSignals:(e,t,n)=>{let r=t.scales.filter(e=>0===n.filter(t=>t.name===e.signals.data).length);if(!e.parent||jK(e)||0===r.length)return n;let i=n.filter(e=>e.name===t.name)[0],a=i.update;if(a.indexOf(IN)>=0)i.update=`{${r.map(e=>`${OF(Bn(e.field))}: ${e.signals.data}`).join(", ")}}`;else{for(let e of r){let t=`${OF(Bn(e.field))}: ${e.signals.data}`;a.includes(t)||(a=`${a.substring(0,a.length-1)}, ${t}}`)}i.update=a}return n.concat(r.map(e=>({name:e.signals.data})))},signals:(e,t,n)=>{if(e.parent&&!jK(e))for(let e of t.scales){let t=n.filter(t=>t.name===e.signals.data)[0];t.push="outer",delete t.value,delete t.update}return n}};function jQ(e,t){let n=OF(e.scaleName(t));return`domain(${n})`}function jK(e){return e.parent&&q8(e.parent)&&(!e.parent.parent??jK(e.parent.parent))}let j0="_brush",j1="_scale_trigger";function j2(e,t){return e.events.reduce((e,n)=>n.between?t(e,n):(zB(`${n} is not an ordered event stream for interval selections.`),e),[])}function j3(e,t,n,r){let i=Ly(t)&&t.condition,a=r(t);if(!i)return void 0!==a?{[n]:a}:{};{let t=Ow(i),o=t.map(t=>{let n=r(t);if(t.param){let{param:r,empty:i}=t,a=Uv(e,{param:r,empty:i});return{test:a,...n}}{let r=Ux(e,t.test);return{test:r,...n}}});return{[n]:[...o,...void 0!==a?[a]:[]]}}}function j5(e,t="text"){let n=e.encoding[t];return j3(e,n,t,t=>j6(t,e.config))}function j6(e,t,n="datum"){if(e){if(LD(e))return ze(e.value);if(Lk(e)){let{format:r,formatType:i}=LP(e);return R8({fieldOrDatumDef:e,format:r,formatType:i,expr:n,config:t})}}}function j4(e,t={}){let{encoding:n,markDef:r,config:i,stack:a}=e,o=n.tooltip;if(Oy(o))return{tooltip:j9({tooltip:o},a,i,t)};{let l=t.reactiveGeom?"datum.datum":"datum";return j3(e,o,"tooltip",e=>{let o=j6(e,i,l);if(o)return o;if(null===e)return;let u=zi("tooltip",r,i);return(!0===u&&(u={content:"encoding"}),OD(u))?{value:u}:Ov(u)?T1(u)?u:"encoding"===u.content?j9(n,a,i,t):{signal:l}:void 0})}}function j8(e,t,n,{reactiveGeom:r}={}){let i={},a=r?"datum.datum":"datum",o=[];function l(r,l){let u;let s=B4(l),c=LC(r)?r:{...r,type:e[s].type},f=c.title||Lz(c,n),h=Ow(f).join(", ");if(Tm(l)){let r="x"===l?"x2":"y2",o=Lj(e[r]);if(TV(c.bin)&&o){let e=LO(c,{expr:a}),t=LO(o,{expr:a}),{format:l,formatType:s}=LP(c);u=La(e,t,l,s,n),i[r]=!0}
17else if(t&&t.fieldChannel===l&&"normalize"===t.offset){let{format:e,formatType:t}=LP(c);u=R8({fieldOrDatumDef:c,format:e,formatType:t,expr:a,config:n,normalizeStack:!0}).signal}}u??(u=j6(c,n,a).signal),o.push({channel:l,key:h,value:u})}Pe(e,(e,t)=>{Lx(e)?l(e,t):Lv(e)&&l(e.condition,t)});let u={};for(let{channel:e,key:t,value:n}of o)i[e]||u[t]||(u[t]=n);return u}function j9(e,t,n,{reactiveGeom:r}={}){let i=j8(e,t,n,{reactiveGeom:r}),a=O3(i).map(([e,t])=>`"${e}": ${t}`);return a.length>0?{signal:`{${a.join(", ")}}`}:void 0}function j7(e,t,n={}){let{markDef:r,encoding:i,config:a}=t,{vgChannel:o}=n,{defaultRef:l,defaultValue:u}=n;void 0===l&&(u??(u=zi(e,r,a,{vgChannel:o,ignoreVgConfig:!0})),void 0!==u&&(l=ze(u)));let s=i[e];return j3(t,s,o??e,n=>R3({channel:e,channelDef:n,markDef:r,config:a,scaleName:t.scaleName(e),scale:t.getScaleComponent(e),stack:null,defaultRef:l}))}function Ie(e,t={filled:void 0}){let{markDef:n,encoding:r,config:i}=e,{type:a}=n,o=t.filled??zi("filled",n,i),l=OW(["bar","point","circle","square","geoshape"],a)?"transparent":void 0,u=zi(!0===o?"color":void 0,n,i,{vgChannel:"fill"})??i.mark[!0===o&&"color"]??l,s=zi(!1===o?"color":void 0,n,i,{vgChannel:"stroke"})??i.mark[!1===o&&"color"],c={...u?{fill:ze(u)}:{},...s?{stroke:ze(s)}:{}};return n.color&&(o?n.fill:n.stroke)&&zB(zw("property",{fill:"fill"in n,stroke:"stroke"in n})),{...c,...j7("color",e,{vgChannel:o?"fill":"stroke",defaultValue:o?u:s}),...j7("fill",e,{defaultValue:r.fill?u:void 0}),...j7("stroke",e,{defaultValue:r.stroke?s:void 0})}}function It(e,t){let n=function(e){switch(e){case"x":return"xOffset";case"y":return"yOffset";case"x2":return"x2Offset";case"y2":return"y2Offset";case Bv:return"thetaOffset";case Bm:return"radiusOffset";case Bb:return"theta2Offset";case By:return"radius2Offset"}}(e),r=t[n];if(r)return r}function In(e,t,{defaultPos:n,vgChannel:r}){let{encoding:i,markDef:a,config:o,stack:l}=t,u=i[e],s=i[B9(e)],c=t.scaleName(e),f=t.getScaleComponent(e),h=It(e,a),d=Ir({model:t,defaultPos:n,channel:e,scaleName:c,scale:f}),p=!u&&Tm(e)&&(i.latitude||i.longitude)?{field:t.getName(e)}:function(e){let{channel:t,channelDef:n,scaleName:r,stack:i,offset:a,markDef:o}=e;if(Lk(n)&&i&&t===i.fieldChannel){if(Lx(n)){let e=n.bandPosition;if(void 0===e&&"text"===o.type&&("radius"===t||"theta"===t)&&(e=.5),void 0!==e)return R2({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:e,offset:a})}return R1(n,r,{suffix:"end"},{offset:a})}return RQ(e)}({channel:e,channelDef:u,channel2Def:s,markDef:a,config:o,scaleName:c,scale:f,stack:l,offset:h,defaultRef:d});return p?{[r||e]:p}:void 0}function Ir({model:e,defaultPos:t,channel:n,scaleName:r,scale:i}){let{markDef:a,config:o}=e;return()=>{let l=B4(n),u=B8(n),s=zi(n,a,o,{vgChannel:u});if(void 0!==s)return R5(n,s);switch(t){case"zeroOrMin":case"zeroOrMax":if(r){let e=i.get("type");if(OW([Ri.LOG,Ri.TIME,Ri.UTC],e));else if(i.domainDefinitelyIncludesZero())return{scale:r,value:0}}if("zeroOrMin"===t)return"y"===l?{field:{group:"height"}}:{value:0};switch(l){case"radius":return{signal:`min(${e.width.signal},${e.height.signal})/2`};case"theta":return{signal:"2*PI"};case"x":return{field:{group:"width"}};case"y":return{value:0}}break;case"mid":{let t=e[B7(n)];return{...t,mult:.5}}}}}let Ii={left:"x",center:"xc",right:"x2"},Ia={top:"y",middle:"yc",bottom:"y2"};function Io(e,t,n,r="middle"){let i;if("radius"===e||"theta"===e)return B8(e);let a="x"===e?"align":"baseline",o=zi(a,t,n);return T1(o)?(zB(`The ${a} for range marks cannot be an expression`),i=void 0):i=o,"x"===e?Ii[i||("top"===r?"left":"center")]:Ia[i||r]}function Il(e,t,{defaultPos:n,defaultPos2:r,range:i}){return i?Iu(e,t,{defaultPos:n,defaultPos2:r}):In(e,t,{defaultPos:n})}function Iu(e,t,{defaultPos:n,defaultPos2:r}){let{markDef:i,config:a}=t,o=B9(e),l=B7(e),u=function(e,t,n){var r,i;let{encoding:a,mark:o,markDef:l,stack:u,config:s}=e,c=B4(n),f=B7(n),h=B8(n),d=a[c],p=e.scaleName(c),g=e.getScaleComponent(c),m=n in a||n in l?It(n,e.markDef):It(c,e.markDef);if(!d&&("x2"===n||"y2"===n)&&(a.latitude||a.longitude)){let t=B7(n),r=e.markDef[t];return null!=r?{[t]:{value:r}}:{[h]:{field:e.getName(n)}}}let y=function({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:a,scale:o,stack:l,offset:u,defaultRef:s}){return Lk(t)&&l&&e.charAt(0)===l.fieldChannel.charAt(0)?R1(t,a,{suffix:"start"},{offset:u}):RQ({channel:e,channelDef:n,scaleName:a,scale:o,stack:l,markDef:r,config:i,offset:u,defaultRef:s})}({channel:n,channelDef:d,channel2Def:a[n],markDef:l,config:s,scaleName:p,scale:g,stack:u,offset:m,defaultRef:void 0});return void 0!==y?{[h]:y}:Is(n,l)||Is(n,{[n]:(r=s.style,zo(n,zr(l),r)),[f]:(i=s.style,zo(f,zr(l),i))})||Is(n,s[o])||Is(n,s.mark)||{[h]:Ir({model:e,defaultPos:t,channel:n,scaleName:p,scale:g})()}}(t,r,o),s=u[l]?Io(e,i,a):B8(e);return{...In(e,t,{defaultPos:n,vgChannel:s}),...u}}function Is(e,t){let n=B7(e),r=B8(e);if(void 0!==t[r])return{[r]:R5(e,t[r])};if(void 0!==t[e])return{[r]:R5(e,t[e])};if(t[n]){let r=t[n];if(!RZ(r))return{[n]:R5(e,r)};zB(`Position range does not support relative band size for ${n}.`)}}function Ic(e,t,n){let{config:r,encoding:i,markDef:a}=e,o=B9(t),l=B7(t),u=i[t],s=i[o],c=e.getScaleComponent(t),f=c?c.get("type"):void 0,h=e.scaleName(t),d=a.orient,p=i[l]??i.size??zi("size",a,r,{vgChannel:l});if(Lx(u)&&(TG(u.bin)||TV(u.bin)||u.timeUnit&&!s)&&!(p&&!RZ(p))&&!Rp(f)){let n=Lg({channel:t,fieldDef:u,markDef:a,config:r,scaleType:f}),i=e.component.axes[t]?.[0],o=i?.get("translate")??.5;return function({fieldDef:e,fieldDef2:t,channel:n,bandSize:r,scaleName:i,markDef:a,spacing:o=0,axisTranslate:l,reverse:u,config:s}){let c=B9(n),f=B8(n),h=B8(c),d=It(n,a),p=T1(r)?{signal:`(1-${r.signal})/2`}:RZ(r)?(1-r.band)/2:.5;if(TG(e.bin)||e.timeUnit)return{[h]:Ih({channel:n,fieldDef:e,scaleName:i,markDef:a,bandPosition:p,offset:If(c,o,u,l,d),config:s}),[f]:Ih({channel:n,fieldDef:e,scaleName:i,markDef:a,bandPosition:T1(p)?{signal:`1-${p.signal}`}:1-p,offset:If(n,o,u,l,d),config:s})};if(TV(e.bin)){let r=R1(e,i,{},{offset:If(c,o,u,l,d)});if(Lx(t))return{[h]:r,[f]:R1(t,i,{},{offset:If(n,o,u,l,d)})};if(Ov(e.bin)&&e.bin.step)return{[h]:r,[f]:{signal:`scale("${i}", ${LO(e,{expr:"datum"})} + ${e.bin.step})`,offset:If(n,o,u,l,d)}}}zB(zS(c))}({fieldDef:u,fieldDef2:s,channel:t,markDef:a,scaleName:h,bandSize:n,axisTranslate:o,spacing:Tm(t)?zi("binSpacing",a,r):void 0,reverse:c.get("reverse"),config:r})}return(Lk(u)&&Rp(f)||"bar"===n&&("x"===t?"vertical"===d:"horizontal"===d))&&!s?function(e,t,n){let r;
17let{markDef:i,encoding:a,config:o,stack:l}=n,u=i.orient,s=n.scaleName(t),c=n.getScaleComponent(t),f=B7(t),h=B9(t),d="horizontal"===u&&"y"===t||"vertical"===u&&"x"===t;(a.size||i.size)&&(d?r=j7("size",n,{vgChannel:f,defaultRef:ze(i.size)}):zB(`Cannot apply size to non-oriented mark "${i.type}".`));let p=Lg({channel:t,fieldDef:e,markDef:i,config:o,scaleType:c?.get("type"),useVlSizeChannel:d});r=r||{[f]:function(e,t,n,r,i){if(RZ(i)){if(!n)return{mult:i.band,field:{group:e}};{let e=n.get("type");if("band"===e)return{scale:t,band:i.band};1!==i.band&&(zB(`Cannot use the relative band size with ${e} scale.`),i=void 0)}}else if(T1(i))return i;else if(i)return{value:i};if(n){let e=n.get("range");if(T2(e)&&OC(e.step))return{value:e.step-2}}let a=PW(r.view,e);return{value:a-2}}(f,s,c,o,p)};let g="band"===c?.get("type")&&"band"in r[f]?"top":"middle",m=Io(t,i,o,g),y=It(t,i),v=RQ({channel:t,channelDef:e,markDef:i,config:o,scaleName:s,scale:c,stack:l,offset:y,defaultRef:Ir({model:n,defaultPos:"mid",channel:t,scaleName:s,scale:c}),bandPosition:"xc"===m||"yc"===m?.5:T1(p)?{signal:`(1-${p})/2`}:RZ(p)?(1-p.band)/2:0});if(f)return{[m]:v,...r};{let e=B8(h),t=r[f],n=y?{...t,offset:y}:t;return{[m]:v,[e]:Oy(v)?[v[0],{...v[1],offset:n}]:{...v,offset:n}}}}(u,t,e):Iu(t,e,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function If(e,t,n,r,i){if(e in BI)return 0;let a="x"===e||"y2"===e?-t/2:t/2;if(!(T1(n)||T1(i)||T1(r)))return i=i||0,r+(n?-i-a:+i+a);{let e=zn(n),t=zn(i),o=zn(r),l=o?`${o} + `:"",u=e?`(${e} ? -1 : 1) * `:"",s=t?`(${t} + ${a})`:a;return{signal:l+u+s}}}function Ih({channel:e,fieldDef:t,scaleName:n,markDef:r,bandPosition:i,offset:a,config:o}){let l=R2({scaleName:n,fieldOrDatumDef:t,bandPosition:i,offset:a});return RK({fieldDef:t,channel:e,markDef:r,ref:l,config:o})}let Id=new Set(["aria","width","height"]);function Ip(e,t){var n;let{fill:r,stroke:i}="include"===t.color?Ie(e):{};return{...(n=e.markDef,T5.reduce((e,r)=>(Id.has(r)||void 0===n[r]||"ignore"===t[r]||(e[r]=ze(n[r])),e),{})),...Ig(e,"fill",r),...Ig(e,"stroke",i),...j7("opacity",e),...j7("fillOpacity",e),...j7("strokeOpacity",e),...j7("strokeWidth",e),...j7("strokeDash",e),...function(e){let{encoding:t,mark:n}=e,r=t.order;return!Rq(n)&&LD(r)?j3(e,r,"zindex",e=>ze(e.value)):{}}(e),...j4(e),...j5(e,"href"),...function(e){let{markDef:t,config:n}=e,r=zi("aria",t,n);return!1===r?{}:{...r?{aria:r}:{},...function(e){let{mark:t,markDef:n,config:r}=e;if(!1===r.aria)return{};let i=zi("ariaRoleDescription",n,r);return null!=i?{ariaRoleDescription:{value:i}}:t in T6?{}:{ariaRoleDescription:{value:t}}}(e),...function(e){let{encoding:t,markDef:n,config:r,stack:i}=e,a=t.description;if(a)return j3(e,a,"description",t=>j6(t,e.config));let o=zi("description",n,r);if(null!=o)return{description:ze(o)};if(!1===r.aria)return{};let l=j8(t,i,r);if(!O0(l))return{description:{signal:O3(l).map(([e,t],n)=>`"${n>0?"; ":""}${e}: " + (${t})`).join(" + ")}}}(e)}}(e)}}function Ig(e,t,n){let{config:r,mark:i,markDef:a}=e,o=zi("invalid",a,r);if("hide"===o&&n&&!Rq(i)){let r=function(e,{invalid:t=!1,channels:n}){let r=n.reduce((t,n)=>{let r=e.getScaleComponent(n);if(r){let i=r.get("type"),a=e.vgField(n,{expr:"datum"});a&&Rg(i)&&(t[a]=!0)}return t},{}),i=O1(r);if(i.length>0)return i.map(e=>R0(e,t)).join(` ${t?"||":"&&"} `)}(e,{invalid:!0,channels:TS});if(r)return{[t]:[{test:r,value:null},...Ow(n)]}}return n?{[t]:n}:{}}function Im(e){let{config:t,markDef:n}=e,r=zi("invalid",n,t);if(r){let t=function(e,{invalid:t=!1,channels:n}){let r=n.reduce((t,n)=>{let r=e.getScaleComponent(n);if(r){let i=r.get("type"),a=e.vgField(n,{expr:"datum"});a&&Rg(i)&&(t[a]=!0)}return t},{}),i=O1(r);if(i.length>0)return i.map(e=>R0(e,t)).join(` ${t?"||":"&&"} `)}(e,{channels:Tg});if(t)return{defined:{signal:t}}}return{}}function Iy(e,t){if(void 0!==t)return{[e]:ze(t)}}let Iv="voronoi";var Ib={defined:e=>"point"===e.type&&e.nearest,parse:(e,t)=>{if(t.events)for(let n of t.events)n.markname=e.getName(Iv)},marks:(e,t,n)=>{let{x:r,y:i}=t.project.hasChannel,a=e.mark;if(Rq(a))return zB(`The "nearest" transform is not supported for ${a} marks.`),n;let o={name:e.getName(Iv),type:"path",interactive:!0,from:{data:e.getName("marks")},encode:{update:{fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0},...j4(e,{reactiveGeom:!0})}},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]}]},l=0,u=!1;
17return n.forEach((t,n)=>{let r=t.name??"";r===e.component.mark[0].name?l=n:r.indexOf(Iv)>=0&&(u=!0)}),u||n.splice(l+1,0,o),n}},Ix={defined:e=>"point"===e.type&&"global"===e.resolve&&e.bind&&"scales"!==e.bind&&!PO(e.bind),parse:(e,t,n)=>Iz(t,n),topLevelSignals:(e,t,n)=>{let r=t.name,i=t.project,a=t.bind,o=t.init&&t.init[0],l=Ib.defined(t)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((e,i)=>{let u=O6(`${r}_${e.field}`),s=n.filter(e=>e.name===u);s.length||n.unshift({name:u,...o?{init:jq(o[i])}:{value:null},on:t.events?[{events:t.events,update:`datum && item().mark.marktype !== 'group' ? ${l}[${OF(e.field)}] : null`}]:[],bind:a[e.field]??a[e.channel]??a})}),n},signals:(e,t,n)=>{let r=t.name,i=t.project,a=n.filter(e=>e.name===r+IS)[0],o=i.items.map(e=>O6(`${r}_${e.field}`)),l=o.map(e=>`${e} !== null`).join(" && ");return o.length&&(a.update=`${l} ? {fields: ${r+jX}, values: [${o.join(", ")}]} : null`),delete a.value,delete a.on,n}};let I_="_toggle";var Iw={defined:e=>"point"===e.type&&!!e.toggle,signals:(e,t,n)=>n.concat({name:t.name+I_,value:!1,on:[{events:t.events,update:t.toggle}]}),modifyExpr:(e,t)=>{let n=t.name+IS,r=t.name+I_;return`${r} ? null : ${n}, `+("global"===t.resolve?`${r} ? null : true, `:`${r} ? null : {unit: ${IB(e)}}, `)+`${r} ? ${n} : null`}};let IA={defined:e=>{let t="global"===e.resolve&&e.bind&&PO(e.bind),n=1===e.project.items.length&&e.project.items[0].field!==PN;return t&&!n&&zB("Legend bindings are only supported for selections over an individual field or encoding channel."),t&&n},parse:(e,t,n)=>{let r=OL(n);if(r.select=OD(r.select)?{type:r.select,toggle:t.toggle}:{...r.select,toggle:t.toggle},Iz(t,r),e3(n.select)&&(n.select.on||n.select.clear)){let e='event.item && indexof(event.item.mark.role, "legend") < 0';for(let n of t.events)n.filter=Ow(n.filter??[]),n.filter.includes(e)||n.filter.push(e)}let i=PB(t.bind)?t.bind.legend:"click",a=OD(i)?jj(i,"view"):Ow(i);t.bind={legend:{merge:a}}},topLevelSignals:(e,t,n)=>{let r=t.name,i=PB(t.bind)&&t.bind.legend,a=e=>t=>{let n=OL(t);return n.markname=e,n};for(let e of t.project.items){if(!e.hasLegend)continue;let o=`${O6(e.field)}_legend`,l=`${r}_${o}`,u=n.filter(e=>e.name===l);if(0===u.length){let e=i.merge.map(a(`${o}_symbols`)).concat(i.merge.map(a(`${o}_labels`))).concat(i.merge.map(a(`${o}_entries`)));n.unshift({name:l,...t.init?{}:{value:null},on:[{events:e,update:"datum.value || item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${l}`,force:!0}]})}}return n},signals:(e,t,n)=>{let r=t.name,i=t.project,a=n.find(e=>e.name===r+IS),o=i.items.filter(e=>e.hasLegend).map(e=>O6(`${r}_${O6(e.field)}_legend`)),l=o.map(e=>`${e} !== null`).join(" && "),u=`${l} ? {fields: ${r+jX}, values: [${o.join(", ")}]} : null`;t.events&&o.length>0?a.on.push({events:o.map(e=>({signal:e})),update:u}):o.length>0&&(a.update=u,delete a.value,delete a.on);let s=n.find(e=>e.name===r+I_),c=PB(t.bind)&&t.bind.legend;return s&&(t.events?s.on.push({...s.on[0],events:c}):s.on[0].events=c),n}},IE="_translate_anchor",Ik="_translate_delta";function IC(e,t,n,r,i){let a=t.name,o=a+Ik,l=n.channel,u=jJ.defined(t),s=i.filter(e=>e.name===n.signals[u?"data":"visual"])[0],c=e.getSizeSignalRef(r).signal,f=e.getScaleComponent(l),h=f.get("type"),d=f.get("reverse"),p=`${a+IE}.extent_${l}`,g=`${u?"x"===l?d?"":"-":d?"-":"":""}${o}.${l} / ${u?`${c}`:`span(${p})`}`,m=u?"pow"===h?`, ${f.get("exponent")??1}`:"symlog"===h?`, ${f.get("constant")??1}`:"":"",y=`${u?"log"===h?"panLog":"symlog"===h?"panSymlog":"pow"===h?"panPow":"panLinear":"panLinear"}(${p}, ${g}${m})`;s.on.push({events:{signal:o},update:u?y:`clampRange(${y}, 0, ${c})`})}let ID="_zoom_anchor",IF="_zoom_delta";function I$(e,t,n,r,i){let a=t.name,o=n.channel,l=jJ.defined(t),u=i.filter(e=>e.name===n.signals[l?"data":"visual"])[0],s=e.getSizeSignalRef(r).signal,c=e.getScaleComponent(o),f=c.get("type"),h=l?jQ(e,o):u.name,d=a+IF,p=`${a}${ID}.${o}`,g=l?"pow"===f?`, ${c.get("exponent")??1}`:"symlog"===f?`, ${c.get("constant")??1}`:"":"",m=`${l?"log"===f?"zoomLog":"symlog"===f?"zoomSymlog":"pow"===f?"zoomPow":"zoomLinear":"zoomLinear"}(${h}, ${p}, ${d}${g})`;u.on.push({events:{signal:d},update:l?m:`clampRange(${m}, 0, ${s})`})}let IM="_store",IS="_tuple",IN="vlSelectionResolve",IO=[{defined:e=>"point"===e.type,signals:(e,t,n)=>{let r=t.name,i=t.project,a="(item().isVoronoi ? datum.datum : datum)",o=i.items.map(t=>{let n=e.fieldDef(t.channel);return n&&n.bin?`[${a}[${OF(e.vgField(t.channel,{}))}], ${a}[${OF(e.vgField(t.channel,{binSuffix:"end"}))}]]`:`${a}[${OF(t.field)}]`}).join(", "),l=`unit: ${IB(e)}, fields: ${r+jX}, values`,u=t.events;return n.concat([{name:r+IS,on:u?[{events:u,update:`datum && item().mark.marktype !== 'group' ? {${l}: [${o}]} : null`,force:!0}]:[]}])}},{defined:e=>"interval"===e.type,signals:(e,t,n)=>{let r=t.name,i=jJ.defined(t),a=t.init?t.init[0]:null,o=[],l=[];
17if(t.translate&&!i){let e=`!event.item || event.item.mark.name !== ${OF(r+j0)}`;j2(t,(t,n)=>{var r;let i=Ow((r=n.between[0]).filter??(r.filter=[]));return i.includes(e)||i.push(e),t})}t.project.items.forEach((r,i)=>{let u=r.channel;if("x"!==u&&"y"!==u){zB("Interval selections only support x and y encoding channels.");return}let s=a?a[i]:null,c=function(e,t,n,r){let i=n.channel,a=n.signals.visual,o=n.signals.data,l=jJ.defined(t),u=OF(e.scaleName(i)),s=e.getScaleComponent(i),c=s?s.get("type"):void 0,f=e=>`scale(${u}, ${e})`,h=e.getSizeSignalRef("x"===i?"width":"height").signal,d=`${i}(unit)`,p=j2(t,(e,t)=>[...e,{events:t.between[0],update:`[${d}, ${d}]`},{events:t,update:`[${a}[0], clamp(${d}, 0, ${h})]`}]);return p.push({events:{signal:t.name+j1},update:Rg(c)?`[${f(`${o}[0]`)}, ${f(`${o}[1]`)}]`:"[0, 0]"}),l?[{name:o,on:[]}]:[{name:a,...r?{init:jq(r,!0,f)}:{value:[]},on:p},{name:o,...r?{init:jq(r)}:{},on:[{events:{signal:a},update:`${a}[0] === ${a}[1] ? null : invert(${u}, ${a})`}]}]}(e,t,r,s),f=r.signals.data,h=r.signals.visual,d=OF(e.scaleName(u)),p=e.getScaleComponent(u).get("type"),g=Rg(p)?"+":"";n.push(...c),o.push(f),l.push({scaleName:e.scaleName(u),expr:`(!isArray(${f}) || (${g}invert(${d}, ${h})[0] === ${g}${f}[0] && ${g}invert(${d}, ${h})[1] === ${g}${f}[1]))`})}),i||n.push({name:r+j1,value:{},on:[{events:l.map(e=>({scale:e.scaleName})),update:`${l.map(e=>e.expr).join(" && ")} ? ${r+j1} : {}`}]});let u=`unit: ${IB(e)}, fields: ${r+jX}, values`;return n.concat({name:r+IS,...a?{init:`{${u}: ${jq(a)}}`}:{},on:[{events:[{signal:o.join(" || ")}],update:`${o.join(" && ")} ? {${u}: [${o}]} : null`}]})},marks:(e,t,n)=>{let r=t.name,{x:i,y:a}=t.project.hasChannel,o=i&&i.signals.visual,l=a&&a.signals.visual,u=`data(${OF(t.name+IM)})`;if(jJ.defined(t))return n;let s={x:void 0!==i?{signal:`${o}[0]`}:{value:0},y:void 0!==a?{signal:`${l}[0]`}:{value:0},x2:void 0!==i?{signal:`${o}[1]`}:{field:{group:"width"}},y2:void 0!==a?{signal:`${l}[1]`}:{field:{group:"height"}}};if("global"===t.resolve)for(let t of O1(s))s[t]=[{test:`${u}.length && ${u}[0].unit === ${IB(e)}`,...s[t]},{value:0}];let{fill:c,fillOpacity:f,cursor:h,...d}=t.mark,p=O1(d).reduce((e,t)=>(e[t]=[{test:[void 0!==i&&`${o}[0] !== ${o}[1]`,void 0!==a&&`${l}[0] !== ${l}[1]`].filter(e=>e).join(" && "),value:d[t]},{value:null}],e),{});return[{name:`${r+j0}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:c},fillOpacity:{value:f}},update:s}},...n,{name:r+j0,type:"rect",clip:!0,encode:{enter:{...h?{cursor:{value:h}}:{},fill:{value:"transparent"}},update:{...s,...p}}}]}},{defined:()=>!0,parse:(e,t,n)=>{let r=t.name,i=t.project??(t.project=new jZ),a={},o={},l=new Set,u=(e,t)=>{let n="visual"===t?e.channel:e.field,i=O6(`${r}_${n}`);for(let e=1;l.has(i);e++)i=O6(`${r}_${n}_${e}`);return l.add(i),{[t]:i}},s=t.type,c=e.config.selection[s],f=void 0!==n.value?Ow(n.value):null,{fields:h,encodings:d}=Ov(n.select)?n.select:{};if(!h&&!d&&f){for(let e of f)if(Ov(e))for(let t of O1(e))B3[t]?(d||(d=[])).push(t):"interval"===s?(zB('Interval selections should be initialized using "x" and/or "y" keys.'),d=c.encodings):(h||(h=[])).push(t)}for(let t of(h||d||(d=c.encodings,h=c.fields),d??[])){let n=e.fieldDef(t);if(n){let r=n.field;if(n.aggregate){zB(`Cannot project a selection on encoding channel "${t}" as it uses an aggregate function ("${n.aggregate}").`);continue}if(!r){zB(zm(t));continue}if(n.timeUnit){r=e.vgField(t);let i={timeUnit:n.timeUnit,as:r,field:n.field};o[OU(i)]=i}if(!a[r]){let o="E";if("interval"===s){let n=e.getScaleComponent(t).get("type");Rg(n)&&(o="R")}else n.bin&&(o="R-RE");let l={field:r,channel:t,type:o};l.signals={...u(l,"data"),...u(l,"visual")},i.items.push(a[r]=l),i.hasField[r]=i.hasChannel[t]=a[r]}}else zB(zm(t))}for(let e of h??[]){if(i.hasField[e])continue;let t={type:"E",field:e};t.signals={...u(t,"data")},i.items.push(t),i.hasField[e]=t}f&&(t.init=f.map(e=>i.items.map(t=>Ov(e)?void 0!==e[t.channel]?e[t.channel]:e[t.field]:e))),O0(o)||(i.timeUnit=new jV(null,o))},signals:(e,t,n)=>{let r=t.name+jX,i=n.filter(e=>e.name===r);return i.length>0?n:n.concat({name:r,value:t.project.items.map(e=>{let{signals:t,hasLegend:n,...r}=e;return r.field=Bn(r.field),r})})}},Iw,Ix,jJ,IA,{defined:e=>void 0!==e.clear&&!1!==e.clear,parse:(e,t)=>{t.clear&&(t.clear=OD(t.clear)?jj(t.clear,"view"):t.clear)},topLevelSignals:(e,t,n)=>{if(Ix.defined(t))for(let e of t.project.items){let r=n.findIndex(n=>n.name===O6(`${t.name}_${e.field}`));-1!==r&&n[r].on.push({events:t.clear,update:"null"})}return n},signals:(e,t,n)=>{function r(e,r){-1!==e&&n[e].on&&n[e].on.push({events:t.clear,update:r})}if("interval"===t.type)for(let e of t.project.items){let t=n.findIndex(t=>t.name===e.signals.visual);if(r(t,"[0, 0]"),-1===t){let t=n.findIndex(t=>t.name===e.signals.data);r(t,"null")}}else{let e=n.findIndex(e=>e.name===t.name+IS);r(e,"null"),Iw.defined(t)&&r(e=n.findIndex(e=>e.name===t.name+I_),"false")}return n}},{defined:e=>"interval"===e.type&&e.translate,signals:(e,t,n)=>{let r=t.name,i=jJ.defined(t),a=r+IE,{x:o,y:l}=t.project.hasChannel,u=jj(t.translate,"scope");
17return i||(u=u.map(e=>(e.between[0].markname=r+j0,e))),n.push({name:a,value:{},on:[{events:u.map(e=>e.between[0]),update:"{x: x(unit), y: y(unit)"+(void 0!==o?`, extent_x: ${i?jQ(e,"x"):`slice(${o.signals.visual})`}`:"")+(void 0!==l?`, extent_y: ${i?jQ(e,"y"):`slice(${l.signals.visual})`}`:"")+"}"}]},{name:r+Ik,value:{},on:[{events:u,update:`{x: ${a}.x - x(unit), y: ${a}.y - y(unit)}`}]}),void 0!==o&&IC(e,t,o,"width",n),void 0!==l&&IC(e,t,l,"height",n),n}},{defined:e=>"interval"===e.type&&e.zoom,signals:(e,t,n)=>{let r=t.name,i=jJ.defined(t),{x:a,y:o}=t.project.hasChannel,l=OF(e.scaleName("x")),u=OF(e.scaleName("y")),s=jj(t.zoom,"scope");return i||(s=s.map(e=>(e.markname=r+j0,e))),n.push({name:r+ID,on:[{events:s,update:i?"{"+[l?`x: invert(${l}, x(unit))`:"",u?`y: invert(${u}, y(unit))`:""].filter(e=>!!e).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:r+IF,on:[{events:s,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),void 0!==a&&I$(e,t,a,"width",n),void 0!==o&&I$(e,t,o,"height",n),n}},Ib];function IB(e,{escape:t}={escape:!0}){let n=t?OF(e.name):e.name,r=function(e){let t=e.parent;for(;t&&!q6(t);)t=t.parent;return t}(e);if(r){let{facet:e}=r;for(let t of BG)e[t]&&(n+=` + '__facet_${t}_' + (facet[${OF(r.vgField(t))}])`)}return n}function IT(e){return O2(e.component.selection??{}).reduce((e,t)=>e||t.project.items.some(e=>e.field===PN),!1)}function Iz(e,t){(tI(t.select)||!t.select.on)&&delete e.events,(tI(t.select)||!t.select.clear)&&delete e.clear,(tI(t.select)||!t.select.toggle)&&delete e.toggle}function IR(e){this.type=e}IR.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=function(e){switch(e.type){case"ArrayExpression":return e.elements;case"BinaryExpression":case"LogicalExpression":return[e.left,e.right];case"CallExpression":return[e.callee].concat(e.arguments);case"ConditionalExpression":return[e.test,e.consequent,e.alternate];case"MemberExpression":return[e.object,e.property];case"ObjectExpression":return e.properties;case"Property":return[e.key,e.value];case"UnaryExpression":return[e.argument];default:return[]}}(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1},(k={})[1]="Boolean",k[2]="<end>",k[3]="Identifier",k[4]="Keyword",k[5]="Null",k[6]="Numeric",k[7]="Punctuator",k[8]="String",k[9]="RegularExpression";var IL="Identifier",IP="Unexpected token %0",Ij="Invalid regular expression",II="Invalid regular expression: missing /",IU="Octal literals are not allowed in strict mode.",Iq="ILLEGAL",IW="Disabled.",IH=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u
170AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),IY=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u
170531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC
177\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function IG(e,t){if(!e)throw Error("ASSERT: "+t)}function IV(e){return e>=48&&e<=57}function IX(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function IZ(e){return"01234567".indexOf(e)>=0}function IJ(e){return 10===e||13===e||8232===e||8233===e}function IQ(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&IH.test(String.fromCharCode(e))}function IK(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&IY.test(String.fromCharCode(e))}let I0={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function I1(){for(;D<F;){let e=C.charCodeAt(D);if(32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0||IJ(e))++D;else break}}function I2(e){var t,n,r,i=0;for(t=0,n="u"===e?4:2;t<n;++t)D<F&&IX(C[D])?(r=C[D++],i=16*i+"0123456789abcdef".indexOf(r.toLowerCase())):Ui({},IP,Iq);return String.fromCharCode(i)}function I3(){var e,t;for(t=String.fromCharCode(e=C.charCodeAt(D++)),92===e&&(117!==C.charCodeAt(D)&&Ui({},IP,Iq),++D,(e=I2("u"))&&"\\"!==e&&IQ(e.charCodeAt(0))||Ui({},IP,Iq),t=e);D<F&&IK(e=C.charCodeAt(D));)++D,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==C.charCodeAt(D)&&Ui({},IP,Iq),++D,(e=I2("u"))&&"\\"!==e&&IK(e.charCodeAt(0))||Ui({},IP,Iq),t+=e);return t}function I5(){var e,t,n,r,i=D,a=C.charCodeAt(D),o=C[D];switch(a){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++D,{type:7,value:String.fromCharCode(a),start:i,end:D};default:if(61===(e=C.charCodeAt(D+1)))switch(a){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return D+=2,{type:7,value:String.fromCharCode(a)+String.fromCharCode(e),start:i,end:D};case 33:case 61:return D+=2,61===C.charCodeAt(D)&&++D,{type:7,value:C.slice(i,D),start:i,end:D}}}return">>>="===(r=C.substr(D,4))?{type:7,value:r,start:i,end:D+=4}:">>>"===(n=r.substr(0,3))||"<<="===n||">>="===n?{type:7,value:n,start:i,end:D+=3}:o===(t=n.substr(0,2))[1]&&"+-<>&|".indexOf(o)>=0||"=>"===t?{type:7,value:t,start:i,end:D+=2}:("//"===t&&Ui({},IP,Iq),"<>=!+-*%&|^/".indexOf(o)>=0)?{type:7,value:o,start:i,end:++D}:void Ui({},IP,Iq)}function I6(){var e,t,n;if(IG(IV((n=C[D]).charCodeAt(0))||"."===n,"Numeric literal must start with a decimal digit or a decimal point"),t=D,e="","."!==n){if(e=C[D++],n=C[D],"0"===e){if("x"===n||"X"===n)return++D,function(e){let t="";for(;D<F&&IX(C[D]);)t+=C[D++];return 0===t.length&&Ui({},IP,Iq),IQ(C.charCodeAt(D))&&Ui({},IP,Iq),{type:6,value:parseInt("0x"+t,16),start:e,end:D}}(t);if(IZ(n))return function(e){let t="0"+C[D++];for(;D<F&&IZ(C[D]);)t+=C[D++];return(IQ(C.charCodeAt(D))||IV(C.charCodeAt(D)))&&Ui({},IP,Iq),{type:6,value:parseInt(t,8),octal:!0,start:e,end:D}}(t);n&&IV(n.charCodeAt(0))&&Ui({},IP,Iq)}for(;IV(C.charCodeAt(D));)e+=C[D++];n=C[D]}if("."===n){for(e+=C[D++];IV(C.charCodeAt(D));)e+=C[D++];n=C[D]}if("e"===n||"E"===n){if(e+=C[D++],("+"===(n=C[D])||"-"===n)&&(e+=C[D++]),IV(C.charCodeAt(D)))for(;IV(C.charCodeAt(D));)e+=C[D++];else Ui({},IP,Iq)}return IQ(C.charCodeAt(D))&&Ui({},IP,Iq),{type:6,value:parseFloat(e),start:t,end:D}}function I4(){if(I1(),D>=F)return{type:2,start:D,end:D};let e=C.charCodeAt(D);if(IQ(e)){var t,n;return t=D,{type:1===(n=92===C.charCodeAt(D)?I3():function(){var e,t;for(e=D++;D<F;){if(92===(t=C.charCodeAt(D)))return D=e,I3();if(IK(t))++D;else break}return C.slice(e,D)}()).length?3:I0.hasOwnProperty(n)?4:"null"===n?5:"true"===n||"false"===n?1:3,value:n,start:t,end:D}}return 40===e||41===e||59===e?I5():39===e||34===e?function(){var e,t,n,r,i="",a=!1;for(IG("'"===(e=C[D])||'"'===e,"String literal must starts with a quote"),t=D,++D;D<F;){if((n=C[D++])===e){e="";break}if("\\"===n){if((n=C[D++])&&IJ(n.charCodeAt(0)))"\r"===n&&"\n"===C[D]&&++D;else switch(n){case"u":case"x":"{"===C[D]?(++D,i+=function(){var e,t;for(e=C[D],t=0,"}"===e&&Ui({},IP,Iq);D<F&&IX(e=C[D++]);)t=16*t+"0123456789abcdef".indexOf(e.toLowerCase());return((t>1114111||"}"!==e)&&Ui({},IP,Iq),t<=65535)?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}()):i+=I2(n);break;case"n":i+="\n";break;case"r":i+="\r";break;case"t":i+=" ";break;case"b":i+="\b";break;case"f":i+="\f";break;case"v":i+="\v";break;default:IZ(n)?(0!==(r="01234567".indexOf(n))&&(a=!0),D<F&&IZ(C[D])&&(a=!0,r=8*r+"01234567".indexOf(C[D++]),"0123".indexOf(n)>=0&&D<F&&IZ(C[D])&&(r=8*r+"01234567".indexOf(C[D++]))),i+=String.fromCharCode(r)):i+=n}}else if(IJ(n.charCodeAt(0)))break;else i+=n}return""!==e&&Ui({},IP,Iq),{type:8,value:i,octal:a,start:t,end:D}}():46===e?IV(C.charCodeAt(D+1))?I6():I5():IV(e)?I6():I5()}function I8(){let e=$;return D=e.end,$=I4(),D=e.end,e}function I9(){let e=D;$=I4(),D=e}function I7(e,t,n){let r=new IR("||"===e||"&&"===e?"LogicalExpression":"BinaryExpression");return r.operator=e,r.left=t,r.right=n,r}function Ue(e){let t=new IR(IL);return t.name=e,t}function Ut(e){let t=new IR("Literal");return t.value=e.value,t.raw=C.slice(e.start,e.end),e.regex&&("//"===t.raw&&(t.raw="/(?:)/"),t.regex=e.regex),t}function Un(e,t,n){let r=new IR("MemberExpression");return r.computed="["===e,r.object=t,r.property=n,r.computed||(n.member=!0),r}function Ur(e,t,n){let r=new IR("Property");return r.key=t,r.value=n,r.kind=e,r}function Ui(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,(e,t)=>(IG(t<r.length,"Message reference must be in range"),r[t]));throw(n=Error(i)).index=D,n.description=i,n}function Ua(e){2===e.type&&Ui(e,"Unexpected end of input"),6===e.type&&Ui(e,"Unexpected number"),8===e.type&&Ui(e,"Unexpected string"),3===e.type&&Ui(e,"Unexpected identifier"),4===e.type&&Ui(e,"Unexpected reserved word"),Ui(e,IP,e.value)}function Uo(e){let t=I8();(7!==t.type||t.value!==e)&&Ua(t)}function Ul(e){return 7===$.type&&$.value===e}function Uu(e){return 4===$.type&&$.value===e}function Us(){D=$.start;let e=I8();return 8===e.type||6===e.type?(e.octal&&Ui(e,IU),Ut(e)):Ue(e.value)}let Uc={if:1};function Uf(){let e=function(){var e;
17for(e=function(){var e,t,n,r,i,a,o;if(Ul("("))return function(){Uo("(");let e=Ug();return Uo(")"),e}();if(Ul("["))return function(){let e=[];for(D=$.start,Uo("[");!Ul("]");)Ul(",")?(I8(),e.push(null)):(e.push(Up()),Ul("]")||Uo(","));return I8(),function(e){let t=new IR("ArrayExpression");return t.elements=e,t}(e)}();if(Ul("{"))return function(){var e,t,n=[],r={},i=String;for(D=$.start,Uo("{");!Ul("}");)t="$"+((e=function(){var e,t,n;return(D=$.start,3===(e=$).type)?(n=Us(),Uo(":"),Ur("init",n,Up())):2!==e.type&&7!==e.type?(t=Us(),Uo(":"),Ur("init",t,Up())):void Ua(e)}()).key.type===IL?e.key.name:i(e.key.value)),Object.prototype.hasOwnProperty.call(r,t)?Ui({},"Duplicate data property in object literal not allowed in strict mode"):r[t]=!0,n.push(e),Ul("}")||Uo(",");return Uo("}"),function(e){let t=new IR("ObjectExpression");return t.properties=e,t}(n)}();if(e=$.type,D=$.start,3===e||Uc[$.value])n=Ue(I8().value);else if(8===e||6===e)$.octal&&Ui($,IU),n=Ut(I8());else if(4===e)throw Error(IW);else 1===e?((t=I8()).value="true"===t.value,n=Ut(t)):5===e?((t=I8()).value=null,n=Ut(t)):Ul("/")||Ul("/=")?(n=Ut(($=null,I1(),r=D,i=function(){var e,t,n,r;for(IG("/"===(e=C[D]),"Regular expression literal must start with a slash"),t=C[D++],n=!1,r=!1;D<F;)if(t+=e=C[D++],"\\"===e)IJ((e=C[D++]).charCodeAt(0))&&Ui({},II),t+=e;else if(IJ(e.charCodeAt(0)))Ui({},II);else if(n)"]"===e&&(n=!1);else{if("/"===e){r=!0;break}"["===e&&(n=!0)}return r||Ui({},II),{value:t.substr(1,t.length-2),literal:t}}(),a=function(){var e,t,n;for(t="",n="";D<F&&IK((e=C[D]).charCodeAt(0));)++D,"\\"===e&&D<F?Ui({},IP,Iq):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&Ui({},Ij,n),{value:n,literal:t}}(),o=function(e,t){let n=e;t.indexOf("u")>=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(e,t)=>{if(1114111>=parseInt(t,16))return"x";Ui({},Ij)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch(e){Ui({},Ij)}try{return new RegExp(e,t)}catch(e){return null}}(i.value,a.value),{literal:i.literal+a.literal,value:o,regex:{pattern:i.value,flags:a.value},start:r,end:D})),I9()):Ua(I8());return n}();;)if(Ul("."))Uo("."),e=Un(".",e,function(){D=$.start;let e=I8();return 3===e.type||4===e.type||1===e.type||5===e.type||Ua(e),Ue(e.value)}());else if(Ul("("))e=function(e,t){let n=new IR("CallExpression");return n.callee=e,n.arguments=t,n}(e,function(){let e=[];
17if(Uo("("),!Ul(")"))for(;D<F&&(e.push(Up()),!Ul(")"));)Uo(",");return Uo(")"),e}());else if(Ul("["))e=Un("[",e,function(){Uo("[");let e=Ug();return Uo("]"),e}());else break;return e}();if(7===$.type&&(Ul("++")||Ul("--")))throw Error(IW);return e}function Uh(){var e,t;if(7!==$.type&&4!==$.type)t=Uf();else if(Ul("++")||Ul("--"))throw Error(IW);else if(Ul("+")||Ul("-")||Ul("~")||Ul("!"))e=I8(),t=Uh(),t=function(e,t){let n=new IR("UnaryExpression");return n.operator=e,n.argument=t,n.prefix=!0,n}(e.value,t);else if(Uu("delete")||Uu("void")||Uu("typeof"))throw Error(IW);else t=Uf();return t}function Ud(e){let t=0;if(7!==e.type&&4!==e.type)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11}return t}function Up(){var e,t;return e=function(){var e,t,n,r,i,a,o,l,u,s;if(e=$,u=Uh(),0===(i=Ud(r=$)))return u;for(r.prec=i,I8(),t=[e,$],a=[u,r,o=Uh()];(i=Ud($))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)o=a.pop(),l=a.pop().value,u=a.pop(),t.pop(),n=I7(l,u,o),a.push(n);(r=I8()).prec=i,a.push(r),t.push($),n=Uh(),a.push(n)}for(s=a.length-1,n=a[s],t.pop();s>1;)t.pop(),n=I7(a[s-1].value,a[s-2],n),s-=2;return n}(),Ul("?")&&(I8(),t=Up(),Uo(":"),e=function(e,t,n){let r=new IR("ConditionalExpression");return r.test=e,r.consequent=t,r.alternate=n,r}(e,t,Up())),e}function Ug(){let e=Up();if(Ul(","))throw Error(IW);return e}function Um(e){let t=function(e){D=0,F=(C=e).length,$=null,I9();let t=Ug();if(2!==$.type)throw Error("Unexpect token after expression.");return t}(e),n=new Set;return t.visit(e=>{"MemberExpression"===e.type&&function e(t){return"MemberExpression"===t.object.type?e(t.object):"datum"===t.object.name}(e)&&n.add((function e(t){let n=[];return"Identifier"===t.type?[t.name]:"Literal"===t.type?[t.value]:("MemberExpression"===t.type&&(n.push(...e(t.object)),n.push(...e(t.property))),n)})(e).slice(1).join("."))}),n}class Uy extends jY{constructor(e,t,n){super(e),this.model=t,this.filter=n,this.expr=Ux(this.model,this.filter,this),this._dependentFields=Um(this.expr)}clone(){return new Uy(null,this.model,OL(this.filter))}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function Uv(e,t,n,r="datum"){let i;let a=OD(t)?t:t.param,o=O6(a),l=OF(o+IM);try{i=e.getSelectionComponent(o,a)}catch(e){return`!!${o}`}if(i.project.timeUnit){let t=n??e.component.data.raw,r=i.project.timeUnit.clone();t.parent?r.insertAsParentOf(t):t.parent=r}let u=`vlSelectionTest(${l}, ${r}${"global"===i.resolve?")":`, ${OF(i.resolve)})`}`,s=`length(data(${l}))`;return!1===t.empty?`${s} && ${u}`:`!${s} || ${u}`}function Ub(e,t,n){let r;let i=O6(t),a=n.encoding,o=n.field;try{r=e.getSelectionComponent(i,t)}catch(e){return i}if(a||o){if(a&&!o){let e=r.project.items.filter(e=>e.channel===a);!e.length||e.length>1?(o=r.project.items[0].field,zB((e.length?"Multiple ":"No ")+`matching ${OF(a)} encoding found for selection ${OF(n.param)}. `+`Using "field": ${OF(o)}.`)):o=e[0].field}}else o=r.project.items[0].field,r.project.items.length>1&&zB(`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${OF(o)}.`);return`${r.name}[${OF(Bn(o))}]`}function Ux(e,t,n){return O4(t,t=>OD(t)?t:t?.param?Uv(e,t,n):z6(t))}function U_(e,t,n,r){var i,a;e.encode??(e.encode={}),(i=e.encode)[t]??(i[t]={}),(a=e.encode[t]).update??(a.update={}),e.encode[t].update[n]=r}function Uw(e,t,n,r={header:!1}){let{disable:i,orient:a,scale:o,labelExpr:l,title:u,zindex:s,...c}=e.combine();if(!i){for(let e in c){let n=L0[e],r=c[e];if(n&&n!==t&&"both"!==n)delete c[e];else if(LQ(r)){let{condition:t,...n}=r,i=Ow(t),a=LJ[e];if(a){let{vgProp:t,part:r}=a,o=[...i.map(e=>{let{test:t,...n}=e;return{test:Ux(null,t),...n}}),n];U_(c,r,t,o),delete c[e]}else if(null===a){let t={signal:i.map(e=>{let{test:t,...n}=e;return`${Ux(null,t)} ? ${zt(n)} : `}).join("")+zt(n)};c[e]=t}}else if(T1(r)){let t=LJ[e];
17if(t){let{vgProp:n,part:i}=t;U_(c,i,n,r),delete c[e]}}OW(["labelAlign","labelBaseline"],e)&&null===c[e]&&delete c[e]}if("grid"===t){if(!c.grid)return;if(c.encode){let{grid:e}=c.encode;c.encode={...e?{grid:e}:{}},O0(c.encode)&&delete c.encode}return{scale:o,orient:a,...c,domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:Bo(s,0)}}{if(!r.header&&e.mainExtracted)return;if(void 0!==l){let e=l;c.encode?.labels?.update&&T1(c.encode.labels.update.text)&&(e=Br(l,"datum.label",c.encode.labels.update.text.signal)),U_(c,"labels","text",{signal:e})}if(null===c.labelAlign&&delete c.labelAlign,c.encode){for(let t of LK)e.hasAxisPart(t)||delete c.encode[t];O0(c.encode)&&delete c.encode}let t=u?Oy(u)&&!T0(u)?u.map(e=>Lz(e,n)).join(", "):u:void 0;return{scale:o,orient:a,grid:!1,...t?{title:t}:{},...c,...!1===n.aria?{aria:!1}:{},zindex:Bo(s,0)}}}}function UA(e){let{axes:t}=e.component,n=[];for(let r of Tg)if(t[r]){for(let i of t[r])if(!i.get("disable")&&!i.get("gridScale")){let t="x"===r?"height":"width",i=e.getSizeSignalRef(t).signal;t!==i&&n.push({name:t,update:i})}}return n}function UE(e,t,n,r){return Object.assign.apply(null,[{},...e.map(e=>{if("axisOrient"===e){let e="x"===n?"bottom":"left",i=t["x"===n?"axisBottom":"axisLeft"]||{},a=t["x"===n?"axisTop":"axisRight"]||{},o=new Set([...O1(i),...O1(a)]),l={};for(let t of o.values())l[t]={signal:`${r.signal} === "${e}" ? ${zn(i[t])} : ${zn(a[t])}`};return l}return t[e]})])}function Uk(e,t,n,r={}){let i=zo(e,n,t);if(void 0!==i)return{configFrom:"style",configValue:i};for(let t of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(r[t]?.[e]!==void 0)return{configFrom:t,configValue:r[t][e]};return{}}let UC={scale:({model:e,channel:t})=>e.scaleName(t),format:({fieldOrDatumDef:e,config:t,axis:n})=>{let{format:r,formatType:i}=n;return Le(e,e.type,r,i,t,!0)},formatType:({axis:e,fieldOrDatumDef:t,scaleType:n})=>{let{formatType:r}=e;return Lt(r,t,n)},grid:({fieldOrDatumDef:e,axis:t,scaleType:n})=>t.grid??(!Rp(n)&&Lx(e)&&!TG(e?.bin)&&!TV(e?.bin)),gridScale:({model:e,channel:t})=>(function(e,t){let n="x"===t?"y":"x";if(e.getScaleComponent(n))return e.scaleName(n)})(e,t),labelAlign:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelAlign||U$(t,n,r),labelAngle:({labelAngle:e})=>e,labelBaseline:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelBaseline||UF(t,n,r),labelFlush:({axis:e,fieldOrDatumDef:t,channel:n})=>e.labelFlush??function(e,t){if("x"===t&&OW(["quantitative","temporal"],e))return!0}(t.type,n),labelOverlap:({axis:e,fieldOrDatumDef:t,scaleType:n})=>e.labelOverlap??function(e,t,n,r){if(n&&!Ov(r)||"nominal"!==e&&"ordinal"!==e)return"log"!==t&&"symlog"!==t||"greedy"}(t.type,n,Lx(t)&&!!t.timeUnit,Lx(t)?t.sort:void 0),orient:({orient:e})=>e,tickCount:({channel:e,model:t,axis:n,fieldOrDatumDef:r,scaleType:i})=>{let a="x"===e?"width":"y"===e?"height":void 0,o=a?t.getSizeSignalRef(a):void 0;return n.tickCount??function({fieldOrDatumDef:e,scaleType:t,size:n,values:r}){if(!r&&!Rp(t)&&"log"!==t){if(Lx(e)){if(TG(e.bin))return{signal:`ceil(${n.signal}/10)`};if(e.timeUnit&&OW(["month","hours","day","quarter"],zX(e.timeUnit)?.unit))return}return{signal:`ceil(${n.signal}/40)`}}}({fieldOrDatumDef:r,scaleType:i,size:o,values:n.values})},title:({axis:e,model:t,channel:n})=>{if(void 0!==e.title)return e.title;let r=UM(t,n);if(void 0!==r)return r;let i=t.typedFieldDef(n),a=t.fieldDef("x"===n?"x2":"y2");return zu(i?[Lh(i)]:[],Lx(a)?[Lh(a)]:[])},values:({axis:e,fieldOrDatumDef:t})=>(function(e,t){let n=e.values;return Oy(n)?LX(t,n):T1(n)?n:void 0})(e,t),zindex:({axis:e,fieldOrDatumDef:t,mark:n})=>e.zindex??("rect"===n&&LB(t)?1:0)};function UD(e){return`(((${e.signal} % 360) + 360) % 360)`}function UF(e,t,n,r){if(void 0!==e){if("x"===n){if(T1(e)){let n=UD(e),r=T1(t)?`(${t.signal} === "top")`:"top"===t;return{signal:`(45 < ${n} && ${n} < 135) || (225 < ${n} && ${n} < 315) ? "middle" :(${n} <= 45 || 315 <= ${n}) === ${r} ? "bottom" : "top"`}}return 45<e&&e<135||225<e&&e<315?"middle":T1(t)?{signal:`${t.signal} ${e<=45||315<=e?"===":"!=="} "top" ? "bottom" : "top"`}:(e<=45||315<=e)==("top"===t)?"bottom":"top"}if(T1(e)){let n=UD(e),i=T1(t)?`(${t.signal} === "left")`:"left"===t;return{signal:`${n} <= 45 || 315 <= ${n} || (135 <= ${n} && ${n} <= 225) ? ${r?'"middle"':"null"} : (45 <= ${n} && ${n} <= 135) === ${i} ? "top" : "bottom"`}}return e<=45||315<=e||135<=e&&e<=225?r?"middle":null:T1(t)?{signal:`${t.signal} ${45<=e&&e<=135?"===":"!=="} "left" ? "top" : "bottom"`}:(45<=e&&e<=135)==("left"===t)?"top":"bottom"}}function U$(e,t,n){if(void 0===e)return;let r="x"===n,i=r?0:90,a=r?"bottom":"left";if(T1(e)){let n=UD(e),o=T1(t)?`(${t.signal} === "${a}")`:t===a;return{signal:`(${i?`(${n} + 90)`:n} % 180 === 0) ? ${r?null:'"center"'} :(${i} < ${n} && ${n} < ${180+i}) === ${o} ? "left" : "right"`}}if((e+i)%180==0)return r?null:"center";if(T1(t)){let n=`${t.signal} ${i<e&&e<180+i?"===":"!=="} "${a}"`;return{signal:`${n} ? "left" : "right"`}}return(i<e&&e<180+i)==(t===a)?"left":"right"}function UM(e,t){let n=e.fieldDef(t),r=e.fieldDef("x"===t?"x2":"y2"),i=n?n.title:void 0,a=r?r.title:void 0;return i&&a?zs(i,a):i?i:a?a:void 0!==i?i:void 0!==a?a:void 0}class US extends jY{constructor(e,t){super(e),this.transform=t,this._dependentFields=Um(this.transform.calculate)}clone(){return new US(null,OL(this.transform))}
17static parseAllForSortIndex(e,t){return t.forEachFieldDef((t,n)=>{var r;if(LF(t)&&(r=t.sort)&&Oy(r)){let{field:r,timeUnit:i}=t,a=t.sort,o=a.map((e,t)=>`${z6({field:r,timeUnit:i,equal:e})} ? ${t} : `).join("")+a.length;e=new US(e,{calculate:o,as:UN(t,n,{forAs:!0})})}}),e}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${OU(this.transform)}`}}function UN(e,t,n){return LO(e,{prefix:t,suffix:"sort_index",...n??{}})}function UO(e,t){return OW(["top","bottom"],t)?"column":OW(["left","right"],t)?"row":"row"===e?"row":"column"}function UB(e,t,n,r){let i="row"===r?n.headerRow:"column"===r?n.headerColumn:n.headerFacet;return Bo((t||{})[e],i[e],n.header[e])}function UT(e,t,n,r){let i={};for(let a of e){let e=UB(a,t||{},n,r);void 0!==e&&(i[a]=e)}return i}let Uz=["row","column"],UR=["header","footer"];function UL(e,t,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}let r=U$(t,"row"===e?"left":"top","row"===e?"y":"x");return r?{align:r}:{}}function UP(e,t){let n=UF(e,"row"===t?"left":"top","row"===t?"y":"x",!0);return n?{baseline:n}:{}}function Uj(e,t,n){let{format:r,formatType:i,labelAngle:a,labelAnchor:o,labelOrient:l,labelExpr:u}=UT(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],e.header,n,t),s=R8({fieldOrDatumDef:e,format:r,formatType:i,expr:"parent",config:n}).signal,c=UO(t,l);return{text:{signal:u?Br(Br(u,"datum.label",s),"datum.value",LO(e,{expr:"parent"})):s},..."row"===t?{orient:"left"}:{},style:"guide-label",frame:"group",...UP(a,c),...UL(c,a,o),...UU(n,e,t,PF,PC)}}let UI={column:{start:0,end:1},row:{start:1,end:0}};function UU(e,t,n,r,i){let a={};for(let o of r){if(!i[o])continue;let r=UB(o,t?.header,e,n);void 0!==r&&(a[i[o]]=r)}return a}function Uq(e){return[...UW(e,"width"),...UW(e,"height"),...UW(e,"childWidth"),...UW(e,"childHeight")]}function UW(e,t){let n="width"===t?"x":"y",r=e.component.layoutSize.get(t);if(!r||"merged"===r)return[];let i=e.getSizeSignalRef(t).signal;if("step"===r){let t=e.getScaleComponent(n);if(t){let r=t.get("type"),a=t.get("range");if(Rp(r)&&T2(a)){let r=e.scaleName(n);if(q6(e.parent)){let t=e.parent.component.resolve;if("independent"===t.scale[n])return[UH(r,a)]}return[UH(r,a),{name:i,update:UY(r,t,`domain('${r}').length`)}]}}throw Error("layout size is step although width/height is not step.")}if("container"!=r)return[{name:i,value:r}];{let t=i.endsWith("width"),n=t?"containerSize()[0]":"containerSize()[1]",r=Pq(e.config.view,t?"width":"height"),a=`isFinite(${n}) ? ${n} : ${r}`;return[{name:i,init:a,on:[{update:a,events:"window:resize"}]}]}}function UH(e,t){return{name:`${e}_step`,value:t.step}}function UY(e,t,n){let r=t.get("type"),i=t.get("padding"),a=Bo(t.get("paddingOuter"),i),o=t.get("paddingInner");return`bandspace(${n}, ${zn(o="band"===r?void 0!==o?o:i:1)}, ${zn(a)}) * ${e}_step`}function UG(e){return"childWidth"===e?"width":"childHeight"===e?"height":e}function UV(e,t){return O1(e).reduce((n,r)=>{let i=e[r];return{...n,...j3(t,i,r,e=>ze(e.value))}},{})}function UX(e,t){if(q8(t)||q6(t))return"shared";if(q4(t))return Tm(e)?"independent":"shared";throw Error("invalid model type for resolve")}function UZ(e,t){let n=e.scale[t],r=Tm(t)?"axis":"legend";return"independent"===n?("shared"===e[r][t]&&zB(`Setting the scale to be independent for "${t}" means we also have to set the guide (axis or legend) to be independent.`),"independent"):e[r][t]||"shared"}let UJ={...PS,disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1},UQ=O1(UJ);class UK extends jE{}let U0={symbols:function(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i,legendType:a}){if("symbol"!==a)return;let{markDef:o,encoding:l,config:u,mark:s}=n,c=o.filled&&"trail"!==s,f={...function(e,t,n){for(let r of n){let n=za(r,t.markDef,t.config);void 0!==n&&(e[r]=ze(n))}return e}({},n,RG),...Ie(n,{filled:c})},h=i.get("symbolOpacity")??u.legend.symbolOpacity,d=i.get("symbolFillColor")??u.legend.symbolFillColor,p=i.get("symbolStrokeColor")??u.legend.symbolStrokeColor,g=void 0===h?U1(l.opacity)??o.opacity:void 0;if(f.fill){if("fill"===r||c&&r===BE)delete f.fill;else if(f.fill.field)d?delete f.fill:(f.fill=ze(u.legend.symbolBaseFillColor??"black"),f.fillOpacity=ze(g??1));else if(Oy(f.fill)){let e=U2(l.fill??l.color)??o.fill??(c&&o.color);e&&(f.fill=ze(e))}}if(f.stroke){if("stroke"!==r&&(c||r!==BE)){if(f.stroke.field||p)delete f.stroke;else if(Oy(f.stroke)){let e=Bo(U2(l.stroke||l.color),o.stroke,c?o.color:void 0);e&&(f.stroke={value:e})}}else delete f.stroke}if(r!==BM){let e=Lx(t)&&U5(n,i,t);e?f.opacity=[{test:e,...ze(g??1)},ze(u.legend.unselectedOpacity)]:g&&(f.opacity=ze(g))}return O0(f={...f,...e})?void 0:f},gradient:function(e,{model:t,legendType:n,legendCmpt:r}){if("gradient"!==n)return;let{config:i,markDef:a,encoding:o}=t,l={},u=r.get("gradientOpacity")??i.legend.gradientOpacity,s=void 0===u?U1(o.opacity)||a.opacity:void 0;return s&&(l.opacity=ze(s)),O0(l={...l,...e})?void 0:l},labels:function(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i}){let a=n.legend(r)||{},o=n.config,l=Lx(t)?U5(n,i,t):void 0,u=l?[{test:l,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:s,formatType:c}=a,f=R6(c)?R7({fieldOrDatumDef:t,field:"datum.value",format:s,formatType:c,config:o}):void 0,h={...u?{opacity:u}:{},...f?{text:f}:{},...e};return O0(h)?void 0:h},entries:function(e,{legendCmpt:t}){let n=t.get("selections");return n?.length?{...e,fill:{value:"transparent"}}:e}};function U1(e){return U3(e,(e,t)=>Math.max(e,t.value))}function U2(e){return U3(e,(e,t)=>Bo(e,t.value))}function U3(e,t){return!function(e){let t=e&&e.condition;return!!t&&(Oy(t)||LD(t))}(e)?LD(e)?e.value:void 0:Ow(e.condition).reduce(t,e.value)}
17function U5(e,t,n){let r=t.get("selections");if(!r?.length)return;let i=OF(n.field);return r.map(e=>{let t=OF(O6(e)+IM);return`(!length(data(${t})) || (${e}[${i}] && indexof(${e}[${i}], datum.value) >= 0))`}).join(" || ")}let U6={direction:({direction:e})=>e,format:({fieldOrDatumDef:e,legend:t,config:n})=>{let{format:r,formatType:i}=t;return Le(e,e.type,r,i,n,!1)},formatType:({legend:e,fieldOrDatumDef:t,scaleType:n})=>{let{formatType:r}=e;return Lt(r,t,n)},gradientLength:e=>{let{legend:t,legendConfig:n}=e;return t.gradientLength??n.gradientLength??function({legendConfig:e,model:t,direction:n,orient:r,scaleType:i}){let{gradientHorizontalMaxLength:a,gradientHorizontalMinLength:o,gradientVerticalMaxLength:l,gradientVerticalMinLength:u}=e;if(Rm(i))return"horizontal"!==n?U4(t,"height",u,l):"top"===r||"bottom"===r?U4(t,"width",o,a):o}(e)},labelOverlap:({legend:e,legendConfig:t,scaleType:n})=>e.labelOverlap??t.labelOverlap??function(e){if(OW(["quantile","threshold","log","symlog"],e))return"greedy"}(n),symbolType:({legend:e,markDef:t,channel:n,encoding:r})=>e.symbolType??function(e,t,n,r){if("shape"!==t){let e=U2(n)??r;if(e)return e}switch(e){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}(t.type,n,r.shape,t.shape),title:({fieldOrDatumDef:e,config:t})=>LR(e,t,{allowDisabling:!0}),type:({legendType:e,scaleType:t,channel:n})=>{if(BH(n)&&Rm(t)){if("gradient"===e)return}else if("symbol"===e)return;return e},values:({fieldOrDatumDef:e,legend:t})=>(function(e,t){let n=e.values;return Oy(n)?LX(t,n):T1(n)?n:void 0})(t,e)};function U4(e,t,n,r){let i=e.getSizeSignalRef(t).signal;return{signal:`clamp(${i}, ${n}, ${r})`}}function U8(e,t){if(!e)return t.clone();let n=e.getWithExplicit("orient"),r=t.getWithExplicit("orient");if(n.explicit&&r.explicit&&n.value!==r.value)return;let i=!1;for(let n of UQ){let r=j$(e.getWithExplicit(n),t.getWithExplicit(n),n,"legend",(e,t)=>{switch(n){case"symbolType":return"circle"===t.value?t:e;case"title":return zc(e,t);case"type":return i=!0,jC("symbol")}return jF(e,t,n,"legend")});e.setWithExplicit(n,r)}return i&&(e.implicit?.encode?.gradient&&O8(e.implicit,["encode","gradient"]),e.explicit?.encode?.gradient&&O8(e.explicit,["encode","gradient"])),e}function U9(e){let t=e.component.legends,n={};for(let r of O1(t)){let i=e.getScaleComponent(r),a=OI(i.get("domains"));if(n[a])for(let e of n[a]){let i=U8(e,t[r]);i||n[a].push(t[r])}else n[a]=[t[r].clone()]}let r=O2(n).flat().map(t=>(function(e,t){let{disable:n,labelExpr:r,selections:i,...a}=e.combine();if(!n){if(!1===t.aria&&void 0==a.aria&&(a.aria=!1),a.encode?.symbols){let e=a.encode.symbols.update;for(let t of(!e.fill||"transparent"===e.fill.value||e.stroke||a.stroke||(e.stroke={value:"transparent"}),PM))a[t]&&delete e[t]}if(a.title||delete a.title,void 0!==r){var o,l,u,s,c;let e=r;a.encode?.labels?.update&&T1(a.encode.labels.update.text)&&(e=Br(r,"datum.label",a.encode.labels.update.text.signal)),o=a,l="labels",u={signal:e},o.encode??(o.encode={}),(s=o.encode)[l]??(s[l]={}),(c=o.encode[l]).update??(c.update={}),o.encode[l].update.text=u}return a}})(t,e.config)).filter(e=>void 0!==e);return r}function U7(e){let t=e.component.projection;if(!t||t.merged)return[];let n=t.combine(),{name:r}=n;if(!t.data)return[{name:r,translate:{signal:"[width / 2, height / 2]"},...n}];{let i={signal:`[${t.size.map(e=>e.signal).join(", ")}]`},a=t.data.reduce((t,n)=>{let r=T1(n)?n.signal:`data('${e.lookupDataSource(n)}')`;return OW(t,r)||t.push(r),t},[]);if(a.length<=0)throw Error("Projection's fit didn't find any data sources");return[{name:r,size:i,fit:{signal:a.length>1?`[${a.join(", ")}]`:a[0]},...n}]}}let qe=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class qt extends jE{constructor(e,t,n,r){super({...t},{name:e}),this.specifiedProjection=t,this.size=n,this.data=r,this.merged=!1}get isFit(){return!!this.data}}function qn(e,t){return`${TY(e)}_${t}`}function qr(e,t,n){let r=LH(n,void 0)??{},i=qn(r,t);return e.getName(`${i}_bins`)}
17function qi(e,t,n){let r,i;r="as"in e?OD(e.as)?[e.as,`${e.as}_end`]:[e.as[0],e.as[1]]:[LO(e,{forAs:!0}),LO(e,{binSuffix:"end",forAs:!0})];let a={...LH(t,void 0)},o=qn(a,e.field),{signal:l,extentSignal:u}={signal:n.getName(`${o}_bins`),extentSignal:n.getName(`${o}_extent`)};if(TX(a.extent)){let e=a.extent;i=Ub(n,e.param,e),delete a.extent}let s={bin:a,field:e.field,as:[r],...l?{signal:l}:{},...u?{extentSignal:u}:{},...i?{span:i}:{}};return{key:o,binComponent:s}}class qa extends jY{constructor(e,t){super(e),this.bins=t}clone(){return new qa(null,OL(this.bins))}static makeFromEncoding(e,t){let n=t.reduceFieldDef((e,n,r)=>{if(LC(n)&&TG(n.bin)){let{key:i,binComponent:a}=qi(n,n.bin,t);e[i]={...a,...e[i],...function(e,t,n,r){if(LZ(t,n)){let i=q5(e)?e.axis(n)??e.legend(n)??{}:{},a=LO(t,{expr:"datum"}),o=LO(t,{expr:"datum",binSuffix:"end"});return{formulaAs:LO(t,{binSuffix:"range",forAs:!0}),formula:La(a,o,i.format,i.formatType,r)}}return{}}(t,n,r,t.config)}}return e},{});return O0(n)?null:new qa(e,n)}static makeFromTransform(e,t,n){let{key:r,binComponent:i}=qi(t,t.bin,n);return new qa(e,{[r]:i})}merge(e,t){for(let n of O1(e.bins))n in this.bins?(t(e.bins[n].signal,this.bins[n].signal),this.bins[n].as=OV([...this.bins[n].as,...e.bins[n].as],OU)):this.bins[n]=e.bins[n];for(let t of e.children)e.removeChild(t),t.parent=this;e.remove()}producedFields(){return new Set(O2(this.bins).map(e=>e.as).flat(2))}dependentFields(){return new Set(O2(this.bins).map(e=>e.field))}hash(){return`Bin ${OU(this.bins)}`}assemble(){return O2(this.bins).flatMap(e=>{let t=[],[n,...r]=e.as,{extent:i,...a}=e.bin,o={type:"bin",field:Bn(e.field),as:n,signal:e.signal,...TX(i)?{extent:null}:{extent:i},...e.span?{span:{signal:`span(${e.span})`}}:{},...a};for(let a of(!i&&e.extentSignal&&(t.push({type:"extent",field:Bn(e.field),signal:e.extentSignal}),o.extent={signal:e.extentSignal}),t.push(o),r))for(let e=0;e<2;e++)t.push({type:"formula",expr:LO({field:n[e]},{expr:"datum"}),as:a[e]});return e.formula&&t.push({type:"formula",expr:e.formula,as:e.formulaAs}),t})}}class qo extends jY{constructor(e,t,n){super(e),this.dimensions=t,this.measures=n}clone(){return new qo(null,new Set(this.dimensions),OL(this.measures))}get groupBy(){return this.dimensions}static makeFromEncoding(e,t){let n=!1;t.forEachFieldDef(e=>{e.aggregate&&(n=!0)});let r={},i=new Set;return n?(t.forEachFieldDef((e,n)=>{let{aggregate:a,field:o}=e;if(a){if("count"===a)r["*"]??(r["*"]={}),r["*"].count=new Set([LO(e,{forAs:!0})]);else{if(TP(a)||Tj(a)){let e=TP(a)?"argmin":"argmax",t=a[e];r[t]??(r[t]={}),r[t][e]=new Set([LO({op:e,field:t},{forAs:!0})])}else r[o]??(r[o]={}),r[o][a]=new Set([LO(e,{forAs:!0})]);TN(n)&&"unaggregated"===t.scaleDomain(n)&&(r[o]??(r[o]={}),r[o].min=new Set([LO({field:o,aggregate:"min"},{forAs:!0})]),r[o].max=new Set([LO({field:o,aggregate:"max"},{forAs:!0})]))}}else!function(e,t,n,r){let i=q5(r)?r.encoding[B9(t)]:void 0;if(LC(n)&&q5(r)&&Lm(n,i,r.markDef,r.config))e.add(LO(n,{})),e.add(LO(n,{suffix:"end"})),n.bin&&LZ(n,t)&&e.add(LO(n,{binSuffix:"range"}));else if(t in BU){let n=function(e){switch(e){case Bx:return"y";case Bw:return"y2";case B_:return"x";case BA:return"x2"}}(t);e.add(r.getName(n))}else e.add(LO(n))}(i,n,e,t)}),i.size+O1(r).length===0)?null:new qo(e,i,r):null}static makeFromTransform(e,t){let n=new Set,r={};for(let e of t.aggregate){let{op:t,field:n,as:i}=e;t&&("count"===t?(r["*"]??(r["*"]={}),r["*"].count=new Set([i||LO(e,{forAs:!0})])):(r[n]??(r[n]={}),r[n][t]=new Set([i||LO(e,{forAs:!0})])))}for(let e of t.groupby??[])n.add(e);return n.size+O1(r).length===0?null:new qo(e,n,r)}merge(e){return OZ(this.dimensions,e.dimensions)?(!function(e,t){for(let n of O1(t)){let r=t[n];for(let t of O1(r))n in e?e[n][t]=new Set([...e[n][t]??[],...r[t]]):e[n]={[t]:r[t]}}}(this.measures,e.measures),!0):(!function(...e){zO.debug(...e)}("different dimensions, cannot merge"),!1)}addDimensions(e){e.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...O1(this.measures)])}producedFields(){let e=new Set;for(let t of O1(this.measures))for(let n of O1(this.measures[t])){let r=this.measures[t][n];0===r.size?e.add(`${n}_${t}`):r.forEach(e.add,e)}return e}hash(){return`Aggregate ${OU({dimensions:this.dimensions,measures:this.measures})}`}assemble(){let e=[],t=[],n=[];for(let r of O1(this.measures))for(let i of O1(this.measures[r]))for(let a of this.measures[r][i])n.push(a),e.push(i),t.push("*"===r?null:
17Bn(r));let r={type:"aggregate",groupby:[...this.dimensions].map(Bn),ops:e,fields:t,as:n};return r}}class ql extends jY{constructor(e,t,n,r){for(let i of(super(e),this.model=t,this.name=n,this.data=r,BG)){let e=t.facet[i];if(e){let{bin:n,sort:r}=e;this[i]={name:t.getName(`${i}_domain`),fields:[LO(e),...TG(n)?[LO(e,{binSuffix:"end"})]:[]],...Lu(r)?{sortField:r}:Oy(r)?{sortIndexField:UN(e,i)}:{}}}}this.childModel=t.child}hash(){let e="Facet";for(let t of BG)this[t]&&(e+=` ${t.charAt(0)}:${OU(this[t])}`);return e}get fields(){let e=[];for(let t of BG)this[t]?.fields&&e.push(...this[t].fields);return e}dependentFields(){let e=new Set(this.fields);for(let t of BG)this[t]&&(this[t].sortField&&e.add(this[t].sortField.field),this[t].sortIndexField&&e.add(this[t].sortIndexField));return e}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){let e={};for(let t of Tg){let n=this.childModel.component.scales[t];if(n&&!n.merged){let r=n.get("type"),i=n.get("range");if(Rp(r)&&T2(i)){let n=qH(this.childModel,t),r=qW(n);r?e[t]=r:zB(zg(t))}}}return e}assembleRowColumnHeaderData(e,t,n){let r={row:"y",column:"x",facet:void 0}[e],i=[],a=[],o=[];r&&n&&n[r]&&(t?(i.push(`distinct_${n[r]}`),a.push("max")):(i.push(n[r]),a.push("distinct")),o.push(`distinct_${n[r]}`));let{sortField:l,sortIndexField:u}=this[e];if(l){let{op:e="min",field:t}=l;i.push(t),a.push(e),o.push(LO(l,{forAs:!0}))}else u&&(i.push(u),a.push("max"),o.push(u));return{name:this[e].name,source:t??this.data,transform:[{type:"aggregate",groupby:this[e].fields,...i.length?{fields:i,ops:a,as:o}:{}}]}}assembleFacetHeaderData(e){let{columns:t}=this.model.layout,{layoutHeaders:n}=this.model.component,r=[],i={};for(let e of Uz){for(let t of UR){let r=(n[e]&&n[e][t])??[];for(let t of r)if(t.axes?.length>0){i[e]=!0;break}}if(i[e]){let n=`length(data("${this.facet.name}"))`,i="row"===e?t?{signal:`ceil(${n} / ${t})`}:1:t?{signal:`min(${n}, ${t})`}:{signal:n};r.push({name:`${this.facet.name}_${e}`,transform:[{type:"sequence",start:0,stop:i}]})}}let{row:a,column:o}=i;return(a||o)&&r.unshift(this.assembleRowColumnHeaderData("facet",null,e)),r}assemble(){let e=[],t=null,n=this.getChildIndependentFieldsWithStep(),{column:r,row:i,facet:a}=this;if(r&&i&&(n.x||n.y)){t=`cross_${this.column.name}_${this.row.name}`;let r=[].concat(n.x??[],n.y??[]),i=r.map(()=>"distinct");e.push({name:t,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:r,ops:i}]})}for(let r of[Bp,"row"])this[r]&&e.push(this.assembleRowColumnHeaderData(r,t,n));if(a){let t=this.assembleFacetHeaderData(n);t&&e.push(...t)}return e}}function qu(e){return"'"===e[0]&&"'"===e[e.length-1]||'"'===e[0]&&'"'===e[e.length-1]?e.slice(1,-1):e}class qs extends jY{constructor(e,t){super(e),this._parse=t}clone(){return new qs(null,OL(this._parse))}hash(){return`Parse ${OU(this._parse)}`}static makeExplicit(e,t,n){let r={},i=t.data;return!jB(i)&&i&&i.format&&i.format.parse&&(r=i.format.parse),this.makeWithAncestors(e,r,{},n)}static makeWithAncestors(e,t,n,r){for(let e of O1(n)){let t=r.getWithExplicit(e);void 0!==t.value&&(t.explicit||t.value===n[e]||"derived"===t.value||"flatten"===n[e]?delete n[e]:zB(zb(e,n[e],t.value)))}for(let e of O1(t)){let n=r.get(e);void 0!==n&&(n===t[e]?delete t[e]:zB(zb(e,t[e],n)))}let i=new jE(t,n);r.copyAll(i);let a={};for(let e of O1(i.combine())){let t=i.get(e);null!==t&&(a[e]=t)}return 0===O1(a).length||r.parseNothing?null:new qs(e,a)}get parse(){return this._parse}merge(e){this._parse={...this._parse,...e.parse},e.remove()}assembleFormatParse(){let e={};for(let t of O1(this._parse)){let n=this._parse[t];1===Ba(t)&&(e[t]=n)}return e}producedFields(){return new Set(O1(this._parse))}dependentFields(){return new Set(O1(this._parse))}assembleTransforms(e=!1){return O1(this._parse).filter(t=>!e||Ba(t)>1).map(e=>{let t=function(e,t){let n=O7(e);if("number"===t)return`toNumber(${n})`;if("boolean"===t)return`toBoolean(${n})`;if("string"===t)return`toString(${n})`;if("date"===t)return`toDate(${n})`;if("flatten"===t)return n;if(t.startsWith("date:")){let e=qu(t.slice(5,t.length));return`timeParse(${n},'${e}')`}{if(!t.startsWith("utc:"))return zB(`Unrecognized parse "${t}".`),null;let e=qu(t.slice(4,t.length));return`utcParse(${n},'${e}')`}}(e,this._parse[e]);if(!t)return null;let n={type:"formula",expr:t,as:Bi(e)};return n}).filter(e=>null!==e)}}class qc extends jY{clone(){return new qc(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([PN])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:PN}}}class qf extends jY{constructor(e,t){super(e),this.params=t}clone(){return new qf(null,this.params)}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${OU(this.params)}`}assemble(){return{type:"graticule",...!0===this.params?{}:this.params}}}class qh extends jY{constructor(e,t){super(e),this.params=t}clone(){return new qh(null,this.params)}dependentFields(){return new Set}producedFields(){return new Set([this.params.as??"data"])}hash(){return`Hash ${OU(this.params)}`}assemble(){return{type:"sequence",...this.params}}}class qd extends jY{constructor(e){let t;if(super(null),e??(e={name:"source"}),jB(e)||(t=e.format?{...Oj(e.format,["parse"])}:{}),jN(e))this._data={values:e.values};else if(jS(e)){if(this._data={url:e.url},!t.type){let n=/(?:\.([^.]+))?$/.exec(e.url)[1];OW(["json","csv","tsv","dsv","topojson"],n)||(n="json"),t.type=n}}else jz(e)?this._data={values:[{type:"Sphere"}]}:(jO(e)||jB(e))&&(this._data={});this._generator=jB(e),e.name&&(this._name=e.name),t&&!O0(t)&&(this._data.format=t)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(e){this._name=e}set parent(e){throw Error("Source nodes have to be roots.")}remove(){throw Error("Source nodes are roots and cannot be removed.")}hash(){throw Error("Cannot hash sources")}assemble(){return{name:this._name,...this._data,transform:[]}}}var qp=function(e,t,n){if(!t.has(e))throw TypeError("attempted to set private field on non-instance");return t.set(e,n),n},qg=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)};function qm(e){return e instanceof qd||e instanceof qf||e instanceof qh}class qy{constructor(){M.set(this,void 0),qp(this,M,!1)}setModified(){qp(this,M,!0)}get modifiedFlag(){return qg(this,M)}}M=new WeakMap;class qv extends qy{getNodeDepths(e,t,n){for(let r of(n.set(e,t),e.children))this.getNodeDepths(r,t+1,n);return n}optimize(e){let t=this.getNodeDepths(e,0,new Map),n=[...t.entries()].sort((e,t)=>
17t[1]-e[1]);for(let e of n)this.run(e[0]);return this.modifiedFlag}}class qb extends qy{optimize(e){for(let t of(this.run(e),e.children))this.optimize(t);return this.modifiedFlag}}class qx extends qb{mergeNodes(e,t){let n=t.shift();for(let r of t)e.removeChild(r),r.parent=n,r.remove()}run(e){let t=e.children.map(e=>e.hash()),n={};for(let r=0;r<t.length;r++)void 0===n[t[r]]?n[t[r]]=[e.children[r]]:n[t[r]].push(e.children[r]);for(let t of O1(n))n[t].length>1&&(this.setModified(),this.mergeNodes(e,n[t]))}}class q_ extends qb{constructor(e){super(),this.requiresSelectionId=e&&IT(e)}run(e){e instanceof qc&&!(this.requiresSelectionId&&(qm(e.parent)||e.parent instanceof qo||e.parent instanceof qs))&&(this.setModified(),e.remove())}}class qw extends qy{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,t){let n=new Set;for(let r of(e instanceof jV&&OJ(n=e.producedFields(),t)&&(this.setModified(),e.removeFormulas(t),0===e.producedFields.length&&e.remove()),e.children))this.run(r,new Set([...t,...n]))}}class qA extends qb{constructor(){super()}run(e){e instanceof jG&&!e.isRequired()&&(this.setModified(),e.remove())}}class qE extends qv{run(e){if(!(qm(e)||e.numChildren()>1)){for(let t of e.children)if(t instanceof qs){if(e instanceof qs)this.setModified(),e.merge(t);else{if(OK(e.producedFields(),t.dependentFields()))continue;this.setModified(),t.swapWithParent()}}}}}class qk extends qv{run(e){let t=[...e.children],n=e.children.filter(e=>e instanceof qs);if(e.numChildren()>1&&n.length>=1){let r={},i=new Set;for(let e of n){let t=e.parse;for(let e of O1(t))e in r?r[e]!==t[e]&&i.add(e):r[e]=t[e]}for(let e of i)delete r[e];if(!O0(r)){this.setModified();let n=new qs(e,r);for(let i of t){if(i instanceof qs)for(let e of O1(r))delete i.parse[e];e.removeChild(i),i.parent=n,i instanceof qs&&0===O1(i.parse).length&&i.remove()}}}}}class qC extends qv{run(e){e instanceof jG||e.numChildren()>0||e instanceof ql||e instanceof qd||(this.setModified(),e.remove())}}class qD extends qv{run(e){let t=e.children.filter(e=>e instanceof jV),n=t.pop();for(let e of t)this.setModified(),n.merge(e)}}class qF extends qv{run(e){let t=e.children.filter(e=>e instanceof qo),n={};for(let e of t){let t=OU(e.groupBy);t in n||(n[t]=[]),n[t].push(e)}for(let t of O1(n)){let r=n[t];if(r.length>1){let t=r.pop();for(let n of r)t.merge(n)&&(e.removeChild(n),n.parent=t,n.remove(),this.setModified())}}}}class q$ extends qv{constructor(e){super(),this.model=e}run(e){let t=!(qm(e)||e instanceof Uy||e instanceof qs||e instanceof qc),n=[],r=[];for(let i of e.children)i instanceof qa&&(t&&!OK(e.producedFields(),i.dependentFields())?n.push(i):r.push(i));if(n.length>0){let t=n.pop();for(let e of n)t.merge(e,this.model.renameSignal.bind(this.model));this.setModified(),e instanceof qa?e.merge(t,this.model.renameSignal.bind(this.model)):t.swapWithParent()}if(r.length>1){let e=r.pop();for(let t of r)e.merge(t,this.model.renameSignal.bind(this.model));this.setModified()}}}class qM extends qv{run(e){let t;let n=[...e.children],r=OH(n,e=>e instanceof jG);if(!r||1>=e.numChildren())return;let i=[];for(let r of n)if(r instanceof jG){let n=r;for(;1===n.numChildren();){let[e]=n.children;if(e instanceof jG)n=e;else break}i.push(...n.children),t?(e.removeChild(r),r.parent=t.parent,t.parent.removeChild(t),t.parent=n,this.setModified()):t=n}else i.push(r);if(i.length)for(let e of(this.setModified(),i))e.parent.removeChild(e),e.parent=t}}class qS extends jY{constructor(e,t){super(e),this.transform=t}clone(){return new qS(null,OL(this.transform))}addDimensions(e){this.transform.groupby=OV(this.transform.groupby.concat(e),e=>e)}dependentFields(){let e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(e.add,e),this.transform.joinaggregate.map(e=>e.field).filter(e=>void 0!==e).forEach(e.add,e),e}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(e){return e.as??LO(e)}hash(){return`JoinAggregateTransform ${OU(this.transform)}`}assemble(){let e=[],t=[],n=[];for(let r of this.transform.joinaggregate)t.push(r.op),n.push(this.getDefaultName(r)),e.push(void 0===r.field?null:r.field);let r=this.transform.groupby;return{type:"joinaggregate",as:n,ops:t,fields:e,...void 0!==r?{groupby:r}:{}}}}class qN extends jY{constructor(e,t){super(e),this._stack=t}clone(){return new qN(null,OL(this._stack))}static makeFromTransform(e,t){let n;let{stack:r,groupby:i,as:a,offset:o="zero"}=t,l=[],u=[];
17if(void 0!==t.sort)for(let e of t.sort)l.push(e.field),u.push(Bo(e.order,"ascending"));return n=Oy(a)&&a.every(e=>OD(e))&&a.length>1?a:OD(a)?[a,`${a}_end`]:[`${t.stack}_start`,`${t.stack}_end`],new qN(e,{stackField:r,groupby:i,offset:o,sort:{field:l,order:u},facetby:[],as:n})}static makeFromEncoding(e,t){let n,r;let i=t.stack,{encoding:a}=t;if(!i)return null;let{groupbyChannel:o,fieldChannel:l,offset:u,impute:s}=i;if(o){let e=a[o];n=Lj(e)}let c=t.stack.stackBy.reduce((e,t)=>{let n=t.fieldDef,r=LO(n);return r&&e.push(r),e},[]),f=t.encoding.order;return r=Oy(f)||Lx(f)?zl(f):c.reduce((e,t)=>(e.field.push(t),e.order.push("y"===l?"descending":"ascending"),e),{field:[],order:[]}),new qN(e,{dimensionFieldDef:n,stackField:t.vgField(l),facetby:[],stackby:c,sort:r,offset:u,impute:s,as:[t.vgField(l,{suffix:"start",forAs:!0}),t.vgField(l,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(e){this._stack.facetby.push(...e)}dependentFields(){let e=new Set;return e.add(this._stack.stackField),this.getGroupbyFields().forEach(e.add,e),this._stack.facetby.forEach(e.add,e),this._stack.sort.field.forEach(e.add,e),e}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${OU(this._stack)}`}getGroupbyFields(){let{dimensionFieldDef:e,impute:t,groupby:n}=this._stack;return e?e.bin?t?[LO(e,{binSuffix:"mid"})]:[LO(e,{}),LO(e,{binSuffix:"end"})]:[LO(e)]:n??[]}assemble(){let e=[],{facetby:t,dimensionFieldDef:n,stackField:r,stackby:i,sort:a,offset:o,impute:l,as:u}=this._stack;if(l&&n){let{bandPosition:a=.5,bin:o}=n;o&&e.push({type:"formula",expr:`${a}*`+LO(n,{expr:"datum"})+`+${1-a}*`+LO(n,{expr:"datum",binSuffix:"end"}),as:LO(n,{binSuffix:"mid",forAs:!0})}),e.push({type:"impute",field:r,groupby:[...i,...t],key:LO(n,{binSuffix:"mid"}),method:"value",value:0})}return e.push({type:"stack",groupby:[...this.getGroupbyFields(),...t],field:r,sort:a,as:u,offset:o}),e}}class qO extends jY{constructor(e,t){super(e),this.transform=t}clone(){return new qO(null,OL(this.transform))}addDimensions(e){this.transform.groupby=OV(this.transform.groupby.concat(e),e=>e)}dependentFields(){let e=new Set;return(this.transform.groupby??[]).forEach(e.add,e),(this.transform.sort??[]).forEach(t=>e.add(t.field)),this.transform.window.map(e=>e.field).filter(e=>void 0!==e).forEach(e.add,e),e}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(e){return e.as??LO(e)}hash(){return`WindowTransform ${OU(this.transform)}`}assemble(){let e=[],t=[],n=[],r=[];for(let i of this.transform.window)t.push(i.op),n.push(this.getDefaultName(i)),r.push(void 0===i.param?null:i.param),e.push(void 0===i.field?null:i.field);let i=this.transform.frame,a=this.transform.groupby;if(i&&null===i[0]&&null===i[1]&&t.every(e=>TI(e)))return{type:"joinaggregate",as:n,ops:t,fields:e,...void 0!==a?{groupby:a}:{}};let o=[],l=[];if(void 0!==this.transform.sort)for(let e of this.transform.sort)o.push(e.field),l.push(e.order??"ascending");let u=this.transform.ignorePeers;return{type:"window",params:r,as:n,ops:t,fields:e,sort:{field:o,order:l},...void 0!==u?{ignorePeers:u}:{},...void 0!==a?{groupby:a}:{},...void 0!==i?{frame:i}:{}}}}let qB="scale_";function qT(e){for(let t of e){for(let e of t.children)if(e.parent!==t)return!1;if(!qT(t.children))return!1}return!0}function qz(e,t){let n=!1;for(let r of t)n=e.optimize(r)||n;return n}function qR(e,t,n){let r=e.sources,i=!1;return i=qz(new qA,r)||i,i=qz(new q_(t),r)||i,r=r.filter(e=>e.numChildren()>0),i=qz(new qC,r)||i,r=r.filter(e=>e.numChildren()>0),n||(i=qz(new qE,r)||i,i=qz(new q$(t),r)||i,i=qz(new qw,r)||i,i=qz(new qk,r)||i,i=qz(new qF,r)||i,i=qz(new qD,r)||i,i=qz(new qx,r)||i,i=qz(new qM,r)||i),e.sources=r,i}class qL{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}static fromName(e,t){return new qL(()=>e(t))}}function qP(e,t,n){let r=zX(n)?.unit;return"temporal"===t||r?e.map(e=>{let n=LV(e,{timeUnit:r,type:t});return{signal:`{data: ${n}}`}}):[e]}function qj(e,t,n,r){let{encoding:i}=n,a=LI(i[r]),{type:o}=a,l=a.timeUnit;if(t&&t.unionWith){let i=qj(e,void 0,n,r),a=qP(t.unionWith,o,l);return jk([...i.value,...a])}if(T1(t))return jk([t]);if(t&&"unaggregated"!==t&&!t?.param)return jk(qP(t,o,l));let u=n.stack;if(u&&r===u.fieldChannel){if("normalize"===u.offset)return jC([[0,1]]);let e=n.requestDataName(E.Main);return jC([{data:e,field:n.vgField(r,{suffix:"start"})},{data:e,field:n.vgField(r,{suffix:"end"})}])}let s=TN(r)&&Lx(a)?function(e,t,n){if(!Rp(n))return;let r=e.fieldDef(t),i=r.sort;if(i&&Oy(i))return{op:"min",field:UN(r,t),order:"ascending"};let{stack:a}=e,o=a?[...a.groupbyField?[a.groupbyField]:[],...a.stackBy.map(e=>e.fieldDef.field)]:void 0;if(Lu(i)){let e=a&&!OW(o,i.field);return qI(i,e)}if(Ll(i)){let{encoding:t,order:n}=i,r=e.fieldDef(t),{aggregate:l,field:u}
17=r,s=a&&!OW(o,u);if(TP(l)||Tj(l))return qI({field:LO(r),order:n},s);if(TI(l)||!l)return qI({op:l,field:u,order:n},s)}else if("descending"===i)return{op:"min",field:e.vgField(t),order:"descending"};else if(OW(["ascending",void 0],i))return!0}(n,r,e):void 0;if(Lw(a)){let e=qP([a.datum],o,l);return jC(e)}if("unaggregated"===t){let e=n.requestDataName(E.Main),{field:t}=a;return jC([{data:e,field:LO({field:t,aggregate:"min"})},{data:e,field:LO({field:t,aggregate:"max"})}])}if(TG(a.bin)){if(Rp(e))return"bin-ordinal"===e?jC([]):jC([{data:O5(s)?n.requestDataName(E.Main):n.requestDataName(E.Raw),field:n.vgField(r,LZ(a,r)?{binSuffix:"range"}:{}),sort:!0!==s&&Ov(s)?s:{field:n.vgField(r,{}),op:"min"}}]);{let{bin:e}=a;if(!TG(e))return jC([{data:n.requestDataName(E.Main),field:n.vgField(r,{})}]);{let t=qr(n,a.field,e);return jC([new qL(()=>{let e=n.getSignalName(t);return`[${e}.start, ${e}.stop]`})])}}}if(a.timeUnit&&OW(["time","utc"],e)&&Lm(a,q5(n)?n.encoding[B9(r)]:void 0,n.markDef,n.config)){let e=n.requestDataName(E.Main);return jC([{data:e,field:n.vgField(r)},{data:e,field:n.vgField(r,{suffix:"end"})}])}return s?jC([{data:O5(s)?n.requestDataName(E.Main):n.requestDataName(E.Raw),field:n.vgField(r),sort:s}]):jC([{data:n.requestDataName(E.Main),field:n.vgField(r)}])}function qI(e,t){let{op:n,field:r,order:i}
17=e;return{op:n??(t?"sum":"min"),...r?{field:Bn(r)}:{},...i?{order:i}:{}}}function qU(e,t){let{aggregate:n,type:r}=e;return n?OD(n)&&!TH[n]?{valid:!1,reason:`Unaggregated domain not applicable for "${n}" since it produces values outside the origin domain of the source data.`}:"quantitative"===r&&"log"===t?{valid:!1,reason:`Unaggregated domain is currently unsupported for log scale (${OI(e)}).`}:{valid:!0}:{valid:!1,reason:`Using unaggregated domain with raw field has no effect (${OI(e)}).`}}function qq(e,t,n,r){return e.explicit&&t.explicit&&zB(`Conflicting ${r.toString()} property "${n.toString()}" (${OI(e.value)} and ${OI(t.value)}). Using the union of the two domains.`),{explicit:e.explicit,value:[...e.value,...t.value]}}function qW(e){if(T3(e)&&OD(e.field))return e.field;if(Oy(e)?1:!("fields"in e)||"data"in e){if(!Oy(e)&&"fields"in e&&"data"in e){zB("Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.");let t=e.fields[0];return OD(t)?t:void 0}}else{let t;for(let n of e.fields)if(T3(n)&&OD(n.field)){if(t){if(t!==n.field)return zB("Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect."),t}else t=n.field}return zB("Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect."),t}}function qH(e,t){let n=e.component.scales[t],r=n.get("domains").map(t=>(T3(t)&&(t.data=e.lookupDataSource(t.data)),t));return function(e){let t;let n=OV(e.map(e=>{if(T3(e)){let{sort:t,...n}=e;return n}return e}),OU),r=OV(e.map(e=>{if(T3(e)){let t=e.sort;return void 0===t||O5(t)||("op"in t&&"count"===t.op&&delete t.field,"ascending"!==t.order||delete t.order),t}}).filter(e=>void 0!==e),OU);if(0===n.length)return;if(1===n.length){let t=e[0];if(T3(t)&&r.length>0){let e=r[0];if(r.length>1)zB(zF),e=!0;else if(Ov(e)&&"field"in e){let n=e.field;t.field===n&&(e=!e.order||{order:e.order})}return{...t,sort:e}}return t}let i=OV(r.map(e=>O5(e)||!("op"in e)||OD(e.op)&&e.op in TL?e:(zB(`Dropping sort property ${OI(e)} as unioned domains only support boolean or op "count", "min", and "max".`),!0)),OU);1===i.length?t=i[0]:i.length>1&&(zB(zF),t=!0);let a=OV(e.map(e=>T3(e)?e.data:null),e=>e);if(1===a.length&&null!==a[0]){let e={data:a[0],fields:n.map(e=>e.field),...t?{sort:t}:{}};return e}return{fields:n,...t?{sort:t}:{}}}(r)}function qY(e){return O1(e.component.scales).reduce((t,n)=>{let r=e.component.scales[n];if(r.merged)return t;let i=r.combine(),{name:a,type:o,selectionExtent:l,domains:u,range:s,reverse:c,...f}=i,h=function(e,t,n,r){if(Tm(n)){if(T2(e))return{step:{signal:`${t}_step`}}}else if(Ov(e)&&T3(e))return{...e,data:r.lookupDataSource(e.data)};return e}(i.range,a,n,e),d=qH(e,n),p=l?function(e,t,n,r){let i=Ub(e,t.param,t);return{signal:Rg(n.get("type"))&&Oy(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}(e,l,r,d):null;return t.push({name:a,type:o,...d?{domain:d}:{},...p?{domainRaw:p}:{},range:h,...void 0!==c?{reverse:c}:{},...f}),t},[])}class qG extends jE{constructor(e,t){super({},{name:e}),this.merged=!1,this.setWithExplicit("type",t)}domainDefinitelyIncludesZero(){return!1!==this.get("zero")||OH(this.get("domains"),e=>Oy(e)&&2===e.length&&e[0]<=0&&e[1]>=0)}}let qV=["range","scheme"];function qX(e){return"x"===e?"width":"y"===e?"height":void 0}function qZ(e,t){let n=e.fieldDef(t);if(n?.bin){let{bin:r,field:i}=n,a=qX(t),o=e.getName(a);if(Ov(r)&&r.binned&&void 0!==r.step)return new qL(()=>{let n=e.scaleName(t),i=`(domain("${n}")[1] - domain("${n}")[0]) / ${r.step}`;return`${e.getSignalName(o)} / (${i})`});if(TG(r)){let t=qr(e,i,r);return new qL(()=>{let n=e.getSignalName(t),r=`(${n}.stop - ${n}.start) / ${n}.step`;return`${e.getSignalName(o)} / (${r})`})}}}function qJ(e,t,n){let r=Pj(e.width)?e.width.step:PW(n,"width"),i=Pj(e.height)?e.height.step:PW(n,"height");return t.x||t.y?new qL(()=>{let e=[t.x?t.x.signal:r,t.y?t.y.signal:i];return`min(${e.join(", ")})`}):Math.min(r,i)}function qQ(e,t){q5(e)?function(e,t){let n=e.component.scales,{config:r,encoding:i,markDef:a,specifiedScales:o}=e;for(let l of O1(n)){let u=o[l],s=n[l],c=e.getScaleComponent(l),f=LI(i[l]),h=u[t],d=c.get("type"),p=c.get("padding"),g=c.get("paddingInner"),m=RC(d,t),y=RD(l,t);if(void 0!==h&&(m?y&&zB(y):zB(zC(d,t,l))),m&&void 0===y){if(void 0!==h){let e=f.timeUnit,n=f.type;switch(t){case"domainMax":case"domainMin":zT(u[t])||"temporal"===n||e?s.set(t,{signal:LV(u[t],{type:n,timeUnit:e})},!0):s.set(t,u[t],!0);break;default:s.copyKeyFromObject(t,u)}
17}else{let n=t in qK?qK[t]({model:e,channel:l,fieldOrDatumDef:f,scaleType:d,scalePadding:p,scalePaddingInner:g,domain:u.domain,markDef:a,config:r}):r.scale[t];void 0!==n&&s.set(t,n,!1)}}}}(e,t):q1(e,t)}let qK={bins:({model:e,fieldOrDatumDef:t})=>Lx(t)?function(e,t){let n=t.bin;if(TG(n)){let r=qr(e,t.field,n);return new qL(()=>e.getSignalName(r))}if(TV(n)&&Ov(n)&&void 0!==n.step)return{step:n.step}}(e,t):void 0,interpolate:({channel:e,fieldOrDatumDef:t})=>(function(e,t){if(OW([BE,Bk,BC],e)&&"nominal"!==t)return"hcl"})(e,t.type),nice:({scaleType:e,channel:t,domain:n,fieldOrDatumDef:r})=>(function(e,t,n,r){if(!(Lj(r)?.bin||Oy(n)||OW([Ri.TIME,Ri.UTC],e)))return t in Tp||void 0})(e,t,n,r),padding:({channel:e,scaleType:t,fieldOrDatumDef:n,markDef:r,config:i})=>(function(e,t,n,r,i,a){if(e in Tp){if(Rm(t)){if(void 0!==n.continuousPadding)return n.continuousPadding;let{type:t,orient:o}=i;if("bar"===t&&!(Lx(r)&&(r.bin||r.timeUnit))&&("vertical"===o&&"x"===e||"horizontal"===o&&"y"===e))return a.continuousBandSize}if(t===Ri.POINT)return n.pointPadding}})(e,t,i.scale,n,r,i.bar),paddingInner:({scalePadding:e,channel:t,markDef:n,config:r})=>(function(e,t,n,r){if(void 0===e&&t in Tp){let{bandPaddingInner:e,barBandPaddingInner:t,rectBandPaddingInner:i}=r;return Bo(e,"bar"===n?t:i)}})(e,t,n.type,r.scale),paddingOuter:({scalePadding:e,channel:t,scaleType:n,markDef:r,scalePaddingInner:i,config:a})=>(function(e,t,n,r,i,a){if(void 0===e&&t in Tp&&n===Ri.BAND){let{bandPaddingOuter:e}=a;return Bo(e,T1(i)?{signal:`${i.signal}/2`}:i/2)}})(e,t,n,r.type,i,a.scale),reverse:({fieldOrDatumDef:e,scaleType:t,channel:n,config:r})=>{var i,a,o,l;let u=Lx(e)?e.sort:void 0;return i=t,a=u,o=n,l=r.scale,"x"===o&&void 0!==l.xReverse?Rg(i)&&"descending"===a?T1(l.xReverse)?{signal:`!${l.xReverse.signal}`}:!l.xReverse:l.xReverse:!!Rg(i)&&"descending"===a||void 0},zero:({channel:e,fieldOrDatumDef:t,domain:n,markDef:r,scaleType:i})=>(function(e,t,n,r,i){if(n&&"unaggregated"!==n&&Rg(i)){if(Oy(n)){let e=n[0],t=n[n.length-1];if(e<=0&&t>=0)return!0}return!1}if("size"===e&&"quantitative"===t.type&&!(i in Rc))return!0;if(!(Lx(t)&&t.bin)&&OW([...Tg,...Tv],e)){let{orient:t,type:n}=r;return!OW(["bar","area","line","trail"],n)||("horizontal"!==t||"y"!==e)&&("vertical"!==t||"x"!==e)}return!1})(e,t,n,r,i)};function q0(e){q5(e)?function(e){let t=e.component.scales;for(let n of TS){let r=t[n];if(!r)continue;let i=function(e,t){let n=t.specifiedScales[e],{size:r}=t,i=t.getScaleComponent(e),a=i.get("type");for(let r of qV)if(void 0!==n[r]){let i=RC(a,r),l=RD(e,r);if(i){if(l)zB(l);else switch(r){case"range":{let r=n.range;if(Oy(r)){if(Tm(e))return jk(r.map(e=>{if("width"===e||"height"===e){let n=t.getName(e),r=t.getSignalName.bind(t);return qL.fromName(r,n)}return e}))}else if(Ov(r))return jk({data:t.requestDataName(E.Main),field:r.field,sort:{op:"min",field:t.vgField(e)}});return jk(r)}case"scheme":var o;return jk(!OD(o=n[r])&&o.name?{scheme:o.name,...Oj(o,["name"])}:{scheme:o})}}else zB(zC(a,r,e))}if("x"===e||"y"===e){let t="x"===e?"width":"height",n=r[t];if(Pj(n)){if(Rp(a))return jk({step:n.step});zB(zD(t))}}let{rangeMin:l,rangeMax:u}=n,s=function(e,t){let{size:n,config:r,mark:i,encoding:a}=t,o=t.getSignalName.bind(t),{type:l}=LI(a[e]),u=t.getScaleComponent(e),s=u.get("type"),{domain:c,domainMid:f}=t.specifiedScales[e];switch(e){case"x":case"y":{if(OW(["point","band"],s)){if("x"!==e||n.width){if("y"===e&&!n.height){let e=PH(r.view,"height");if(Pj(e))return e}}else{let e=PH(r.view,"width");if(Pj(e))return e}}let i=qX(e),a=t.getName(i);if("y"===e&&Rg(s))return[qL.fromName(o,a),0];return[0,qL.fromName(o,a)]}case BF:{let a=t.component.scales[e].get("zero"),o=function e(t,n,r){if(n)return T1(n)?{signal:`${n.signal} ? 0 : ${e(t,!1,r)}`}:0;switch(t){case"bar":case"tick":return r.scale.minBandSize;case"line":case"trail":case"rule":return r.scale.minStrokeWidth;case"text":return r.scale.minFontSize;case"point":case"square":case"circle":return r.scale.minSize}throw Error(zE("size",t))}(i,a,r),l=function(e,t,n,r){let i={x:qZ(n,"x"),y:qZ(n,"y")};switch(e){case"bar":case"tick":{if(void 0!==r.scale.maxBandSize)return r.scale.maxBandSize;let e=qJ(t,i,r.view);if(OC(e))return e-1;return new qL(()=>`${e.signal} - 1`)}
17case"line":case"trail":case"rule":return r.scale.maxStrokeWidth;case"text":return r.scale.maxFontSize;case"point":case"square":case"circle":{if(r.scale.maxSize)return r.scale.maxSize;let e=qJ(t,i,r.view);if(OC(e))return Math.pow(.95*e,2);return new qL(()=>`pow(0.95 * ${e.signal}, 2)`)}}throw Error(zE("size",e))}(i,n,t,r);if(s in Rc)return function(e,t,n){let r=()=>{let r=zn(t),i=zn(e),a=`(${r} - ${i}) / (${n} - 1)`;return`sequence(${i}, ${r} + ${a}, ${a})`};return T1(t)?new qL(r):{signal:r()}}(o,l,function(e,t,n,r){switch(e){case"quantile":return t.scale.quantileCount;case"quantize":return t.scale.quantizeCount;case"threshold":if(void 0!==n&&Oy(n))return n.length+1;return zB(`Domain for ${r} is required for threshold scale.`),3}}(s,r,c,e));return[o,l]}case Bv:return[0,2*Math.PI];case B$:return[0,360];case Bm:return[0,new qL(()=>{let e=t.getSignalName("width"),n=t.getSignalName("height");return`min(${e},${n})/2`})];case BO:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case BB:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case BD:return"symbol";case BE:case Bk:case BC:if("ordinal"===s)return"nominal"===l?"category":"ordinal";if(void 0!==f)return"diverging";return"rect"===i||"geoshape"===i?"heatmap":"ramp";case BM:case BS:case BN:return[r.scale.minOpacity,r.scale.maxOpacity]}throw Error(`Scale range undefined for channel ${e}`)}(e,t);return(void 0!==l||void 0!==u)&&RC(a,"rangeMin")&&Oy(s)&&2===s.length?jk([l??s[0],u??s[1]]):jC(s)}(n,e);r.setWithExplicit("range",i)}}(e):q1(e,"range")}function q1(e,t){let n=e.component.scales;for(let n of e.children)"range"===t?q0(n):qQ(n,t);for(let r of O1(n)){let i;for(let n of e.children){let e=n.component.scales[r];if(e){let n=e.getWithExplicit(t);i=j$(i,n,t,"scale",jD((e,n)=>"range"===t&&e.step&&n.step?e.step-n.step:0))}}n[r].setWithExplicit(t,i)}}let q2=jD((e,t)=>Ro[e]-Ro[t]);class q3{constructor(){this.nameMap={}}rename(e,t){this.nameMap[e]=t}has(e){return void 0!==this.nameMap[e]}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}}function q5(e){return e?.type==="unit"}function q6(e){return e?.type==="facet"}function q4(e){return e?.type==="concat"}function q8(e){return e?.type==="layer"}class q9{constructor(e,t,n,r,i,a,o){this.type=t,this.parent=n,this.config=i,this.correctDataNames=e=>(e.from&&e.from.data&&(e.from.data=this.lookupDataSource(e.from.data)),e.from&&e.from.facet&&e.from.facet.data&&(e.from.facet.data=this.lookupDataSource(e.from.facet.data)),e),this.parent=n,this.config=i,this.view=TQ(o),this.name=e.name??r,this.title=T0(e.title)?{text:e.title}:e.title?TQ(e.title):void 0,this.scaleNameMap=n?n.scaleNameMap:new q3,this.projectionNameMap=n?n.projectionNameMap:new q3,this.signalNameMap=n?n.signalNameMap:new q3,this.data=e.data,this.description=e.description,this.transforms=(e.transform??[]).map(e=>jc(e)?{filter:Oz(e.filter,z8)}:e),this.layout="layer"===t||"unit"===t?{}:function(e,t,n){let r=n[t],i={},{spacing:a,columns:o}=r;for(let t of(void 0!==a&&(i.spacing=a),void 0!==o&&(Lf(e)&&!Ls(e.facet)||PR(e))&&(i.columns=o),PL(e)&&(i.columns=1),PU))if(void 0!==e[t]){if("spacing"===t){let n=e[t];i[t]=OC(n)?n:{row:n.row??a,column:n.column??a}}else i[t]=e[t]}return i}(e,t,i),this.component={data:{sources:n?n.component.data.sources:[],outputNodes:n?n.component.data.outputNodes:{},outputNodeRefCounts:n?n.component.data.outputNodeRefCounts:{},isFaceted:Lf(e)||n&&n.component.data.isFaceted&&void 0===e.data},layoutSize:new jE,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:{scale:{},axis:{},legend:{},...a?OL(a):{}},selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){!function(e,{ignoreRange:t}={}){for(let t of(function e(t){q5(t)?t.component.scales=function(e){let{encoding:t,mark:n,markDef:r}=e;return TS.reduce((i,a)=>{let o=LI(t[a]);if(o&&n===RU&&a===BD&&o.type===Rr)return i;let l=o&&o.scale;if(o&&null!==l&&!1!==l){l??(l={});let t=function(e,t,n,r){let i=function(e,t,n){switch(t.type){case"nominal":case"ordinal":{if(BH(e)||"discrete"===Tz(e))return"shape"===e&&"ordinal"===t.type&&zB(zk(e,"ordinal")),"ordinal";if(e in Tp){if(OW(["rect","bar","image","rule"],n.type))return"band"}else if("arc"===n.type&&e in Ty)return"band";let r=n[B7(e)];if(RZ(r)||L$(t)&&t.axis?.tickBand)return"band";return"point"}case"temporal":if(BH(e));else if("discrete"===Tz(e))return zB(zk(e,"temporal")),"ordinal";else if(Lx(t)&&t.timeUnit&&zX(t.timeUnit).utc)return"utc";return"time";case"quantitative":if(BH(e)){if(Lx(t)&&TG(t.bin))return"bin-ordinal"}else if("discrete"===Tz(e))return zB(zk(e,"quantitative")),"ordinal";return"linear";case"geojson":return}throw Error(z_(t.type))}(t,n,r),{type:a}=e;if(!TN(t))return null;if(void 0!==a){var o;return!function(e,t){if(!TN(e))return!1;switch(e){case"x":case"y":case Bv:case Bm:return Rm(t)||OW(["band","point"],t);case BF:case BO:case BM:case BS:case BN:case B$:return Rm(t)||t in Rc||OW(["band","point","ordinal"],t);case BE:case Bk:case BC:return"band"!==t;case BB:case BD:return"ordinal"===t||t in Rc}}(t,a)?(zB(`Channel "${t}" does not work with "${a}" scale. We are using "${i}" scale instead.`),i):!Lx(n)||(OW([Re,Rn],o=n.type)?void 0===a||Rp(a):o===Rt?OW([Ri.TIME,Ri.UTC,void 0],a):o!==z7||OW([Ri.LOG,Ri.POW,Ri.SQRT,Ri.SYMLOG,Ri.QUANTILE,Ri.QUANTIZE,Ri.THRESHOLD,Ri.LINEAR,void 0],a))?a:(zB(`FieldDef does not work with "${a}" scale. We are using "${i}" scale instead.`),i)}return i}(l,a,o,r);i[a]=new qG(e.scaleName(`${a}`,!0),{value:t,explicit:l.type===t})}return i},{})}(t):t.component.scales=function(t){var n;let r=t.component.scales={},i={},a=t.component.resolve;for(let r of t.children)for(let o of(e(r),O1(r.component.scales)))if((n=a.scale)[o]??(n[o]=UX(o,t)),"shared"===a.scale[o]){let e=i[o],t=r.component.scales[o].getWithExplicit("type");e?function(e,t){let n=Ra[e],r=Ra[t];return n===r||"ordinal-position"===n&&"time"===r||"ordinal-position"===r&&"time"===n}(e.value,t.value)?i[o]=j$(e,t,"type","scale",q2):(a.scale[o]="independent",delete i[o]):i[o]=t}for(let e of O1(i)){let n=t.scaleName(e,!0),a=i[e];for(let i of(r[e]=new qG(n,a),t.children)){let t=i.component.scales[e];t&&(i.renameScale(t.get("name"),n),t.merged=!0)}}return r}(t)}(e),function e(t){q5(t)?function(e){let t=e.component.scales;for(let n of O1(t)){let r=function(e,t){let n=e.getScaleComponent(t).get("type"),{encoding:r}=e,i=function(e,t,n,r){if("unaggregated"===e){let{valid:e,reason:r}=qU(t,n);if(!e){zB(r);return}}else if(void 0===e&&r.useUnaggregatedDomain){let{valid:e}=qU(t,n);if(e)return"unaggregated"}return e}(e.scaleDomain(t),e.typedFieldDef(t),n,e.config.scale);return(i!==e.scaleDomain(t)&&(e.specifiedScales[t]={...e.specifiedScales[t],domain:i}
17),"x"===t&&LI(r.x2))?LI(r.x)?j$(qj(n,i,e,"x"),qj(n,i,e,"x2"),"domain","scale",qq):qj(n,i,e,"x2"):"y"===t&&LI(r.y2)?LI(r.y)?j$(qj(n,i,e,"y"),qj(n,i,e,"y2"),"domain","scale",qq):qj(n,i,e,"y2"):qj(n,i,e,t)}(e,n),i=t[n];if(i.setWithExplicit("domains",r),function(e,t){let n=e.component.scales[t],r=e.specifiedScales[t].domain,i=e.fieldDef(t)?.bin,a=r?.param&&r,o=Ov(i)&&TX(i.extent)&&i.extent;(a||o)&&n.set("selectionExtent",a??o,!0)}(e,n),e.component.data.isFaceted){let t=e;for(;!q6(t)&&t.parent;)t=t.parent;let i=t.component.resolve.scale[n];if("shared"===i)for(let e of r.value)T3(e)&&(e.data=qB+e.data.replace(qB,""))}}}(t):function(t){for(let n of t.children)e(n);let n=t.component.scales;for(let e of O1(n)){let r;let i=null;for(let n of t.children){let t=n.component.scales[e];if(t){r=void 0===r?t.getWithExplicit("domains"):j$(r,t.getWithExplicit("domains"),"domains","scale",qq);let e=t.get("selectionExtent");i&&e&&i.param!==e.param&&zB("The same selection must be used to override scale domains in a layered view."),i=e}}n[e].setWithExplicit("domains",r),i&&n[e].set("selectionExtent",i,!0)}}(t)}(e),Rk))qQ(e,t);t||q0(e)}(this)}parseProjection(){!function e(t){t.component.projection=q5(t)?function(e){if(e.hasProjection){let t=TQ(e.specifiedProjection),n=!(t&&(null!=t.scale||null!=t.translate)),r=n?[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]:void 0,i=n?function(e){let t=[],{encoding:n}=e;for(let r of[[B_,Bx],[BA,Bw]])(LI(n[r[0]])||LI(n[r[1]]))&&t.push({signal:e.getName(`geojson_${t.length}`)});return e.channelHasField(BD)&&e.typedFieldDef(BD).type===Rr&&t.push({signal:e.getName(`geojson_${t.length}`)}),0===t.length&&t.push(e.requestDataName(E.Main)),t}(e):void 0,a=new qt(e.projectionName(!0),{...TQ(e.config.projection)??{},...t??{}},r,i);return a.get("type")||a.set("type","equalEarth",!1),a}}(t):function(t){let n;if(0===t.children.length)return;for(let n of t.children)e(n);let r=OY(t.children,e=>{let t=e.component.projection;if(!t)return!0;if(!n)return n=t,!0;{let e=function(e,t){let n=OY(qe,n=>!!(!OE(e.explicit,n)&&!OE(t.explicit,n)||OE(e.explicit,n)&&OE(t.explicit,n)&&OR(e.get(n),t.get(n)))),r=OR(e.size,t.size);if(r){if(n)return e;if(OR(e.explicit,{}))return t;if(OR(t.explicit,{}))return e}return null}(n,t);return e&&(n=e),!!e}});if(n&&r){let e=t.projectionName(!0),r=new qt(e,n.specifiedProjection,n.size,OL(n.data));for(let n of t.children){let t=n.component.projection;t&&(t.isFit&&r.data.push(...n.component.projection.data),n.renameProjection(t.get("name"),e),t.merged=!0)}return r}}(t)}(this)}renameTopLevelLayoutSizeSignal(){"width"!==this.getName("width")&&this.renameSignal(this.getName("width"),"width"),"height"!==this.getName("height")&&this.renameSignal(this.getName("height"),"height")}parseLegends(){!function e(t){let n=q5(t)?function(e){let{encoding:t}=e,n={};for(let r of[BE,...PM]){let i=LI(t[r]);!i||!e.getScaleComponent(r)||r===BD&&Lx(i)&&i.type===Rr||(n[r]=function(e,t){let n=e.legend(t),{markDef:r,encoding:i,config:a}=e,o=a.legend,l=new UK({},function(e,t){let n=e.scaleName(t);if("trail"===e.mark){if("color"===t)return{stroke:n};if("size"===t)return{strokeWidth:n}}return"color"===t?e.markDef.filled?{fill:n}:{stroke:n}:{[t]:n}}(e,t));!function(e,t,n){let r=e.fieldDef(t)?.field;for(let i of O2(e.component.selection??{})){let e=i.project.hasField[r]??i.project.hasChannel[t];if(e&&IA.defined(i)){let t=n.get("selections")??[];t.push(i.name),n.set("selections",t,!1),e.hasLegend=!0}}}(e,t,l);let u=void 0!==n?!n:o.disable;if(l.set("disable",u,void 0!==n),u)return l;n=n||{};let s=e.getScaleComponent(t).get("type"),c=LI(i[t]),f=Lx(c)?zX(c.timeUnit)?.unit:void 0,h=n.orient||a.legend.orient||"right",d=function(e){let{legend:t}=e;return Bo(t.type,function({channel:e,timeUnit:t,scaleType:n}){if(BH(e)){if(OW(["quarter","month","day"],t))return"symbol";if(Rm(n))return"gradient"}return"symbol"}(e))}({legend:n,channel:t,timeUnit:f,scaleType:s}),p=function({legendConfig:e,legendType:t,orient:n,legend:r}){return r.direction??e[t?"gradientDirection":"symbolDirection"]??function(e,t){switch(e){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return"gradient"===t?"horizontal":void 0}}(n,t)}
17({legend:n,legendType:d,orient:h,legendConfig:o}),g={legend:n,channel:t,model:e,markDef:r,encoding:i,fieldOrDatumDef:c,legendConfig:o,config:a,scaleType:s,orient:h,legendType:d,direction:p};for(let r of UQ){if("gradient"===d&&r.startsWith("symbol")||"symbol"===d&&r.startsWith("gradient"))continue;let i=r in U6?U6[r](g):n[r];if(void 0!==i){let o=function(e,t,n,r){switch(t){case"disable":return void 0!==n;case"values":return!!n?.values;case"title":if("title"===t&&e===r?.title)return!0}return e===(n||{})[t]}(i,r,n,e.fieldDef(t));(o||void 0===a.legend[r])&&l.set(r,i,o)}}let m=n?.encoding??{},y=l.get("selections"),v={},b={fieldOrDatumDef:c,model:e,channel:t,legendCmpt:l,legendType:d};for(let t of["labels","legend","title","symbols","gradient","entries"]){let n=UV(m[t]??{},e),r=t in U0?U0[t](n,b):n;void 0===r||O0(r)||(v[t]={...y?.length&&Lx(c)?{name:`${O6(c.field)}_legend_${t}`}:{},...y?.length?{interactive:!!y}:{},update:r})}return O0(v)||l.set("encode",v,!!n?.encoding),l}(e,r))}return n}(t):function(t){let{legends:n,resolve:r}=t.component;for(let i of t.children)for(let a of(e(i),O1(i.component.legends)))r.legend[a]=UZ(t.component.resolve,a),"shared"!==r.legend[a]||(n[a]=U8(n[a],i.component.legends[a]),n[a]||(r.legend[a]="independent",delete n[a]));for(let e of O1(n))for(let n of t.children)n.component.legends[e]&&"shared"===r.legend[e]&&delete n.component.legends[e];return n}(t);return t.component.legends=n,n}(this)}assembleGroupStyle(){if("unit"===this.type||"layer"===this.type)return this.view?.style??"cell"}assembleEncodeFromView(e){let{style:t,...n}=e,r={};for(let e of O1(n)){let t=n[e];void 0!==t&&(r[e]=ze(t))}return r}assembleGroupEncodeEntry(e){let t={};return(this.view&&(t=this.assembleEncodeFromView(this.view)),e||(this.description&&(t.description=ze(this.description)),"unit"!==this.type&&"layer"!==this.type))?O0(t)?void 0:t:{width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height"),...t??{}}}assembleLayout(){if(!this.layout)return;let{spacing:e,...t}=this.layout,{component:n,config:r}=this,i=function(e,t){let n={};for(let r of BG){let i=e[r];if(i?.facetFieldDef){let{titleAnchor:e,titleOrient:a}=UT(["titleAnchor","titleOrient"],i.facetFieldDef.header,t,r),o=UO(r,a),l=UI[o][e];void 0!==l&&(n[o]=l)}}return O0(n)?void 0:n}(n.layoutHeaders,r);return{padding:e,...this.assembleDefaultLayout(),...t,...i?{titleBand:i}:{}}}assembleDefaultLayout(){return{}}assembleHeaderMarks(){let{layoutHeaders:e}=this.component,t=[];for(let n of BG)e[n].title&&t.push(function(e,t){let n=e.component.layoutHeaders[t].title,r=e.config?e.config:void 0,i=e.component.layoutHeaders[t].facetFieldDef?e.component.layoutHeaders[t].facetFieldDef:void 0,{titleAnchor:a,titleAngle:o,titleOrient:l}=UT(["titleAnchor","titleAngle","titleOrient"],i.header,r,t),u=UO(t,l),s=Bh(o);return{name:`${t}-title`,type:"group",role:`${u}-title`,title:{text:n,..."row"===t?{orient:"left"}:{},style:"guide-title",...UP(s,u),...UL(u,s,a),...UU(r,i,t,PD,Pk)}}}(this,n));for(let e of Uz)t=t.concat(function(e,t){let n=e.component.layoutHeaders[t],r=[];for(let i of UR)if(n[i])for(let a of n[i]){let o=function(e,t,n,r,i){if(i){let a=null,{facetFieldDef:o}=r,l=e.config?e.config:void 0;if(o&&i.labels){let{labelOrient:e}=UT(["labelOrient"],o.header,l,t);("row"!==t||OW(["top","bottom"],e))&&("column"!==t||OW(["left","right"],e))||(a=Uj(o,t,l))}let u=q6(e)&&!Ls(e.facet),s=i.axes,c=s?.length>0;if(a||c)return{name:e.getName(`${t}_${n}`),type:"group",role:`${t}-${n}`,...r.facetFieldDef?{from:{data:e.getName(`${t}_domain`)},sort:function(e,t){let{sort:n}=e;return Lu(n)?{field:LO(n,{expr:"datum"}),order:n.order??"ascending"}:Oy(n)?{field:UN(e,t,{expr:"datum"}),order:"ascending"}:{field:LO(e,{expr:"datum"}),order:n??"ascending"}}(o,t)}:{},...c&&u?{from:{data:e.getName(`facet_domain_${t}`)}}:{},...a?{title:a}:{},...i.sizeSignal?{encode:{update:{["row"===t?"height":"width"]:i.sizeSignal}}}:{},...c?{axes:s}:{}}}return null}(e,t,i,n,a);null!=o&&r.push(o)}return r}(this,e));return t}assembleAxes(){return function(e,t){let{x:n=[],y:r=[]}=e;return[...n.map(e=>Uw(e,"grid",t)),...r.map(e=>Uw(e,"grid",t)),...n.map(e=>Uw(e,"main",t)),...r.map(e=>Uw(e,"main",t))].filter(e=>e)}(this.component.axes,this.config)}assembleLegends(){return U9(this)}assembleProjections(){return q8(this)||q4(this)?this.children.reduce((e,t)=>
17e.concat(t.assembleProjections()),U7(this)):U7(this)}assembleTitle(){let{encoding:e,...t}=this.title??{},n={...TK(this.config.title).nonMark,...t,...e?{encode:{update:e}}:{}};if(n.text)return OW(["unit","layer"],this.type)?OW(["middle",void 0],n.anchor)&&(n.frame??(n.frame="group")):n.anchor??(n.anchor="start"),O0(n)?void 0:n}assembleGroup(e=[]){let t={};(e=e.concat(this.assembleSignals())).length>0&&(t.signals=e);let n=this.assembleLayout();n&&(t.layout=n),t.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());let r=!this.parent||q6(this.parent)?function e(t){return q8(t)||q4(t)?t.children.reduce((t,n)=>t.concat(e(n)),qY(t)):qY(t)}(this):[];r.length>0&&(t.scales=r);let i=this.assembleAxes();i.length>0&&(t.axes=i);let a=this.assembleLegends();return a.length>0&&(t.legends=a),t}getName(e){return O6((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(E[e].toLowerCase())}requestDataName(e){let t=this.getDataName(e),n=this.component.data.outputNodeRefCounts;return n[t]=(n[t]||0)+1,t}getSizeSignalRef(e){if(q6(this.parent)){let t=UG(e),n=Tb(t),r=this.component.scales[n];if(r&&!r.merged){let e=r.get("type"),t=r.get("range");if(Rp(e)&&T2(t)){let e=r.get("name"),t=qH(this,n),i=qW(t);if(!i)return zB(zg(n)),null;{let t=LO({aggregate:"distinct",field:i},{expr:"datum"});return{signal:UY(e,r,t)}}}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){let t=this.component.data.outputNodes[e];return t?t.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,t){this.signalNameMap.rename(e,t)}renameScale(e,t){this.scaleNameMap.rename(e,t)}renameProjection(e,t){this.projectionNameMap.rename(e,t)}scaleName(e,t){return t?this.getName(e):BV[e]&&TN(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e))?this.scaleNameMap.get(this.getName(e)):void 0}projectionName(e){return e?this.getName("projection"):this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection"))?this.projectionNameMap.get(this.getName("projection")):void 0}getScaleComponent(e){if(!this.component.scales)throw Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");let t=this.component.scales[e];return t&&!t.merged?t:this.parent?this.parent.getScaleComponent(e):void 0}getSelectionComponent(e,t){let n=this.component.selection[e];if(!n&&this.parent&&(n=this.parent.getSelectionComponent(e,t)),!n)throw Error(`Cannot find a selection named "${t}".`);return n}hasAxisOrientSignalRef(){return this.component.axes.x?.some(e=>e.hasOrientSignalRef())||this.component.axes.y?.some(e=>e.hasOrientSignalRef())}}class q7 extends q9{vgField(e,t={}){let n=this.fieldDef(e);if(n)return LO(n,t)}reduceFieldDef(e,t){var n,r,i;return n=this.getMapping(),r=(t,n,r)=>{let i=Lj(n);return i?e(t,i,r):t},n?O1(n).reduce((e,t)=>{let a=n[t];return Oy(a)?a.reduce((e,n)=>r.call(i,e,n,t),e):r.call(i,e,a,t)},t):t}forEachFieldDef(e,t){Pe(this.getMapping(),(t,n)=>{let r=Lj(t);r&&e(r,n)},t)}}class We extends jY{constructor(e,t){super(e),this.transform=t,this.transform=OL(t);let n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??"value",n[1]??"density"]}clone(){return new We(null,OL(this.transform))}dependentFields(){return new Set([this.transform.density,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${OU(this.transform)}`}assemble(){let{density:e,...t}=this.transform,n={type:"kde",field:e,...t};return n}}class Wt extends jY{constructor(e,t){super(e),this.filter=t}clone(){return new Wt(null,{...this.filter})}static make(e,t){let{config:n,mark:r,markDef:i}=t,a=zi("invalid",i,n);if("filter"!==a)return null;let o=t.reduceFieldDef((e,n,i)=>{let a=TN(i)&&t.getScaleComponent(i);if(a){let t=a.get("type");Rg(t)&&"count"!==n.aggregate&&!Rq(r)&&(e[n.field]=n)}return e},{});return O1(o).length?new Wt(e,o):null}dependentFields(){return new Set(O1(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${OU(this.filter)}`}assemble(){let e=O1(this.filter).reduce((e,t)=>
17{let n=this.filter[t],r=LO(n,{expr:"datum"});return null!==n&&("temporal"===n.type?e.push(`(isDate(${r}) || (isValid(${r}) && isFinite(+${r})))`):"quantitative"===n.type&&(e.push(`isValid(${r})`),e.push(`isFinite(+${r})`))),e},[]);return e.length>0?{type:"filter",expr:e.join(" && ")}:null}}class Wn extends jY{constructor(e,t){super(e),this.transform=t,this.transform=OL(t);let{flatten:n,as:r=[]}=this.transform;this.transform.as=n.map((e,t)=>r[t]??e)}clone(){return new Wn(this.parent,OL(this.transform))}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${OU(this.transform)}`}assemble(){let{flatten:e,as:t}=this.transform;return{type:"flatten",fields:e,as:t}}}class Wr extends jY{constructor(e,t){super(e),this.transform=t,this.transform=OL(t);let n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??"key",n[1]??"value"]}clone(){return new Wr(null,OL(this.transform))}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${OU(this.transform)}`}assemble(){let{fold:e,as:t}=this.transform;return{type:"fold",fields:e,as:t}}}class Wi extends jY{constructor(e,t,n,r){super(e),this.fields=t,this.geojson=n,this.signal=r}clone(){return new Wi(null,OL(this.fields),this.geojson,this.signal)}static parseAll(e,t){if(t.component.projection&&!t.component.projection.isFit)return e;let n=0;for(let r of[[B_,Bx],[BA,Bw]]){let i=r.map(e=>{let n=LI(t.encoding[e]);return Lx(n)?n.field:Lw(n)?{expr:`${n.datum}`}:LD(n)?{expr:`${n.value}`}:void 0});(i[0]||i[1])&&(e=new Wi(e,i,null,t.getName(`geojson_${n++}`)))}if(t.channelHasField(BD)){let r=t.typedFieldDef(BD);r.type===Rr&&(e=new Wi(e,null,r.field,t.getName(`geojson_${n++}`)))}return e}dependentFields(){let e=(this.fields??[]).filter(OD);return new Set([...this.geojson?[this.geojson]:[],...e])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${OU(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],{type:"geojson",...this.fields?{fields:this.fields}:{},...this.geojson?{geojson:this.geojson}:{},signal:this.signal}]}}class Wa extends jY{constructor(e,t,n,r){super(e),this.projection=t,this.fields=n,this.as=r}clone(){return new Wa(null,this.projection,OL(this.fields),OL(this.as))}static parseAll(e,t){if(!t.projectionName())return e;for(let n of[[B_,Bx],[BA,Bw]]){let r=n.map(e=>{let n=LI(t.encoding[e]);return Lx(n)?n.field:Lw(n)?{expr:`${n.datum}`}:LD(n)?{expr:`${n.value}`}:void 0}),i=n[0]===BA?"2":"";(r[0]||r[1])&&(e=new Wa(e,t.projectionName(),r,[t.getName(`x${i}`),t.getName(`y${i}`)]))}return e}dependentFields(){return new Set(this.fields.filter(OD))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${OU(this.fields)} ${OU(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class Wo extends jY{constructor(e,t){super(e),this.transform=t}clone(){return new Wo(null,OL(this.transform))}dependentFields(){return new Set([this.transform.impute,this.transform.key,...this.transform.groupby??[]])}producedFields(){return new Set([this.transform.impute])}processSequence(e){let{start:t=0,stop:n,step:r}=e,i=[t,n,...r?[r]:[]].join(",");return{signal:`sequence(${i})`}}static makeFromTransform(e,t){return new Wo(e,t)}static makeFromEncoding(e,t){let n=t.encoding,r=n.x,i=n.y;if(Lx(r)&&Lx(i)){let a=r.impute?r:i.impute?i:void 0;if(void 0===a)return;let o=r.impute?i:i.impute?r:void 0,{method:l,value:u,frame:s,keyvals:c}=a.impute,f=Pt(t.mark,n);return new Wo(e,{impute:a.field,key:o.field,...l?{method:l}:{},...void 0!==u?{value:u}:{},...s?{frame:s}:{},...void 0!==c?{keyvals:c}:{},...f.length?{groupby:f}:{}})}return null}hash(){return`Impute ${OU(this.transform)}`}assemble(){let{impute:e,key:t,keyvals:n,method:r,groupby:i,value:a,frame:o=[null,null]}=this.transform,l={type:"impute",field:e,key:t,...n?{keyvals:n?.stop!==void 0?this.processSequence(n):n}:{},method:"value",...i?{groupby:i}:{},value:r&&"value"!==r?null:a};if(!r||"value"===r)return[l];{let t={type:"window",as:[`imputed_${e}_value`],ops:[r],fields:[e],frame:o,ignorePeers:!1,...i?{groupby:i}:{}},n={type:"formula",expr:`datum.${e} === null ? datum.imputed_${e}_value : datum.${e}`,as:e};return[l,t,n]}}}class Wl extends jY{constructor(e,t){super(e),this.transform=t,this.transform=OL(t);let n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??t.on,n[1]??t.loess]}clone(){return new Wl(null,OL(this.transform))}dependentFields(){return new Set([this.transform.loess,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${OU(this.transform)}`}assemble(){let{loess:e,on:t,...n}=this.transform,r={type:"loess",x:t,y:e,...n};return r}}class Wu extends jY{constructor(e,t,n){super(e),this.transform=t,this.secondary=n}clone(){return new Wu(null,OL(this.transform),this.secondary)}static make(e,t,n,r){let i=t.component.data.sources,{from:a}=n,o=null;if("data"in a){let e=Wx(a.data,i);e||(e=new qd(a.data),i.push(e));let n=t.getName(`lookup_${r}`);o=new jG(e,n,E.Lookup,t.component.data.outputNodeRefCounts),t.component.data.outputNodes[n]=o}else if("param"in a){let e;let r=a.param;n={as:r,...n};try{e=t.getSelectionComponent(O6(r),r)}catch(e){throw Error(`Lookups can only be performed on selection parameters. "${r}" is a variable parameter.`)}if(!(o=e.materialized))throw Error(`Cannot define and lookup the "${r}" selection in the same view. Try moving the lookup into a second, layered view?`)}return new Wu(e,n,o.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?Ow(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${OU({transform:this.transform,secondary:this.secondary})}`}assemble(){let e;if(this.transform.from.fields)e={values:this.transform.from.fields,...this.transform.as?{as:Ow(this.transform.as)}:{}};else{let t=this.transform.as;OD(t)||(zB('If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.'),t="_lookup"),e={as:[t]}}return{type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup],...e,...this.transform.default?{default:this.transform.default}:{}}}}class Ws extends jY{constructor(e,t){super(e),this.transform=t,this.transform=OL(t);let n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??"prob",n[1]??"value"]}clone(){return new Ws(null,OL(this.transform))}dependentFields(){return new Set([this.transform.quantile,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${OU(this.transform)}`}assemble(){let{quantile:e,...t}=this.transform,n={type:"quantile",field:e,...t};return n}}class Wc extends jY{constructor(e,t){super(e),this.transform=t,this.transform=OL(t);let n=this.transform.as??[void 0,void 0];this.transform.as=[n[0]??t.on,n[1]??t.regression]}clone(){return new Wc(null,OL(this.transform))}dependentFields(){return new Set([this.transform.regression,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${OU(this.transform)}`}assemble(){let{regression:e,on:t,...n}=this.transform,r={type:"regression",x:t,y:e,...n};return r}}class Wf extends jY{constructor(e,t){super(e),this.transform=t}clone(){return new Wf(null,OL(this.transform))}
17addDimensions(e){this.transform.groupby=OV((this.transform.groupby??[]).concat(e),e=>e)}producedFields(){}dependentFields(){return new Set([this.transform.pivot,this.transform.value,...this.transform.groupby??[]])}hash(){return`PivotTransform ${OU(this.transform)}`}assemble(){let{pivot:e,value:t,groupby:n,limit:r,op:i}=this.transform;return{type:"pivot",field:e,value:t,...void 0!==r?{limit:r}:{},...void 0!==i?{op:i}:{},...void 0!==n?{groupby:n}:{}}}}class Wh extends jY{constructor(e,t){super(e),this.transform=t}clone(){return new Wh(null,OL(this.transform))}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${OU(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function Wd(e){let t=0;return function n(r,i){if(r instanceof qd&&!r.isGenerator&&!jS(r.data)){e.push(i);let t={name:null,source:i.name,transform:[]};i=t}if(r instanceof qs&&(r.parent instanceof qd&&!i.source?(i.format={...i.format??{},parse:r.assembleFormatParse()},i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof ql){i.name||(i.name=`data_${t++}`),!i.source||i.transform.length>0?(e.push(i),r.data=i.name):r.data=i.source,e.push(...r.assemble());return}if((r instanceof qf||r instanceof qh||r instanceof Wt||r instanceof Uy||r instanceof US||r instanceof Wa||r instanceof qo||r instanceof Wu||r instanceof qO||r instanceof qS||r instanceof Wr||r instanceof Wn||r instanceof We||r instanceof Wl||r instanceof Ws||r instanceof Wc||r instanceof qc||r instanceof Wh||r instanceof Wf)&&i.transform.push(r.assemble()),(r instanceof qa||r instanceof jV||r instanceof Wo||r instanceof qN||r instanceof Wi)&&i.transform.push(...r.assemble()),r instanceof jG){if(i.source&&0===i.transform.length)r.setSource(i.source);else if(r.parent instanceof jG)r.setSource(i.name);else if(i.name||(i.name=`data_${t++}`),r.setSource(i.name),1===r.numChildren()){e.push(i);let t={name:null,source:i.name,transform:[]};i=t}}switch(r.numChildren()){case 0:r instanceof jG&&(!i.source||i.transform.length>0)&&e.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name=`data_${t++}`);let a=i.name;for(let t of(!i.source||i.transform.length>0?e.push(i):a=i.source,r.children)){let e={name:null,source:a,transform:[]};n(t,e)}}}}}function Wp(e,t,n){let r="row"===t?"height":"width";return{labels:n,sizeSignal:e.child.component.layoutSize.get(r)?e.child.getSizeSignalRef(r):void 0,axes:[]}}function Wg(e,t){let{child:n}=e;if(n.component.axes[t]){let{layoutHeaders:i,resolve:a}=e.component;if(a.axis[t]=UZ(a,t),"shared"===a.axis[t]){let a="x"===t?"column":"row",o=i[a];for(let i of n.component.axes[t]){var r;let t="top"===(r=i.get("orient"))||"left"===r||T1(r)?"header":"footer";o[t]??(o[t]=[Wp(e,a,!1)]);let n=Uw(i,"main",e.config,{header:!0});n&&o[t][0].axes.push(n),i.mainExtracted=!0}}}}function Wm(e){for(let t of e.children)t.parseLayoutSize()}function Wy(e,t){let n;let r=UG(t),i=Tb(r),a=e.component.resolve,o=e.component.layoutSize;for(let t of e.children){let o=t.component.layoutSize.getWithExplicit(r),l=a.scale[i]??UX(i,e);if("independent"===l&&"step"===o.value){n=void 0;break}if(n){if("independent"===l&&n.value!==o.value){n=void 0;break}n=j$(n,o,r,"")}else n=o}if(n){for(let n of e.children)e.renameSignal(n.getName(r),e.getName(t)),n.component.layoutSize.set(r,"merged",!1);o.setWithExplicit(t,n)}else o.setWithExplicit(t,{explicit:!1,value:void 0})}function Wv(e,t,n){return LO(t,{suffix:`by_${LO(e)}`,...n??{}})}class Wb extends q7{constructor(e,t,n,r){super(e,"facet",t,n,r,e.resolve),this.child=WT(e.spec,this,this.getName("child"),void 0,r),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!Ls(e))return{facet:this.initFacetFieldDef(e,"facet")};let t=O1(e),n={};for(let r of t){if(!["row",Bp].includes(r)){zB(zE(r,"facet"));break}let t=e[r];if(void 0===t.field){zB(zA(t,r));break}n[r]=this.initFacetFieldDef(t,r)}return n}initFacetFieldDef(e,t){let n=LW(e,t);return n.header?n.header=TQ(n.header):null===n.header&&(n.header=null),n}channelHasField(e){return!!this.facet[e]}fieldDef(e){return this.facet[e]}parseData(){this.component.data=W_(this),this.child.parseData()}parseLayoutSize(){Wm(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),function(e){for(let t of BG)(function(e,t){let{facet:n,config:r,child:i,component:a}=e;if(e.channelHasField(t)){let o=n[t],l=UB("title",null,r,t),u=LR(o,r,{allowDisabling:!0,includeDefault:void 0===l||!!l});i.component.layoutHeaders[t].title&&(u=(Oy(u)?u.join(", "):u)+` / ${i.component.layoutHeaders[t].title}`,i.component.layoutHeaders[t].title=null);let s=UB("labelOrient",o.header,r,t),c=null!==o.header&&Bo(o.header?.labels,r.header.labels,!0),f=OW(["bottom","right"],s)?"footer":"header";a.layoutHeaders[t]={title:null!==o.header?u:null,facetFieldDef:o,[f]:"facet"===t?[]:[Wp(e,t,c)]}}})(e,t);Wg(e,"x"),Wg(e,"y")}(this)}assembleSelectionTopLevelSignals(e){return this.child.assembleSelectionTopLevelSignals(e)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(e){return this.child.assembleSelectionData(e)}getHeaderLayoutMixins(){let e={};for(let t of BG)for(let n of UR){let r=this.component.layoutHeaders[t],i=r[n],{facetFieldDef:a}=r;if(a){let n=UB("titleOrient",a.header,this.config,t);if(["right","bottom"].includes(n)){let r=UO(t,n);e.titleAnchor??(e.titleAnchor={}),e.titleAnchor[r]="end"}}if(i?.[0]){let i="row"===t?"height":"width",a="header"===n?"headerBand":"footerBand";"facet"===t||this.child.component.layoutSize.get(i)||(e[a]??(e[a]={}),e[a][t]=.5),r.title&&(e.offset??(e.offset={}),e.offset["row"===t?"rowTitle":"columnTitle"]=10)}}return e}assembleDefaultLayout(){let{column:e,row:t}=this.facet,n=e?this.columnDistinctSignal():t?1:void 0,r="all";return(t||"independent"!==this.component.resolve.scale.x)&&(e||"independent"!==this.component.resolve.scale.y)||(r="none"),{...this.getHeaderLayoutMixins(),...n?{columns:n}:{},bounds:"full",align:r}}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!this.parent||!(this.parent instanceof Wb)){let e=this.getName("column_domain");return{signal:`length(data('${e}'))`}}}assembleGroup(e){return this.parent&&this.parent instanceof Wb?{...this.channelHasField("column")?{encode:{update:{columns:{field:LO(this.facet.column,{prefix:"distinct"})}}}}:{},...super.assembleGroup(e)}:super.assembleGroup(e)}getCardinalityAggregateForChild(){let e=[],t=[],n=[];if(this.child instanceof Wb){if(this.child.channelHasField("column")){let r=LO(this.child.facet.column);e.push(r),t.push("distinct"),n.push(`distinct_${r}`)}}else for(let r of Tg){let i=this.child.component.scales[r];if(i&&!i.merged){let a=i.get("type"),o=i.get("range");if(Rp(a)&&T2(o)){let i=qH(this.child,r),a=qW(i);a?(e.push(a),t.push("distinct"),n.push(`distinct_${a}`)):zB(zg(r))}}}return{fields:e,ops:t,as:n}}assembleFacet(){let{name:e,data:t}=this.component.data.facetRoot,{row:n,column:r}=this.facet,{fields:i,ops:a,as:o}=this.getCardinalityAggregateForChild(),l=[];for(let e of BG){let t=this.facet[e];
17if(t){l.push(LO(t));let{bin:u,sort:s}=t;if(TG(u)&&l.push(LO(t,{binSuffix:"end"})),Lu(s)){let{field:e,op:l="min"}=s,u=Wv(t,s);n&&r?(i.push(u),a.push("max"),o.push(u)):(i.push(e),a.push(l),o.push(u))}else if(Oy(s)){let n=UN(t,e);i.push(n),a.push("max"),o.push(n)}}}let u=!!n&&!!r;return{name:e,data:t,groupby:l,...u||i.length>0?{aggregate:{...u?{cross:u}:{},...i.length?{fields:i,ops:a,as:o}:{}}}:{}}}facetSortFields(e){let{facet:t}=this,n=t[e];return n?Lu(n.sort)?[Wv(n,n.sort,{expr:"datum"})]:Oy(n.sort)?[UN(n,e,{expr:"datum"})]:[LO(n,{expr:"datum"})]:[]}facetSortOrder(e){let{facet:t}=this,n=t[e];if(n){let{sort:e}=n,t=(Lu(e)?e.order:!Oy(e)&&e)||"ascending";return[t]}return[]}assembleLabelTitle(){let{facet:e,config:t}=this;if(e.facet)return Uj(e.facet,"facet",t);let n={row:["top","bottom"],column:["left","right"]};for(let r of Uz)if(e[r]){let i=UB("labelOrient",e[r]?.header,t,r);if(n[r].includes(i))return Uj(e[r],r,t)}}assembleMarks(){let{child:e}=this,t=this.component.data.facetRoot,n=function(e){let t=[],n=Wd(t);for(let t of e.children)n(t,{source:e.name,name:null,transform:[]});return t}(t),r=e.assembleGroupEncodeEntry(!1),i=this.assembleLabelTitle()||e.assembleTitle(),a=e.assembleGroupStyle(),o={name:this.getName("cell"),type:"group",...i?{title:i}:{},...a?{style:a}:{},from:{facet:this.assembleFacet()},sort:{field:BG.map(e=>
17this.facetSortFields(e)).flat(),order:BG.map(e=>this.facetSortOrder(e)).flat()},...n.length>0?{data:n}:{},...r?{encode:{update:r}}:{},...e.assembleGroup(function(e,t){if(e.component.selection&&O1(e.component.selection).length){let n=OF(e.getName("cell"));t.unshift({name:"facet",value:{},on:[{events:jj("mousemove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return jH(t)}(this,[]))};return[o]}getMapping(){return this.facet}}function Wx(e,t){for(let n of t){let t=n.data;if(e.name&&n.hasName()&&e.name!==n.dataName)continue;let r=e.format?.mesh,i=t.format?.feature;if(r&&i)continue;let a=e.format?.feature;if((a||i)&&a!==i)continue;let o=t.format?.mesh;if(!r&&!o||r===o){if(jN(e)&&jN(t)){if(OR(e.values,t.values))return n}else if(jS(e)&&jS(t)){if(e.url===t.url)return n}else if(jO(e)&&e.name===n.dataName)return n}}return null}function W_(e){let t=function(e,t){if(!e.data&&e.parent)return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main;{if(null===e.data){let e=new qd({values:[]});return t.push(e),e}let n=Wx(e.data,t);if(n)return jB(e.data)||(n.data.format=OG({},e.data.format,n.data.format)),!n.hasName()&&e.data.name&&(n.dataName=e.data.name),n;{let n=new qd(e.data);return t.push(n),n}}}(e,e.component.data.sources),{outputNodes:n,outputNodeRefCounts:r}=e.component.data,i=e.parent?e.parent.component.data.ancestorParse.clone():new jM,a=e.data;jB(a)?(jT(a)?t=new qh(t,a.sequence):jR(a)&&(t=new qf(t,a.graticule)),i.parseNothing=!0):a?.format?.parse===null&&(i.parseNothing=!0),t=qs.makeExplicit(t,e,i)??t,t=new qc(t);let o=e.parent&&q8(e.parent);(q5(e)||q6(e))&&o&&(t=qa.makeFromEncoding(t,e)??t),e.transforms.length>0&&(t=function(e,t,n){let r=0;for(let i of t.transforms){let a,o;if("calculate"in i)a=e=new US(e,i),o="derived";else if(jc(i)){let r=function(e){let t={};return function e(t,n){if(t.not)e(t.not,n);else if(t.and)for(let r of t.and)e(r,n);else if(t.or)for(let r of t.or)e(r,n);else n(t)}(e.filter,e=>{if(z3(e)){let n=null;zZ(e)?n=T9(e.equal):zQ(e)?n=T9(e.lte):zJ(e)?n=T9(e.lt):zK(e)?n=T9(e.gt):z0(e)?n=T9(e.gte):z1(e)?n=e.range[0]:z2(e)&&(n=(e.oneOf??e.in)[0]),n&&(zT(n)?t[e.field]="date":OC(n)?t[e.field]="number":OD(n)&&(t[e.field]="string")),e.timeUnit&&(t[e.field]="date")}}),t}(i);a=e=qs.makeWithAncestors(e,{},r,n)??e,e=new Uy(e,t,i.filter)}else if("bin"in i)a=e=qa.makeFromTransform(e,i,t),o="number";else if("timeUnit"in i){o="date";let t=n.getWithExplicit(i.field);void 0===t.value&&(e=new qs(e,{[i.field]:o}),n.set(i.field,o,!1)),a=e=jV.makeFromTransform(e,i)}else if("aggregate"in i)a=e=qo.makeFromTransform(e,i),o="number",IT(t)&&(e=new qc(e));else if(jf(i))a=e=Wu.make(e,t,i,r++),o="derived";else if("window"in i)a=e=new qO(e,i),o="number";else if("joinaggregate"in i)a=e=new qS(e,i),o="number";else if("stack"in i)a=e=qN.makeFromTransform(e,i),o="derived";else if("fold"in i)a=e=new Wr(e,i),o="derived";else if("flatten"in i)a=e=new Wn(e,i),o="derived";else if("pivot"in i)a=e=new Wf(e,i),o="derived";else if("sample"in i)e=new Wh(e,i);else if("impute"in i)a=e=Wo.makeFromTransform(e,i),o="derived";else if("density"in i)a=e=new We(e,i),o="derived";else if("quantile"in i)a=e=new Ws(e,i),o="derived";else if("regression"in i)a=e=new Wc(e,i),o="derived";else if("loess"in i)a=e=new Wl(e,i),o="derived";else{zB(`Ignoring an invalid transform: ${OI(i)}.`);continue}if(a&&void 0!==o)for(let e of a.producedFields()??[])n.set(e,o,!1)}return e}(t,e,i));let l=function(e){let t={};if(q5(e)&&e.component.selection)for(let n of O1(e.component.selection)){let r=e.component.selection[n];for(let e of r.project.items)!e.channel&&Ba(e.field)>1&&(t[e.field]="flatten")}return t}(e),u=function(e){let t={};function n(e){if(LG(e))t[e.field]="date";else{var n;"quantitative"===e.type&&OD(n=e.aggregate)&&OW(["min","max"],n)?t[e.field]="number":Ba(e.field)>1?e.field in t||(t[e.field]="flatten"):LF(e)&&Lu(e.sort)&&Ba(e.sort.field)>1&&!(e.sort.field in t)&&(t[e.sort.field]="flatten")}}if((q5(e)||q6(e))&&e.forEachFieldDef((t,r)=>{if(LC(t))n(t);else{let i=B4(r),a=e.fieldDef(i);n({...t,type:a.type})}}),q5(e)){let{mark:n,markDef:r,encoding:i}=e;
17if(Rq(n)&&!e.encoding.order){let e="horizontal"===r.orient?"y":"x",n=i[e];!Lx(n)||"quantitative"!==n.type||n.field in t||(t[n.field]="number")}}return t}(e);t=qs.makeWithAncestors(t,{},{...l,...u},i)??t,q5(e)&&(t=Wi.parseAll(t,e),t=Wa.parseAll(t,e)),(q5(e)||q6(e))&&(o||(t=qa.makeFromEncoding(t,e)??t),t=jV.makeFromEncoding(t,e)??t,t=US.parseAllForSortIndex(t,e));let s=e.getDataName(E.Raw),c=new jG(t,s,E.Raw,r);if(n[s]=c,t=c,q5(e)){let n=qo.makeFromEncoding(t,e);n&&(t=n,IT(e)&&(t=new qc(t))),t=Wo.makeFromEncoding(t,e)??t,t=qN.makeFromEncoding(t,e)??t}q5(e)&&(t=Wt.make(t,e)??t);let f=e.getDataName(E.Main),h=new jG(t,f,E.Main,r);n[f]=h,t=h,q5(e)&&function(e,t){for(let[n,r]of O3(e.component.selection??{})){let i=e.getName(`lookup_${n}`);e.component.data.outputNodes[i]=r.materialized=new jG(new Uy(t,e,{param:n}),i,E.Lookup,e.component.data.outputNodeRefCounts)}}(e,h);let d=null;if(q6(e)){let r=e.getName("facet");t=function(e,t){let{row:n,column:r}=t;if(n&&r){let t=null;for(let i of[n,r])if(Lu(i.sort)){let{field:n,op:r="min"}=i.sort;e=t=new qS(e,{joinaggregate:[{op:r,field:n,as:Wv(i,i.sort,{forAs:!0})}],groupby:[LO(i)]})}return t}return null}(t,e.facet)??t,d=new ql(t,e,r,h.getSource()),n[r]=d}return{...e.component.data,outputNodes:n,outputNodeRefCounts:r,raw:c,main:h,facetRoot:d,ancestorParse:i}}class Ww extends q9{constructor(e,t,n,r){super(e,"concat",t,n,r,e.resolve),(e.resolve?.axis?.x==="shared"||e.resolve?.axis?.y==="shared")&&zB("Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415)."),this.children=this.getChildren(e).map((e,t)=>WT(e,this,this.getName(`concat_${t}`),void 0,r))}parseData(){for(let e of(this.component.data=W_(this),this.children))e.parseData()}parseSelections(){for(let e of(this.component.selection={},this.children))for(let t of(e.parseSelections(),O1(e.component.selection)))this.component.selection[t]=e.component.selection[t]}parseMarkGroup(){for(let e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){for(let e of this.children)e.parseAxesAndHeaders()}getChildren(e){return PL(e)?e.vconcat:PP(e)?e.hconcat:e.concat}parseLayoutSize(){!function(e){Wm(e);let t=1===e.layout.columns?"width":"childWidth",n=void 0===e.layout.columns?"height":"childHeight";Wy(e,t),Wy(e,n)}(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(e){return this.children.reduce((e,t)=>t.assembleSelectionTopLevelSignals(e),e)}assembleSignals(){return this.children.forEach(e=>e.assembleSignals()),[]}assembleLayoutSignals(){let e=Uq(this);for(let t of this.children)e.push(...t.assembleLayoutSignals());return e}assembleSelectionData(e){return this.children.reduce((e,t)=>t.assembleSelectionData(e),e)}assembleMarks(){return this.children.map(e=>{let t=e.assembleTitle(),n=e.assembleGroupStyle(),r=e.assembleGroupEncodeEntry(!1);return{type:"group",name:e.getName("group"),...t?{title:t}:{},...n?{style:n}:{},...r?{encode:{update:r}}:{},...e.assembleGroup()}})}assembleDefaultLayout(){let e=this.layout.columns;return{...null!=e?{columns:e}:{},bounds:"full",align:"each"}}}let WA={disable:1,gridScale:1,scale:1,...L1,labelExpr:1,encode:1},WE=O1(WA);class Wk extends jE{constructor(e={},t={},n=!1){super(),this.explicit=e,this.implicit=t,this.mainExtracted=n}
17clone(){return new Wk(OL(this.explicit),OL(this.implicit),this.mainExtracted)}hasAxisPart(e){var t;return"axis"===e||("grid"===e||"title"===e?!!this.get(e):!(!1===(t=this.get(e))||null===t))}hasOrientSignalRef(){return T1(this.explicit.orient)}}let WC={bottom:"top",top:"bottom",left:"right",right:"left"},WD=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function WF(e,t){let{config:n}=e;return{...Ip(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...In("x",e,{defaultPos:"mid"}),...In("y",e,{defaultPos:"mid"}),...j7("size",e),...j7("angle",e),...t?{shape:{value:t}}:j7("shape",e)}}let W$={arc:{vgMark:"arc",encodeEntry:e=>({...Ip(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...In("x",e,{defaultPos:"mid"}),...In("y",e,{defaultPos:"mid"}),...Ic(e,"radius","arc"),...Ic(e,"theta","arc")})},area:{vgMark:"area",encodeEntry:e=>({...Ip(e,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"}),...Il("x",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"horizontal"===e.markDef.orient}),...Il("y",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"vertical"===e.markDef.orient}),...Im(e)})},bar:{vgMark:"rect",encodeEntry:e=>({...Ip(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Ic(e,"x","bar"),...Ic(e,"y","bar")})},circle:{vgMark:"symbol",encodeEntry:e=>WF(e,"circle")},geoshape:{vgMark:"shape",encodeEntry:e=>({...Ip(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})}),postEncodingTransform:e=>{let{encoding:t}=e,n=t.shape,r={type:"geoshape",projection:e.projectionName(),...n&&Lx(n)&&n.type===Rr?{field:LO(n,{expr:"datum"})}:{}}
17;return[r]}},image:{vgMark:"image",encodeEntry:e=>({...Ip(e,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"}),...Ic(e,"x","image"),...Ic(e,"y","image"),...j5(e,"url")})},line:{vgMark:"line",encodeEntry:e=>({...Ip(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...In("x",e,{defaultPos:"mid"}),...In("y",e,{defaultPos:"mid"}),...j7("size",e,{vgChannel:"strokeWidth"}),...Im(e)})},point:{vgMark:"symbol",encodeEntry:e=>WF(e)},rect:{vgMark:"rect",encodeEntry:e=>({...Ip(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Ic(e,"x","rect"),...Ic(e,"y","rect")})},rule:{vgMark:"rule",encodeEntry:e=>{let{markDef:t}=e,n=t.orient;return e.encoding.x||e.encoding.y||e.encoding.latitude||e.encoding.longitude?{...Ip(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Il("x",e,{defaultPos:"horizontal"===n?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"vertical"!==n}),...Il("y",e,{defaultPos:"vertical"===n?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"horizontal"!==n}),...j7("size",e,{vgChannel:"strokeWidth"})}:{}}},square:{vgMark:"symbol",encodeEntry:e=>WF(e,"square")},text:{vgMark:"text",encodeEntry:e=>{let{config:t,encoding:n}=e;return{...Ip(e,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"}),...In("x",e,{defaultPos:"mid"}),...In("y",e,{defaultPos:"mid"}),...j5(e),...j7("size",e,{vgChannel:"fontSize"}),...j7("angle",e),...Iy("align",function(e,t,n){let r=zi("align",e,n);if(void 0===r)return"center"}(e.markDef,0,t)),...Iy("baseline",function(e,t,n){let r=zi("baseline",e,n);if(void 0===r)return"middle"}(e.markDef,0,t)),...In("radius",e,{defaultPos:null}),...In("theta",e,{defaultPos:null})}}},tick:{vgMark:"rect",encodeEntry:e=>{let{config:t,markDef:n}=e,r=n.orient;return{...Ip(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...In("x",e,{defaultPos:"mid",vgChannel:"xc"}),...In("y",e,{defaultPos:"mid",vgChannel:"yc"}),...j7("size",e,{defaultValue:function(e){let{config:t,markDef:n}=e,{orient:r}=n,i="horizontal"===r?"width":"height",a=e.getScaleComponent("horizontal"===r?"x":"y"),o=zi("size",n,t,{vgChannel:i})??t.tick.bandSize;if(void 0!==o)return o;{let e=a?a.get("range"):void 0;if(e&&T2(e)&&OC(e.step))return 3*e.step/4;let n=PW(t.view,i);return 3*n/4}}(e),vgChannel:"horizontal"===r?"width":"height"}),["horizontal"===r?"height":"width"]:ze(zi("thickness",n,t))}}},trail:{vgMark:"trail",encodeEntry:e=>({...Ip(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...In("x",e,{defaultPos:"mid"}),...In("y",e,{defaultPos:"mid"}),...j7("size",e),...Im(e)})}},WM="faceted_path_",WS="stack_group_";function WN(e,t={fromPrefix:""}){let{mark:n,markDef:r,encoding:i,config:a}=e,o=Bo(r.clip,function(e){let t=e.getScaleComponent("x"),n=e.getScaleComponent("y");return!!(t&&t.get("selectionExtent")||n&&n.get("selectionExtent"))||void 0}(e),function(e){let t=e.component.projection;return!!t&&!t.isFit||void 0}(e)),l=zr(r),u=i.key,s=function(e){let{encoding:t,stack:n,mark:r,markDef:i,config:a}=e,o=t.order;if(!Oy(o)&&LD(o)&&Oq(o.value)||!o&&Oq(zi("order",i,a)));else if((Oy(o)||Lx(o))&&!n)return zl(o,{expr:"datum"});else if(Rq(r)){let n="horizontal"===i.orient?"y":"x",r=t[n];if(Lx(r)){let t=r.sort;if(Oy(t))return{field:LO(r,{prefix:n,suffix:"sort_index",expr:"datum"})};if(Lu(t))return{field:LO({aggregate:L8(e.encoding)?t.op:void 0,field:t.field},{expr:"datum"})};if(Ll(t)){let n=e.fieldDef(t.encoding);return{field:LO(n,{expr:"datum"}),order:t.order}}if(null!==t)return{field:LO(r,{binSuffix:e.stack&&e.stack.impute?"mid":void 0,expr:"datum"})}}}}(e),c=function(e){if(!e.component.selection)return null;let t=O1(e.component.selection).length,n=t,r=e.parent;for(;r&&0===n;)n=O1(r.component.selection).length,r=r.parent;return n?{interactive:t>0||!!e.encoding.tooltip}:null}(e),f=zi("aria",r,a),h=W$[n].postEncodingTransform?W$[n].postEncodingTransform(e):null;return[{name:e.getName("marks"),type:W$[n].vgMark,...o?{clip:!0}:{},...l?{style:l}:{},...u?{key:u.field}:{},...s?{sort:s}:{},...c||{},...!1===f?{aria:f}:{},from:{data:t.fromPrefix+e.requestDataName(E.Main)},encode:{update:W$[n].encodeEntry(e)},...h?{transform:h}:{}}]}class WO extends q7{constructor(e,t,n,r={},i){var a,o;super(e,"unit",t,n,i,void 0,PI(e)?e.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[];let l=RY(e.mark)?{...e.mark}:{type:e.mark},u=l.type;void 0===l.filled&&(l.filled=function(e,t,{graticule:n}){if(n)return!1;let r=za("filled",e,t),i=e.type;return Bo(r,i!==RB&&i!==RO&&i!==Rz)}(l,i,{graticule:e.data&&jR(e.data)}));let s=this.encoding=(a=e.encoding||{},o=l.filled,O1(a).reduce((e,t)=>
17{if(!BV[t]){var n;return zB((n=t,`${n}-encoding is dropped as ${n} is not a valid encoding channel.`)),e}let r=a[t];if("angle"!==t||"arc"!==u||a.theta||(zB("Arc marks uses theta channel rather than angle, replacing angle with theta."),t=Bv),!function(e,t,n){let r=function(e){switch(e){case BE:case Bk:case BC:case Bj:case BR:case"key":case BL:case BP:case Bz:case BM:case BS:case BN:case BO:case Bg:case"row":case Bp:return TO;case"x":case"y":case Bx:case B_:return TT;case"x2":case"y2":case Bw:case BA:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case BF:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case BB:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case BD:return{point:"always",geoshape:"always"};case BT:return{text:"always"};case B$:return{point:"always",square:"always",text:"always"};case"url":return{image:"always"};case Bv:case Bm:return{text:"always",arc:"always"};case Bb:case By:return{arc:"always"}}}(t)[n];if(!r)return!1;if("binned"===r){let n=e["x2"===t?"x":"y"];if(!(Lx(n)&&Lx(e[t])&&TV(n.bin)))return!1}return!0}(a,t,u))return zB(zE(t,u)),e;if(t===BF&&"line"===u){let n=Lj(a[t]);if(n?.aggregate)return zB("Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead."),e}if(t===BE&&(o?"fill"in a:"stroke"in a))return zB(zw("encoding",{fill:"fill"in a,stroke:"stroke"in a})),e;if(t===BR||t===Bz&&!Oy(r)&&!LD(r)||t===BL&&Oy(r))r&&(e[t]=Ow(r).reduce((e,n)=>(Lx(n)?e.push(LW(n,t)):zB(zA(n,t)),e),[]));else{if(t===BL&&null===r)e[t]=null;else if(!Lx(r)&&!Lw(r)&&!LD(r)&&!Ly(r)&&!T1(r))return zB(zA(r,t)),e;e[t]=LU(r,t,i)}return e},{}));this.markDef=function(e,t,n){let r=TQ(e),i=zi("orient",r,n);if(r.orient=function(e,t,n){switch(e){case RB:case Rj:case RI:case RR:case RT:case RN:return}let{x:r,y:i,x2:a,y2:o}=t;switch(e){case RS:if(Lx(r)&&(TV(r.bin)||Lx(i)&&i.aggregate&&!r.aggregate))break;if(Lx(i)&&(TV(i.bin)||Lx(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(o||a){if(n)return n;if(!a&&(Lx(r)&&r.type===z7&&!TG(r.bin)||LE(r)))return"horizontal";if(!o&&(Lx(i)&&i.type===z7&&!TG(i.bin)||LE(i)))break}case Rz:if(a&&!(Lx(r)&&TV(r.bin))&&o&&!(Lx(i)&&TV(i.bin)))return;case RM:if(o){if(Lx(i)&&TV(i.bin))return"horizontal";break}if(a){if(!(Lx(r)&&TV(r.bin)))return"horizontal";break}if(e===Rz){if(r&&!i)break;if(i&&!r)return"horizontal"}case RO:case RL:{let t=LA(r),a=LA(i);if(n)return n;if(t&&!a)return"tick"!==e?"horizontal":"vertical";{if(!t&&a)return"tick"!==e?"vertical":"horizontal";if(!t||!a)return;let n=r.type===Rt,o=i.type===Rt;if(n&&!o)return"tick"!==e?"vertical":"horizontal";if(!n&&o)return"tick"!==e?"horizontal":"vertical";if(!r.aggregate&&i.aggregate)return"tick"!==e?"vertical":"horizontal";if(r.aggregate&&!i.aggregate)return"tick"!==e?"horizontal":"vertical"}}}return"vertical"}(r.type,t,i),void 0!==i&&i!==r.orient&&zB(`Specified orient "${r.orient}" overridden with "${i}".`),"bar"===r.type&&r.orient){let e=zi("cornerRadiusEnd",r,n);if(void 0!==e){let n="horizontal"===r.orient&&t.x2||"vertical"===r.orient&&t.y2?["cornerRadius"]:RJ[r.orient];for(let t of n)r[t]=e;void 0!==r.cornerRadiusEnd&&delete r.cornerRadiusEnd}}let a=zi("opacity",r,n);void 0===a&&(r.opacity=function(e,t){if(OW([RB,RL,Rj,RI],e)&&!L8(t))return .7}(r.type,t));let o=zi("cursor",r,n);return void 0===o&&(r.cursor=t.href||r.href||zi("href",r,n)?"pointer":r.cursor),r}(l,s,i),this.size=function({encoding:e,size:t}){for(let n of Tg){let r=B7(n);Pj(t[r])&&LA(e[n])&&(delete t[r],zB(zD(r)))}return t}({encoding:s,size:PI(e)?{...r,...e.width?{width:e.width}:{},...e.height?{height:e.height}:{}}:r}),this.stack=P9(u,s),this.specifiedScales=this.initScales(u,s),this.specifiedAxes=this.initAxes(s),this.specifiedLegends=this.initLegends(s),this.specifiedProjection=e.projection,this.selection=(e.params??[]).filter(e=>PT(e))}get hasProjection(){let{encoding:e}=this,t=this.mark===RU,n=e&&Bq.some(t=>Lk(e[t]));return t||n}scaleDomain(e){let t=this.specifiedScales[e];return t?t.domain:void 0}axis(e){return this.specifiedAxes[e]}legend(e){return this.specifiedLegends[e]}initScales(e,t){return TS.reduce((e,n)=>{let r=LI(t[n]);return r&&(e[n]=this.initScale(r.scale??{})),e},{})}initScale(e){let{domain:t,range:n}=e,r=TQ(e);return Oy(t)&&(r.domain=t.map(T9)),Oy(n)&&(r.range=n.map(T9)),r}initAxes(e){return Tg.reduce((t,n)=>{let r=e[n];if(Lk(r)||"x"===n&&Lk(e.x2)||"y"===n&&Lk(e.y2)){let e=Lk(r)?r.axis:void 0;t[n]=e?this.initAxis({...e}):e}return t},{})}initAxis(e){let t=O1(e),n={};for(let r of t){let t=e[r];n[r]=LQ(t)?T8(t):T9(t)}return n}initLegends(e){return T$.reduce((t,n)=>{let r=LI(e[n]);if(r&&function(e){switch(e){case BE:case Bk:case BC:case BF:case BD:case BM:case BO:case BB:return!0;case BS:case BN:case B$:return!1}}(n)){let e=r.legend;t[n]=e?TQ(e):e}return t},{})}parseData(){this.component.data=W_(this)}parseLayoutSize(){!function(e){let{size:t,component:n}=e;for(let r of Tg){let i=B7(r);if(t[i]){let e=t[i];n.layoutSize.set(i,Pj(e)?"step":e,!0)}else{let t=function(e,t){let n=e.config,r=e.getScaleComponent("width"===t?"x":"y");if(r){let e=r.get("type"),i=r.get("range");if(!Rp(e))return Pq(n.view,t);{let e=PH(n.view,t);return T2(i)||Pj(e)?"step":e}}if(e.hasProjection||"arc"===e.mark)return Pq(n.view,t);{let e=PH(n.view,t);return Pj(e)?e.step:e}}(e,i);n.layoutSize.set(i,t,!1)}}}(this)}parseSelections(){this.component.selection=function(e,t){let n={},r=e.config.selection;if(!t||!t.length)return n;for(let i of t){let t=O6(i.name),a=i.select,o=OD(a)?a:a.type,l=Ov(a)?OL(a):{type:o},{fields:u,encodings:s,...c}=r[o];for(let e in c)"mark"===e&&(l[e]={...c[e],...l[e]}),(void 0===l[e]||!0===l[e])&&(l[e]=c[e]??l[e]);let f=n[t]={...l,name:t,type:o,init:i.value,bind:i.bind,events:OD(l.on)?jj(l.on,"scope"):Ow(OL(l.on))};for(let t of IO)t.defined(f)&&t.parse&&t.parse(e,f,i)}return n}(this,this.selection)}parseMarkGroup(){this.component.mark=function(e){if(OW([RO,RM,RP],e.mark)){let t=Pt(e.mark,e.encoding);
17if(t.length>0)return[{name:e.getName("pathgroup"),type:"group",from:{facet:{name:WM+e.requestDataName(E.Main),data:e.requestDataName(E.Main),groupby:t}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:WN(e,{fromPrefix:WM})}]}else if(e.mark===RS){let t=T4.some(t=>zi(t,e.markDef,e.config));if(e.stack&&!e.fieldDef("size")&&t)return function(e){let t,n;let[r]=WN(e,{fromPrefix:WS}),i=e.scaleName(e.stack.fieldChannel),a=(t={})=>e.vgField(e.stack.fieldChannel,t),o=(e,t)=>{let n=[a({prefix:"min",suffix:"start",expr:t}),a({prefix:"max",suffix:"start",expr:t}),a({prefix:"min",suffix:"end",expr:t}),a({prefix:"max",suffix:"end",expr:t})];return`${e}(${n.map(e=>`scale('${i}',${e})`).join(",")})`};for(let i of("x"===e.stack.fieldChannel?(t={...OP(r.encode.update,["y","yc","y2","height",...T4]),x:{signal:o("min","datum")},x2:{signal:o("max","datum")},clip:{value:!0}},n={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},r.encode.update={...Oj(r.encode.update,["y","yc","y2"]),height:{field:{group:"height"}}}):(t={...OP(r.encode.update,["x","xc","x2","width"]),y:{signal:o("min","datum")},y2:{signal:o("max","datum")},clip:{value:!0}},n={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},r.encode.update={...Oj(r.encode.update,["x","xc","x2"]),width:{field:{group:"width"}}}),T4)){let n=za(i,e.markDef,e.config);r.encode.update[i]?(t[i]=r.encode.update[i],delete r.encode.update[i]):n&&(t[i]=ze(n)),n&&(r.encode.update[i]={value:0})}let l=[];if(e.stack.groupbyChannel){let t=e.fieldDef(e.stack.groupbyChannel),n=LO(t);n&&l.push(n),(t?.bin||t?.timeUnit)&&l.push(LO(t,{binSuffix:"end"}))}return(t=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((t,n)=>{if(r.encode.update[n])return{...t,[n]:r.encode.update[n]};{let r=za(n,e.markDef,e.config);return void 0!==r?{...t,[n]:ze(r)}:t}},t)).stroke&&(t.strokeForeground={value:!0},t.strokeOffset={value:0}),[{type:"group",from:{facet:{data:e.requestDataName(E.Main),name:WS+e.requestDataName(E.Main),groupby:l,aggregate:{fields:[a({suffix:"start"}),a({suffix:"start"}),a({suffix:"end"}),a({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:t},marks:[{type:"group",encode:{update:n},marks:[r]}]}]}(e)}return WN(e)}(this)}parseAxesAndHeaders(){var e;this.component.axes=(e=this,Tg.reduce((t,n)=>(e.component.scales[n]&&(t[n]=[function(e,t){let n=t.axis(e),r=new Wk,i=LI(t.encoding[e]),{mark:a,config:o}=t,l=n?.orient||o["x"===e?"axisX":"axisY"]?.orient||o.axis?.orient||("x"===e?"bottom":"left"),u=t.getScaleComponent(e).get("type"),s=function(e,t,n,r){let i="band"===t?["axisDiscrete","axisBand"]:"point"===t?["axisDiscrete","axisPoint"]:t in Rs?["axisQuantitative"]:"time"===t||"utc"===t?["axisTemporal"]:[],a="x"===e?"axisX":"axisY",o=T1(n)?"axisOrient":`axis${O9(n)}`,l=[...i,...i.map(e=>a+e.substr(4))],u=["axis",o,a];return{vlOnlyAxisConfig:UE(l,r,e,n),vgAxisConfig:UE(u,r,e,n),axisConfigStyle:function(e,t){let n=[{}];for(let r of e){let e=t[r]?.style;if(e)for(let r of e=Ow(e))n.push(t.style[r])}return Object.assign.apply(null,n)}([...u,...l],r)}}(e,u,l,t.config),c=void 0!==n?!n:Uk("disable",o.style,n?.style,s).configValue;if(r.set("disable",c,void 0!==n),c)return r;n=n||{};let f=function(e,t,n,r,i){let a=t?.labelAngle;if(void 0!==a)return T1(a)?a:Bh(a);{let{configValue:a}=Uk("labelAngle",r,t?.style,i);return void 0!==a?Bh(a):"x"===n&&OW([Rn,Re],e.type)&&!(Lx(e)&&e.timeUnit)?270:void 0}}(i,n,e,o.style,s),h={fieldOrDatumDef:i,axis:n,channel:e,model:t,scaleType:u,orient:l,labelAngle:f,mark:a,config:o};for(let i of WE){let a=i in UC?UC[i](h):L2[i]?n[i]:void 0,l=void 0!==a,u=function(e,t,n,r,i){if("disable"===t)return void 0!==n;switch(n=n||{},t){case"titleAngle":case"labelAngle":return e===(T1(n.labelAngle)?n.labelAngle:Bh(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(e===UM(r,i))return!0}return e===n[t]}(a,i,n,t,e);if(l&&u)r.set(i,a,u);else{let{configValue:e,configFrom:t}=L2[i]&&"values"!==i?Uk(i,o.style,n.style,s):{},c=void 0!==e;l&&!c?r.set(i,a,u):("vgAxisConfig"!==t||WD.has(i)&&c||LQ(e)||T1(e))&&r.set(i,e,!1)}}let d=n.encoding??{},p=LK.reduce((n,i)=>{if(!r.hasAxisPart(i))return n;let a=UV(d[i]??{},t),o="labels"===i?function(e,t,n){let{encoding:r,config:i}=e,a=LI(r[t])??LI(r[B9(t)]),o=e.axis(t)||{},{format:l,formatType:u}=o;return R6(u)?{text:R7({fieldOrDatumDef:a,field:"datum.value",format:l,formatType:u,config:i}),...n}:n}(t,e,a):a;return void 0===o||O0(o)||(n[i]={update:o}),n},{});return O0(p)||r.set("encode",p,!!n.encoding||void 0!==n.labelAngle),r}(n,e)]),t),{}))}assembleSelectionTopLevelSignals(e){return function(e,t){let n=!1;for(let r of O2(e.component.selection??{})){let i=r.name,a=OF(i+IM),o=t.filter(e=>e.name===i);if(0===o.length){let e="global"===r.resolve?"union":r.resolve,n="point"===r.type?", true, true)":")";t.push({name:r.name,update:`${IN}(${a}, ${OF(e)}${n}`})}for(let i of(n=!0,IO))i.defined(r)&&i.topLevelSignals&&(t=i.topLevelSignals(e,r,t))}if(n){let e=t.filter(e=>"unit"===e.name);0===e.length&&t.unshift({name:"unit",value:{},on:[{events:"mousemove",update:"isTuple(group()) ? group() : unit"}]})}return jH(t)}(this,e)}assembleSignals(){return[...UA(this),...function(e,t){for(let n of O2(e.component.selection??{})){let r=n.name,i=`${r}${IS}, ${"global"===n.resolve?"true":`{unit: ${IB(e)}}`}`;for(let r of IO)r.defined(n)&&(r.signals&&(t=r.signals(e,n,t)),r.modifyExpr&&(i=r.modifyExpr(e,n,i)));t.push({name:r+"_modify",on:[{events:{signal:n.name+IS},update:`modify(${OF(n.name+IM)}, ${i})`}]})}return jH(t)}(this,[])]}assembleSelectionData(e){return function(e,t){let n=[...t];for(let t of O2(e.component.selection??{})){let r={name:t.name+IM};if(t.init){let n=t.project.items.map(e=>{let{signals:t,...n}=e;return n});r.values=t.init.map(t=>({unit:IB(e,{escape:!1}),fields:n,values:jq(t,!1)}))}let i=n.filter(e=>e.name===t.name+IM);i.length||n.push(r)}return n}(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return Uq(this)}assembleMarks(){let e=this.component.mark??[];return this.parent&&q8(this.parent)||(e=jW(this,e)),e.map(this.correctDataNames)}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(e){return L4(this.encoding,e)}fieldDef(e){let t=this.encoding[e];return Lj(t)}typedFieldDef(e){let t=this.fieldDef(e);return LC(t)?t:null}}class WB extends q9{constructor(e,t,n,r,i){super(e,"layer",t,n,i,e.resolve,e.view);let a={...r,...e.width?{width:e.width}:{},...e.height?{height:e.height}:{}};this.children=e.layer.map((e,t)=>{if(P2(e))return new WB(e,this,this.getName(`layer_${t}`),a,i);if(L5(e))return new WO(e,this,this.getName(`layer_${t}`),a,i);throw Error(zf(e))})}parseData(){for(let e of(this.component.data=W_(this),this.children))e.parseData()}parseLayoutSize(){Wm(this),Wy(this,"width"),Wy(this,"height")}parseSelections(){for(let e of(this.component.selection={},this.children))for(let t of(e.parseSelections(),O1(e.component.selection)))this.component.selection[t]=e.component.selection[t]}parseMarkGroup(){for(let e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){!function(e){let{axes:t,resolve:n}=e.component,r={top:0,bottom:0,right:0,left:0};for(let r of e.children)for(let i of(r.parseAxesAndHeaders(),O1(r.component.axes)))n.axis[i]=UZ(e.component.resolve,i),"shared"!==n.axis[i]||(t[i]=function(e,t){if(!e)return t.map(e=>e.clone());{if(e.length!==t.length)return;let n=e.length;for(let r=0;r<n;r++){let n=e[r],i=t[r];
17if(!!n!=!!i)return;if(n&&i){let t=n.getWithExplicit("orient"),a=i.getWithExplicit("orient");if(t.explicit&&a.explicit&&t.value!==a.value)return;e[r]=function(e,t){for(let n of WE){let r=j$(e.getWithExplicit(n),t.getWithExplicit(n),n,"axis",(e,t)=>{switch(n){case"title":return zc(e,t);case"gridScale":return{explicit:e.explicit,value:Bo(e.value,t.value)}}return jF(e,t,n,"axis")});e.setWithExplicit(n,r)}return e}(n,i)}}}return e}(t[i],r.component.axes[i]),t[i]||(n.axis[i]="independent",delete t[i]));for(let i of Tg){for(let a of e.children)if(a.component.axes[i]){if("independent"===n.axis[i])for(let e of(t[i]=(t[i]??[]).concat(a.component.axes[i]),a.component.axes[i])){let{value:t,explicit:n}=e.getWithExplicit("orient");if(!T1(t)){if(r[t]>0&&!n){let n=WC[t];r[t]>r[n]&&e.set("orient",n,!1)}r[t]++}}delete a.component.axes[i]}if("independent"===n.axis[i]&&t[i]&&t[i].length>1)for(let e of t[i])e.get("grid")&&!e.explicit.grid&&(e.implicit.grid=!1)}}(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((e,t)=>t.assembleSelectionTopLevelSignals(e),e)}assembleSignals(){return this.children.reduce((e,t)=>e.concat(t.assembleSignals()),UA(this))}assembleLayoutSignals(){return this.children.reduce((e,t)=>e.concat(t.assembleLayoutSignals()),Uq(this))}assembleSelectionData(e){return this.children.reduce((e,t)=>t.assembleSelectionData(e),e)}assembleTitle(){let e=super.assembleTitle();if(e)return e;for(let t of this.children)if(e=t.assembleTitle())return e}assembleLayout(){return null}assembleMarks(){return function(e,t){for(let n of e.children)q5(n)&&(t=jW(n,t));return t}(this,this.children.flatMap(e=>e.assembleMarks()))}assembleLegends(){return this.children.reduce((e,t)=>e.concat(t.assembleLegends()),U9(this))}}function WT(e,t,n,r,i){if(Lf(e))return new Wb(e,t,n,i);if(P2(e))return new WB(e,t,n,r,i);if(L5(e))return new WO(e,t,n,r,i);if(PL(e)||PP(e)||PR(e))return new Ww(e,t,n,i);throw Error(zf(e))}function Wz(e,t={}){t.logger&&(zO=t.logger),t.fieldTitle&&(Lz=t.fieldTitle);try{let n=PQ(Ox(t.config,e.config)),r=jy(e,n),i=WT(r,null,"",void 0,n);i.parse(),function(e,t){qT(e.sources);let n=0,r=0;for(let r=0;r<5&&qR(e,t,!0);r++)n++;e.sources.map(function e(t){if(t instanceof ql){if(1!==t.numChildren()||t.children[0]instanceof jG){var n;let e=t.model.component.data.main;(function e(t){if(t instanceof jG&&t.type===E.Main&&1===t.numChildren()){let n=t.children[0];n instanceof ql||(n.swapWithParent(),e(t))}})(e);let r=(n=t,function e(t){if(!(t instanceof ql)){let r=t.clone();if(r instanceof jG){let e=qB+r.getSource();r.setSource(e),n.model.component.data.outputNodes[e]=r}else(r instanceof qo||r instanceof qN||r instanceof qO||r instanceof qS)&&r.addDimensions(n.fields);for(let n of t.children.flatMap(e))n.parent=r;return[r]}return t.children.flatMap(e)}),i=t.children.map(r).flat();for(let t of i)t.parent=e}else{let n=t.children[0];(n instanceof qo||n instanceof qN||n instanceof qO||n instanceof qS)&&n.addDimensions(t.fields),n.swapWithParent(),e(t)}}else t.children.map(e)});for(let n=0;n<5&&qR(e,t,!1);
17n++)r++;qT(e.sources),5===Math.max(n,r)&&zB("Maximum optimization runs(5) reached.")}(i.component.data,i);let a=function(e,t,n={},r){let i=e.config?function(e){for(let t of(e=OL(e),P0))delete e[t];if(e.axis)for(let t in e.axis)LQ(e.axis[t])&&delete e.axis[t];if(e.legend)for(let t of PE)delete e.legend[t];if(e.mark){for(let t of RV)delete e.mark[t];e.mark.tooltip&&Ov(e.mark.tooltip)&&delete e.mark.tooltip}for(let t of(e.params&&(e.signals=(e.signals||[]).concat(Pz(e.params)),delete e.params),PK)){for(let n of RV)delete e[t][n];let n=P1[t];if(n)for(let r of n)delete e[t][r];!function(e,t,n,r){let i=r?e[t][r]:e[t];"view"===t&&(n="cell");let a={...i,...e.style[n??t]};O0(a)||(e.style[n??t]=a),r||delete e[t]}(e,t)}for(let t of O1(Pw))delete e[t];for(let t in function(e){let{titleMarkConfig:t,subtitleMarkConfig:n,subtitle:r}=TK(e.title);O0(t)||(e.style["group-title"]={...e.style["group-title"],...t}),O0(n)||(e.style["group-subtitle"]={...e.style["group-subtitle"],...n}),O0(r)?delete e.title:e.title=r}(e),e)Ov(e[t])&&O0(e[t])&&delete e[t];return O0(e)?void 0:e}(e.config):void 0,a=[].concat(e.assembleSelectionData([]),function(e,t){let n=[],r=Wd(n),i=0;for(let t of e.sources){t.hasName()||(t.dataName=`source_${i++}`);let e=t.assemble();r(t,e)}for(let e of n)0===e.transform.length&&delete e.transform;let a=0;for(let[e,t]of n.entries())0!==(t.transform??[]).length||t.source||n.splice(a++,0,n.splice(e,1)[0]);for(let t of n)for(let n of t.transform??[])"lookup"===n.type&&(n.from=e.outputNodes[n.from].getSource());for(let e of n)e.name in t&&(e.values=t[e.name]);return n}(e.component.data,n)),o=e.assembleProjections(),l=e.assembleTitle(),u=e.assembleGroupStyle(),s=e.assembleGroupEncodeEntry(!0),c=e.assembleLayoutSignals();c=c.filter(e=>"width"!==e.name&&"height"!==e.name||void 0===e.value||(t[e.name]=+e.value,!1));let{params:f,...h}=t;return{$schema:"https://vega.github.io/schema/vega/v5.json",...e.description?{description:e.description}:{},...h,...l?{title:l}:{},...u?{style:u}:{},...s?{encode:{update:s}}:{},data:a,...o.length>0?{projections:o}:{},...e.assembleGroup([...c,...e.assembleSelectionTopLevelSignals([]),...Pz(f)]),...i?{config:i}:{},...r?{usermeta:r}:{}}}(i,function(e,t,n,r){var i,a;let o=r.component.layoutSize.get("width"),l=r.component.layoutSize.get("height");if(void 0===t?(t={type:"pad"},r.hasAxisOrientSignalRef()&&(t.resize=!0)):OD(t)&&(t={type:t}),o&&l&&("fit"===(i=t.type)||"fit-x"===i||"fit-y"===i)){if("step"===o&&"step"===l)zB(zp()),t.type="pad";else if("step"===o||"step"===l){let e="step"===o?"width":"height";zB(zp(Tb(e))),t.type=(a="width"===e?"height":"width")?`fit-${Tb(a)}`:"fit"}}return{...1===O1(t).length&&t.type?"pad"===t.type?{}:{autosize:t.type}:{autosize:t},...jA(n,!1),...jA(e,!0)}}(e,r.autosize,n,i),e.datasets,e.usermeta);return{spec:a,normalized:r}}finally{t.logger&&(zO=zN),t.fieldTitle&&(Lz=LT)}}let WR="5.1.0";var WL=function(e){let[t,n]=/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:t,version:n}};let WP="#fff",Wj="#888",WI={background:"#333",view:{stroke:Wj},title:{color:WP,subtitleColor:WP},style:{"guide-label":{fill:WP},"guide-title":{fill:WP}},axis:{domainColor:WP,gridColor:Wj,tickColor:WP}},WU="#4572a7",Wq={background:"#fff",arc:{fill:WU},area:{fill:WU},line:{stroke:WU,strokeWidth:2},path:{stroke:WU},rect:{fill:WU},shape:{stroke:WU},symbol:{fill:WU,strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},WW="#30a2da",WH="#cbcbcb",WY="#f0f0f0",WG="#333",WV={arc:{fill:WW},area:{fill:WW},axis:{domainColor:WH,grid:!0,gridColor:WH,gridWidth:1,labelColor:"#999",labelFontSize:10,titleColor:"#333",tickColor:WH,tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:WY,group:{fill:WY},legend:{labelColor:WG,labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:WG,titleFontSize:14,titlePadding:10},line:{stroke:WW,strokeWidth:2},path:{stroke:WW,strokeWidth:.5},rect:{fill:WW},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},point:{filled:!0,shape:"circle"},shape:{stroke:WW},bar:{binSpacing:2,fill:WW,stroke:null},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},WX="#000",WZ={group:{fill:"#e5e5e5"},arc:{fill:WX},area:{fill:WX},line:{stroke:WX},path:{stroke:WX},rect:{fill:WX},shape:{stroke:WX},symbol:{fill:WX,size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},WJ="Benton Gothic, sans-serif",WQ="#82c6df",WK="Benton Gothic Bold, sans-serif",W0="normal",W1={"category-6":["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],"fire-7":["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],"fireandice-6":["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"],"ice-7":["#edefee","#dadfe2","#c4ccd2","#a6b7c6","#849eae","#607785","#47525d"]},W2={background:"#ffffff",title:{anchor:"start",color:"#000000",font:WK,fontSize:22,fontWeight:"normal"},arc:{fill:WQ},area:{fill:WQ},line:{stroke:WQ,strokeWidth:2},path:{stroke:WQ},rect:{fill:WQ},shape:{stroke:WQ},symbol:{fill:WQ,size:30},axis:{labelFont:WJ,labelFontSize:11.5,labelFontWeight:"normal",titleFont:WK,titleFontSize:13,titleFontWeight:W0},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:WJ,labelFontSize:11.5,symbolType:"square",titleFont:WK,titleFontSize:13,titleFontWeight:W0},range:{category:W1["category-6"],diverging:W1["fireandice-6"],heatmap:W1["fire-7"],ordinal:W1["fire-7"],ramp:W1["fire-7"]}},W3="#ab5787",W5="#979797",W6={background:"#f9f9f9",arc:{fill:W3},area:{fill:W3},line:{stroke:W3},path:{stroke:W3},rect:{fill:W3},shape:{stroke:W3},symbol:{fill:W3,size:30},axis:{domainColor:W5,domainWidth:.5,gridWidth:.2,labelColor:W5,tickColor:W5,tickWidth:.2,titleColor:W5},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},W4="#3e5c69",W8={background:"#fff",arc:{fill:W4},area:{fill:W4},line:{stroke:W4},path:{stroke:W4},rect:{fill:W4},shape:{stroke:W4},symbol:{fill:W4},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}},W9="#1696d2",W7="#000000",He="Lato",Ht="Lato",Hn={"main-colors":["#1696d2","#d2d2d2","#000000","#fdbf11","#e
17c008b","#55b748","#5c5859","#db2b27"],"shades-blue":["#CFE8F3","#A2D4EC","#73BFE2","#46ABDB","#1696D2","#12719E","#0A4C6A","#062635"],"shades-gray":["#F5F5F5","#ECECEC","#E3E3E3","#DCDBDB","#D2D2D2","#9D9D9D","#696969","#353535"],"shades-yellow":["#FFF2CF","#FCE39E","#FDD870","#FCCB41","#FDBF11","#E88E2D","#CA5800","#843215"],"shades-magenta":["#F5CBDF","#EB99C2","#E46AA7","#E54096","#EC008B","#AF1F6B","#761548","#351123"],"shades-green":["#DCEDD9","#BCDEB4","#98CF90","#78C26D","#55B748","#408941","#2C5C2D","#1A2E19"],"shades-black":["#D5D5D4","#ADABAC","#848081","#5C5859","#332D2F","#262223","#1A1717","#0E0C0D"],"shades-red":["#F8D5D4","#F1AAA9","#E9807D","#E25552","#DB2B27","#A4201D","#6E1614","#370B0A"],"one-group":["#1696d2","#000000"],"two-groups-cat-1":["#1696d2","#000000"],"two-groups-cat-2":["#1696d2","#fdbf11"],"two-groups-cat-3":["#1696d2","#db2b27"],"two-groups-seq":["#a2d4ec","#1696d2"],"three-groups-cat":["#1696d2","#fdbf11","#000000"],"three-groups-seq":["#a2d4ec","#1696d2","#0a4c6a"],"four-groups-cat-1":["#000000","#d2d2d2","#fdbf11","#1696d2"],"four-groups-cat-2":["#1696d2","#ec0008b","#fdbf11","#5c5859"],"four-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a"],"five-groups-cat-1":["#1696d2","#fdbf11","#d2d2d2","#ec008b","#000000"],"five-groups-cat-2":["#1696d2","#0a4c6a","#d2d2d2","#fdbf11","#332d2f"],"five-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a","#000000"],"six-groups-cat-1":["#1696d2","#ec008b","#fdbf11","#000000","#d2d2d2","#55b748"],"six-groups-cat-2":["#1696d2","#d2d2d2","#ec008b","#fdbf11","#332d2f","#0a4c6a"],"six-groups-seq":["#cfe8f3","#a2d4ec","#73bfe2","#46abdb","#1696d2","#12719e"],"diverging-colors":["#ca5800","#fdbf11","#fdd870","#fff2cf","#cfe8f3","#73bfe2","#1696d2","#0a4c6a"]},Hr={background:"#FFFFFF",title:{anchor:"start",fontSize:18,font:He},axisX:{domain:!0,domainColor:W7,domainWidth:1,grid:!1,labelFontSize:12,labelFont:Ht,labelAngle:0,tickColor:W7,tickSize:5,titleFontSize:12,titlePadding:10,titleFont:He},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:"#DEDDDD",gridWidth:1,labelFontSize:12,labelFont:Ht,labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:He,titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:Ht,symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:He,orient:"right",offset:10},view:{stroke:"transparent"},range:{category:Hn["six-groups-cat-1"],diverging:Hn["diverging-colors"],heatmap:Hn["diverging-colors"],ordinal:Hn["six-groups-seq"],ramp:Hn["shades-blue"]},area:{fill:W9},rect:{fill:W9},line:{color:W9,stroke:W9,strokeWidth:5},trail:{color:W9,stroke:W9,strokeWidth:0,size:1},path:{stroke:W9,strokeWidth:.5},point:{filled:!0},text:{font:"Lato",color:W9,fontSize:11,align:"center",fontWeight:400,size:11},style:{bar:{fill:W9,stroke:null}},arc:{fill:W9},shape:{stroke:W9},symbol:{fill:W9,size:30}},Hi="#3366CC",Ha="#ccc",Ho="Arial, sans-serif",Hl={arc:{fill:Hi},area:{fill:Hi},path:{stroke:Hi},rect:{fill:Hi},shape:{stroke:Hi},symbol:{stroke:Hi},circle:{fill:Hi},background:"#fff",padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:Ho,fontSize:12},"guide-title":{font:Ho,fontSize:12},"group-title":{font:Ho,fontSize:12}},title:{font:Ho,fontSize:14,fontWeight:"bold",dy:-3,anchor:"start"},axis:{gridColor:Ha,tickColor:Ha,domain:!1,grid:!0},range:{category:["#4285F4","#DB4437","#F4B400","#0F9D58","#AB47BC","#00ACC1","#FF7043","#9E9D24","#5C6BC0","#F06292","#00796B","#C2185B"],heatmap:["#c6dafc","#5e97f6","#2a56c6"]}},Hu=9*(1/3+1),Hs=10*(1/3+1),Hc=12*(1/3+1),Hf="Segoe UI",Hh="wf_standard-font, helvetica, arial, sans-serif",Hd="#252423",Hp="#605E5C",Hg="transparent",Hm="#118DFF",Hy="#DEEFFF",Hv=[Hy,Hm],Hb={view:{stroke:Hg},background:Hg,font:Hf,header:{titleFont:Hh,titleFontSize:Hc,titleColor:Hd,labelFont:Hf,labelFontSize:Hs,labelColor:Hp},axis:{ticks:!1,grid:!1,domain:!1,labelColor:Hp,labelFontSize:Hu,titleFont:Hh,titleColor:Hd,titleFontSize:Hc,titleFontWeight:"normal"},axisQuantitative:{tickCount:3,grid:!0,gridColor:"#C8C6C4",gridDash:[1,5],labelFlush:!1},axisBand:{tickExtra:!0},axisX:{labelPadding:5},axisY:{labelPadding:10},bar:{fill:Hm},line:{stroke:Hm,strokeWidth:3,strokeCap:"round",strokeJoin:"round"},text:{font:Hf,fontSize:Hu,fill:Hp},arc:{fill:Hm},area:{fill:Hm,line:!0,opacity:.6},path:{stroke:Hm},rect:{fill:Hm},point:{fill:Hm,filled:!0,size:75},shape:{stroke:Hm},symbol:{fill:Hm,strokeWidth:1.5,size:50},legend:{titleFont:Hf,titleFontWeight:"bold",titleColor:Hp,labelFont:Hf,labelFontSize:Hs,labelColor:Hp,symbolType:"circle",symbolSize:75},range:{category:[Hm,"#12239E","#E66C37","#6B007B","#E044A7","#744EC2","#D9B300","#D64550"],diverging:Hv,heatmap:Hv,ordinal:[Hy,"#c7e4ff","#b0d9ff","#9aceff","#83c3ff","#6cb9ff","#55aeff","#3fa3ff","#2898ff",Hm]}},Hx="2.13.0";function H_(e){return(H_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}let Hw=["title","image"];function HA(e,t){return JSON.stringify(e,function(e){let t=[];return function(n,r){if("object"!=typeof r||null===r)return r;let i=t.indexOf(this)+1;return(t.length=i,t.length>e)?"[Object]":t.indexOf(r)>=0?"[Circular]":(t.push(r),r)}}(t))}var HE=`#vg-tooltip-element { 18 visibility: hidden; 19 padding: 8px; 20 position: fixed;
21 z-index: 1000; 22 font-family: sans-serif; 23 font-size: 11px; 24 border-radius: 3px; 25 box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1); 26 /* The default theme is the light theme. */ 27 background-color: rgba(255, 255, 255, 0.95); 28 border: 1px solid #d9d9d9; 29 color: black; 30} 31#vg-tooltip-element.visible { 32 visibility: visible; 33} 34#vg-tooltip-element h2 { 35 margin-top: 0; 36 margin-bottom: 10px; 37 font-size: 13px; 38} 39#vg-tooltip-element table { 40 border-spacing: 0; 41} 42#vg-tooltip-element table tr { 43 border: none; 44} 45#vg-tooltip-element table tr td { 46 overflow: hidden; 47 text-overflow: ellipsis; 48 padding-top: 2px; 49 padding-bottom: 2px; 50} 51#vg-tooltip-element table tr td.key { 52 color: #808080; 53 max-width: 150px; 54 text-align: right; 55 padding-right: 4px; 56} 57#vg-tooltip-element table tr td.value { 58 display: block; 59 max-width: 300px; 60 max-height: 7em; 61 text-align: left; 62} 63#vg-tooltip-element.dark-theme { 64 background-color: rgba(32, 32, 32, 0.9); 65 border: 1px solid #f5f5f5; 66 color: white; 67} 68#vg-tooltip-element.dark-theme td.key { 69 color: #bfbfbf; 70} 71`;let Hk="vg-tooltip-element",HC={offsetX:10,offsetY:10,id:Hk,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:function(e){return String(e).replace(/&/g,"&").replace(/</g,"<")},maxDepth:2,formatTooltip:function(e,t,n){if(e2(e))return`[${e.map(e=>t(tI(e)?e:HA(e,n))).join(", ")}]`;if(e3(e)){let r="",{title:i,image:a}=e,o=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(e,Hw);i&&(r+=`<h2>${t(i)}</h2>`),a&&(r+=`<img src="${t(a)}">`);let l=Object.keys(o);if(l.length>0){for(let e of(r+="<table>",l)){let i=o[e];void 0!==i&&(e3(i)&&(i=HA(i,n)),r+=`<tr><td class="key">${t(e)}:</td><td class="value">${t(i)}</td></tr>`)}r+="</table>"}return r||"{}"}return t(e)}};function HD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function HF(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?HD(Object(n),!0).forEach(function(t){!function(e,t,n){var r;r=function(e,t){if("object"!==H_(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==H_(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"===H_(r)?r:String(r))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):HD(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class H${constructor(e){this.options=HF(HF({},HC),e);let t=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){let e=document.createElement("style");e.setAttribute("id",this.options.styleId),e.innerHTML=function(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw Error("Invalid HTML ID");return HE.toString().replace(Hk,e)}(t);let n=document.head;n.childNodes.length>0?n.insertBefore(e,n.childNodes[0]):n.appendChild(e)}}tooltipHandler(e,t,n,r){var i,a,o;let l,u;if(this.el=document.getElementById(this.options.id),!this.el){this.el=document.createElement("div"),this.el.setAttribute("id",this.options.id),this.el.classList.add("vg-tooltip");let e=document.fullscreenElement??document.body;e.appendChild(this.el)}if(null==r||""===r){this.el.classList.remove("visible",`${this.options.theme}-theme`);return}this.el.innerHTML=this.options.formatTooltip(r,this.options.sanitize,this.options.maxDepth),this.el.classList.add("visible",`${this.options.theme}-theme`);let{x:s,y:c}=(i=this.el.getBoundingClientRect(),a=this.options.offsetX,o=this.options.offsetY,(l=t.clientX+a)+i.width>window.innerWidth&&(l=+t.clientX-a-i.width),(u=t.clientY+o)+i.height>window.innerHeight&&(u=+t.clientY-o-i.height),{x:l,y:u});this.el.style.top=`${c}px`,this.el.style.left=`${s}px`}}var HM=n(83454);function HS(e){return(HS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function HN(e){var t=this;if(t instanceof HN||(t=new HN),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var n=0,r=arguments.length;n<r;n++)t.push(arguments[n]);return t}function HO(e,t,n,r){if(!(this instanceof HO))return new HO(e,t,n,r);this.list=r,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,n?(n.prev=this,this.next=n):this.next=null}HN.Node=HO,HN.create=HN,HN.prototype.removeNode=function(e){if(e.list!==this)throw Error("remov
71ing node which does not belong to this list");var t=e.next,n=e.prev;return t&&(t.prev=n),n&&(n.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=n),e.list.length--,e.next=null,e.prev=null,e.list=null,t},HN.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}},HN.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}},HN.prototype.push=function(){for(var e,t,n=0,r=arguments.length;n<r;n++)e=this,t=arguments[n],e.tail=new HO(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++;return this.length},HN.prototype.unshift=function(){for(var e,t,n=0,r=arguments.length;n<r;n++)e=this,t=arguments[n],e.head=new HO(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++;return this.length},HN.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},HN.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},HN.prototype.forEach=function(e,t){t=t||this;for(var n=this.head,r=0;null!==n;r++)e.call(t,n.value,r,this),n=n.next},HN.prototype.forEachReverse=function(e,t){t=t||this;for(var n=this.tail,r=this.length-1;null!==n;r--)e.call(t,n.value,r,this),n=n.prev},HN.prototype.get=function(e){for(var t=0,n=this.head;null!==n&&t<e;t++)n=n.next;if(t===e&&null!==n)return n.value},HN.prototype.getReverse=function(e){for(var t=0,n=this.tail;null!==n&&t<e;t++)n=n.prev;if(t===e&&null!==n)return n.value},HN.prototype.map=function(e,t){t=t||this;for(var n=new HN,r=this.head;null!==r;)n.push(e.call(t,r.value,this)),r=r.next;return n},HN.prototype.mapReverse=function(e,t){t=t||this;for(var n=new HN,r=this.tail;null!==r;)n.push(e.call(t,r.value,this)),r=r.prev;return n},HN.prototype.reduce=function(e,t){var n,r=this.head;if(arguments.length>1)n=t;else if(this.head)r=this.head.next,n=this.head.value;else throw TypeError("Reduce of empty list with no initial value");for(var i=0;null!==r;i++)n=e(n,r.value,i),r=r.next;return n},HN.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else if(this.tail)r=this.tail.prev,n=this.tail.value;else throw TypeError("Reduce of empty list with no initial value");for(var i=this.length-1;null!==r;i--)n=e(n,r.value,i),r=r.prev;return n},HN.prototype.toArray=function(){for(var e=Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},HN.prototype.toArrayReverse=function(){for(var e=Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},HN.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new HN;if(t<e||t<0)return n;e<0&&(e=0),t>this.length&&(t=this.length);for(var r=0,i=this.head;null!==i&&r<e;r++)i=i.next;for(;null!==i&&r<t;r++,i=i.next)n.push(i.value);return n},HN.prototype.sliceReverse=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new HN;if(t<e||t<0)return n;e<0&&(e=0),t>this.length&&(t=this.length);for(var r=this.length,i=this.tail;null!==i&&r>t;r--)i=i.prev;for(;null!==i&&r>e;r--,i=i.prev)n.push(i.value);return n},HN.prototype.splice=function(e,t,...n){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var r=0,i=this.head;null!==i&&r<e;r++)i=i.next;for(var a=[],r=0;i&&r<t;r++)a.push(i.value),i=this.removeNode(i);null===i&&(i=this.tail),i!==this.head&&i!==this.tail&&(i=i.prev);for(var r=0;r<n.length;r++)i=function(e,t,n){var r=t===e.head?new HO(n,null,t,e):new HO(n,t,t.next,e);return null===r.next&&(e.tail=r),null===r.prev&&(e.head=r),e.length++,r}(this,i,n[r]);return a},HN.prototype.reverse=function(){for(var e=this.head,t=this.tail,n=e;null!==n;n=n.prev){var r=n.prev;n.prev=n.next,n.next=r}return this.head=t,this.tail=e,this};try{(N?S:(N=1,S=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}))(HN)}catch(e){}let HB=Symbol("max"),HT=Symbol("length"),Hz=Symbol("lengthCalculator"),HR=Symbol("allowStale"),HL=Symbol("maxAge"),HP=Symbol("dispose"),Hj=Symbol("noDisposeOnSet"),HI=Symbol("lruList"),HU=Symbol("cache"),Hq=Symbol("updateAgeOnGet"),HW=()=>1,HH=(e,t,n)=>{let r=e[HU].get(t);if(r){let t=r.value;if(HY(e,t)){if(HV(e,r),!e[HR])return}else n&&(e[Hq]&&(r.value.now=Date.now()),e[HI].unshiftNode(r));return t.value}},HY=(e,t)=>{if(!t||!t.maxAge&&!e[HL])return!1;let n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[HL]&&n>e[HL]},HG=e=>{if(e[HT]>e[HB])for(let t=e[HI].tail;e[HT]>e[HB]&&null!==t;){let n=t.prev;HV(e,t),t=n}},HV=(e,t)=>{if(t){let n=t.value;e[HP]&&e[HP](n.key,n.value),e[HT]-=n.length,e[HU].delete(n.key),e[HI].removeNode(t)}};class HX{constructor(e,t,n,r,i){this.key=e,this.value=t,this.length=n,this.now=r,this.maxAge=i||0}}let HZ=(e,t,n,r)=>{let i=n.value;HY(e,i)&&(HV(e,n),e[HR]||(i=void 0)),i&&t.call(r,i.value,i.key,e)};var HJ=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw TypeError("max must be a non-negative number");this[HB]=e.max||1/0;let t=e.length||HW;if(this[Hz]="function"!=typeof t?HW:t,this[HR]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw TypeError("maxAge must be a number");this[HL]=e.maxAge||0,this[HP]=e.dispose,this[Hj]=e.noDisposeOnSet||!1,this[Hq]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw TypeError("max must be a non-negative number");this[HB]=e||1/0,HG(this)}get max(){return this[HB]}set allowStale(e){this[HR]=!!e}get allowStale(){return this[HR]}set maxAge(e){if("number"!=typeof e)throw TypeError("maxAge must be a non-negative number");this[HL]=e,HG(this)}get maxAge(){return this[HL]}set lengthCalculator(e){"function"!=typeof e&&(e=HW),e!==this[Hz]&&(this[Hz]=e,this[HT]=0,this[HI].forEac
71h(e=>{e.length=this[Hz](e.value,e.key),this[HT]+=e.length})),HG(this)}get lengthCalculator(){return this[Hz]}get length(){return this[HT]}get itemCount(){return this[HI].length}rforEach(e,t){t=t||this;for(let n=this[HI].tail;null!==n;){let r=n.prev;HZ(this,e,n,t),n=r}}forEach(e,t){t=t||this;for(let n=this[HI].head;null!==n;){let r=n.next;HZ(this,e,n,t),n=r}}keys(){return this[HI].toArray().map(e=>e.key)}values(){return this[HI].toArray().map(e=>e.value)}reset(){this[HP]&&this[HI]&&this[HI].length&&this[HI].forEach(e=>this[HP](e.key,e.value)),this[HU]=new Map,this[HI]=new HN,this[HT]=0}dump(){return this[HI].map(e=>!HY(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[HI]}set(e,t,n){if((n=n||this[HL])&&"number"!=typeof n)throw TypeError("maxAge must be a number");let r=n?Date.now():0,i=this[Hz](t,e);if(this[HU].has(e)){if(i>this[HB])return HV(this,this[HU].get(e)),!1;let a=this[HU].get(e),o=a.value;return this[HP]&&!this[Hj]&&this[HP](e,o.value),o.now=r,o.maxAge=n,o.value=t,this[HT]+=i-o.length,o.length=i,this.get(e),HG(this),!0}let a=new HX(e,t,i,r,n);return a.length>this[HB]?(this[HP]&&this[HP](e,t),!1):(this[HT]+=a.length,this[HI].unshift(a),this[HU].set(e,this[HI].head),HG(this),!0)}has(e){if(!this[HU].has(e))return!1;let t=this[HU].get(e).value;return!HY(this,t)}get(e){return HH(this,e,!0)}peek(e){return HH(this,e,!1)}pop(){let e=this[HI].tail;return e?(HV(this,e),e.value):null}del(e){HV(this,this[HU].get(e))}load(e){this.reset();let t=Date.now();for(let n=e.length-1;n>=0;n--){let r=e[n],i=r.e||0;if(0===i)this.set(r.k,r.v);else{let e=i-t;e>0&&this.set(r.k,r.v,e)}}}prune(){this[HU].forEach((e,t)=>HH(this,t,!1))}};let HQ=Object.freeze({loose:!0}),HK=Object.freeze({}),H0=e=>e?"object"!=typeof e?HQ:e:HK;var H1={exports:{}};let H2=Number.MAX_SAFE_INTEGER||9007199254740991;var H3={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_INTEGER:H2,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2};let H5="object"==typeof HM&&HM.env&&HM.env.NODE_DEBUG&&/\bsemver\b/i.test(HM.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};!function(e,t){let{MAX_SAFE_COMPONENT_LENGTH:n}=H3;t=e.exports={};let r=t.re=[],i=t.src=[],a=t.t={},o=0,l=(e,t,n)=>{let l=o++;H5(e,l,t),a[e]=l,i[l]=t,r[l]=new RegExp(t,n?"g":void 0)};l("NUMERICIDENTIFIER","0|[1-9]\\d*"),l("NUMERICIDENTIFIERLOOSE","[0-9]+"),l("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),l("MAINVERSION",`(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})`),l("MAINVERSIONLOOSE",`(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})`),l("PRERELEASEIDENTIFIER",`(?:${i[a.NUMERICIDENTIFIER]}|${i[a.NONNUMERICIDENTIFIER]})`),l("PRERELEASEIDENTIFIERLOOSE",`(?:${i[a.NUMERICIDENTIFIERLOOSE]}|${i[a.NONNUMERICIDENTIFIER]})`),l("PRERELEASE",`(?:-(${i[a.PRERELEASEIDENTIFIER]}(?:\\.${i[a.PRERELEASEIDENTIFIER]})*))`),l("PRERELEASELOOSE",`(?:-?(${i[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[a.PRERELEASEIDENTIFIERLOOSE]})*))`),l("BUILDIDENTIFIER","[0-9A-Za-z-]+"),l("BUILD",`(?:\\+(${i[a.BUILDIDENTIFIER]}(?:\\.${i[a.BUILDIDENTIFIER]})*))`),l("FULLPLAIN",`v?${i[a.MAINVERSION]}${i[a.PRERELEASE]}?${i[a.BUILD]}?`),l("FULL",`^${i[a.FULLPLAIN]}$`),l("LOOSEPLAIN",`[v=\\s]*${i[a.MAINVERSIONLOOSE]}${i[a.PRERELEASELOOSE]}?${i[a.BUILD]}?`),l("LOOSE",`^${i[a.LOOSEPLAIN]}$`),l("GTLT","((?:<|>)?=?)"),l("XRANGEIDENTIFIERLOOSE",`${i[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),l("XRANGEIDENTIFIER",`${i[a.NUMERICIDENTIFIER]}|x|X|\\*`),l("XRANGEPLAIN",`[v=\\s]*(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:${i[a.PRERELEASE]})?${i[a.BUILD]}?)?)?`),l("XRANGEPLAINLOOSE",`[v=\\s]*(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:${i[a.PRERELEASELOOSE]})?${i[a.BUILD]}?)?)?`),l("XRANGE",`^${i[a.GTLT]}\\s*${i[a.XRANGEPLAIN]}$`),l("XRANGELOOSE",`^${i[a.GTLT]}\\s*${i[a.XRANGEPLAINLOOSE]}$`),l("COERCE",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?(?:$|[^\\d])`),l("COERCERTL",i[a.COERCE],!0),l("LONETILDE","(?:~>?)"),l("TILDETRIM",`(\\s*)${i[a.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",l("TILDE",`^${i[a.LONETILDE]}${i[a.XRANGEPLAIN]}$`),l("TILDELOOSE",`^${i[a.LONETILDE]}${i[a.XRANGEPLAINLOOSE]}$`),l("LONECARET","(?:\\^)"),l("CARETTRIM",`(\\s*)${i[a.LONECARET]}
71\\s+`,!0),t.caretTrimReplace="$1^",l("CARET",`^${i[a.LONECARET]}${i[a.XRANGEPLAIN]}$`),l("CARETLOOSE",`^${i[a.LONECARET]}${i[a.XRANGEPLAINLOOSE]}$`),l("COMPARATORLOOSE",`^${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]})$|^$`),l("COMPARATOR",`^${i[a.GTLT]}\\s*(${i[a.FULLPLAIN]})$|^$`),l("COMPARATORTRIM",`(\\s*)${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]}|${i[a.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",l("HYPHENRANGE",`^\\s*(${i[a.XRANGEPLAIN]})\\s+-\\s+(${i[a.XRANGEPLAIN]})\\s*$`),l("HYPHENRANGELOOSE",`^\\s*(${i[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[a.XRANGEPLAINLOOSE]})\\s*$`),l("STAR","(<|>)?=?\\s*\\*"),l("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),l("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(H1,H1.exports);var H6=H1.exports;let H4=/^[0-9]+$/,H8=(e,t)=>{let n=H4.test(e),r=H4.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e<t?-1:1},H9=(e,t)=>H8(t,e),{MAX_LENGTH:H7,MAX_SAFE_INTEGER:Ye}=H3,{re:Yt,t:Yn}=H6,{compareIdentifiers:Yr}={compareIdentifiers:H8,rcompareIdentifiers:H9},Yi=class e{constructor(t,n){if(n=H0(n),t instanceof e){if(!!n.loose===t.loose&&!!n.includePrerelease===t.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw TypeError(`Invalid Version: ${t}`);if(t.length>H7)throw TypeError(`version is longer than ${H7} characters`);H5("SemVer",t,n),this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease;let r=t.trim().match(n.loose?Yt[Yn.LOOSE]:Yt[Yn.FULL]);if(!r)throw TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>Ye||this.major<0)throw TypeError("Invalid major version");if(this.minor>Ye||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>Ye||this.patch<0)throw TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){let t=+e;if(t>=0&&t<Ye)return t}return e}):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(H5("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if("string"==typeof t&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),Yr(this.major,t.major)||Yr(this.minor,t.minor)||Yr(this.patch,t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return -1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{let e=this.prerelease[n],r=t.prerelease[n];if(H5("prerelease compare",n,e,r),void 0===e&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===e)return -1;if(e===r)continue;else return Yr(e,r)}while(++n)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let n=0;do{let e=this.build[n],r=t.build[n];if(H5("prerelease compare",n,e,r),void 0===e&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===e)return -1;if(e===r)continue;else return Yr(e,r)}while(++n)}inc(e,t,n){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,n),this.inc("pre",t,n);break;case"major":(0!==this.minor||0!==this.patch||0===this.prerelease.length)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(0!==this.patch||0===this.prerelease.length)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{let e=this.prerelease.length;for(;--e>=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}if(t){let e=Number(n)?1:0;0===Yr(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=[t,e]):this.prerelease=[t,e]}break;default:throw Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}},Ya=(e,t,n)=>
71new Yi(e,n).compare(new Yi(t,n)),Yo=(e,t,n)=>0===Ya(e,t,n),Yl=(e,t,n)=>0!==Ya(e,t,n),Yu=(e,t,n)=>Ya(e,t,n)>0,Ys=(e,t,n)=>Ya(e,t,n)>=0,Yc=(e,t,n)=>0>Ya(e,t,n),Yf=(e,t,n)=>0>=Ya(e,t,n),Yh=(e,t,n,r)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return Yo(e,n,r);case"!=":return Yl(e,n,r);case">":return Yu(e,n,r);case">=":return Ys(e,n,r);case"<":return Yc(e,n,r);case"<=":return Yf(e,n,r);default:throw TypeError(`Invalid operator: ${t}`)}},Yd=function e(){if(z)return T;z=1;class t{constructor(e,n){if(n=r(n),e instanceof t){if(!!n.loose===e.loose&&!!n.includePrerelease===e.includePrerelease)return e;return new t(e.raw,n)}if(e instanceof i)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease,this.raw=e,this.set=e.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let e=this.set[0];if(this.set=this.set.filter(e=>!p(e[0])),0===this.set.length)this.set=[e];else if(this.set.length>1){for(let e of this.set)if(1===e.length&&g(e[0])){this.set=[e];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let t=(this.options.includePrerelease&&h)|(this.options.loose&&d),r=t+":"+e,o=n.get(r);if(o)return o;let g=this.options.loose,m=g?l[u.HYPHENRANGELOOSE]:l[u.HYPHENRANGE];a("hyphen replace",e=e.replace(m,D(this.options.includePrerelease))),a("comparator trim",e=e.replace(l[u.COMPARATORTRIM],s));let v=(e=(e=(e=e.replace(l[u.TILDETRIM],c)).replace(l[u.CARETTRIM],f)).split(/\s+/).join(" ")).split(" ").map(e=>y(e,this.options)).join(" ").split(/\s+/).map(e=>C(e,this.options));g&&(v=v.filter(e=>(a("loose invalid filter",e,this.options),!!e.match(l[u.COMPARATORLOOSE])))),a("range list",v);let b=new Map,x=v.map(e=>new i(e,this.options));for(let e of x){if(p(e))return[e];b.set(e.value,e)}b.size>1&&b.has("")&&b.delete("");let _=[...b.values()];return n.set(r,_),_}intersects(e,n){if(!(e instanceof t))throw TypeError("a Range is required");return this.set.some(t=>m(t,n)&&e.set.some(e=>m(e,n)&&t.every(t=>e.every(e=>t.intersects(e,n)))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new o(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(F(this.set[t],e,this.options))return!0;return!1}}T=t;let n=new HJ({max:1e3}),r=H0,i=function(){if(B)return O;B=1;let t=Symbol("SemVer ANY");class n{static get ANY(){return t}constructor(e,i){if(i=r(i),e instanceof n){if(!!i.loose===e.loose)return e;e=e.value}l("comparator",e,i),this.options=i,this.loose=!!i.loose,this.parse(e),this.semver===t?this.value="":this.value=this.operator+this.semver.version,l("comp",this)}parse(e){let n=this.options.loose?i[a.COMPARATORLOOSE]:i[a.COMPARATOR],r=e.match(n);if(!r)throw TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new u(r[2],this.options.loose):this.semver=t}toString(){return this.value}test(e){if(l("Comparator.test",e,this.options.loose),this.semver===t||e===t)return!0;if("string"==typeof e)try{e=new u(e,this.options)}catch(e){return!1}return o(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof n))throw TypeError("a Comparator is required");return""===this.operator?""===this.value||new s(e.value,t).test(this.value):""===e.operator?""===e.value||new s(this.value,t).test(e.semver):!((t=r(t)).includePrerelease&&("<0.0.0-0"===this.value||"<0.0.0-0"===e.value)||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0")))&&!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||o(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||o(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">"))}}O=n;let r=H0,{re:i,t:a}=H6,o=Yh,l=H5,u=Yi,s=e();return O}(),a=H5,o=Yi,{re:l,t:u,comparatorTrimReplace:s,tildeTrimReplace:c,caretTrimReplace:f}=H6,{FLAG_INCLUDE_PRERELEASE:h,FLAG_LOOSE:d}=H3,p=e=>"<0.0.0-0"===e.value,g=e=>""===e.value,m=(e,t)=>
71{let n=!0,r=e.slice(),i=r.pop();for(;n&&r.length;)n=r.every(e=>i.intersects(e,t)),i=r.pop();return n},y=(e,t)=>(a("comp",e,t),e=_(e,t),a("caret",e),e=b(e,t),a("tildes",e),e=A(e,t),a("xrange",e),e=k(e,t),a("stars",e),e),v=e=>!e||"x"===e.toLowerCase()||"*"===e,b=(e,t)=>e.trim().split(/\s+/).map(e=>x(e,t)).join(" "),x=(e,t)=>{let n=t.loose?l[u.TILDELOOSE]:l[u.TILDE];return e.replace(n,(t,n,r,i,o)=>{let l;return a("tilde",e,t,n,r,i,o),v(n)?l="":v(r)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:v(i)?l=`>=${n}.${r}.0 <${n}.${+r+1}.0-0`:o?(a("replaceTilde pr",o),l=`>=${n}.${r}.${i}-${o} <${n}.${+r+1}.0-0`):l=`>=${n}.${r}.${i} <${n}.${+r+1}.0-0`,a("tilde return",l),l})},_=(e,t)=>e.trim().split(/\s+/).map(e=>w(e,t)).join(" "),w=(e,t)=>{a("caret",e,t);let n=t.loose?l[u.CARETLOOSE]:l[u.CARET],r=t.includePrerelease?"-0":"";return e.replace(n,(t,n,i,o,l)=>{let u;return a("caret",e,t,n,i,o,l),v(n)?u="":v(i)?u=`>=${n}.0.0${r} <${+n+1}.0.0-0`:v(o)?u="0"===n?`>=${n}.${i}.0${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.0${r} <${+n+1}.0.0-0`:l?(a("replaceCaret pr",l),u="0"===n?"0"===i?`>=${n}.${i}.${o}-${l} <${n}.${i}.${+o+1}-0`:`>=${n}.${i}.${o}-${l} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${o}-${l} <${+n+1}.0.0-0`):(a("no pr"),u="0"===n?"0"===i?`>=${n}.${i}.${o}${r} <${n}.${i}.${+o+1}-0`:`>=${n}.${i}.${o}${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${o} <${+n+1}.0.0-0`),a("caret return",u),u})},A=(e,t)=>(a("replaceXRanges",e,t),e.split(/\s+/).map(e=>E(e,t)).join(" ")),E=(e,t)=>{e=e.trim();let n=t.loose?l[u.XRANGELOOSE]:l[u.XRANGE];return e.replace(n,(n,r,i,o,l,u)=>{a("xRange",e,n,r,i,o,l,u);let s=v(i),c=s||v(o),f=c||v(l);return"="===r&&f&&(r=""),u=t.includePrerelease?"-0":"",s?n=">"===r||"<"===r?"<0.0.0-0":"*":r&&f?(c&&(o=0),l=0,">"===r?(r=">=",c?(i=+i+1,o=0,l=0):(o=+o+1,l=0)):"<="===r&&(r="<",c?i=+i+1:o=+o+1),"<"===r&&(u="-0"),n=`${r+i}.${o}.${l}${u}`):c?n=`>=${i}.0.0${u} <${+i+1}.0.0-0`:f&&(n=`>=${i}.${o}.0${u} <${i}.${+o+1}.0-0`),a("xRange return",n),n})},k=(e,t)=>(a("replaceStars",e,t),e.trim().replace(l[u.STAR],"")),C=(e,t)=>(a("replaceGTE0",e,t),e.trim().replace(l[t.includePrerelease?u.GTE0PRE:u.GTE0],"")),D=e=>(t,n,r,i,a,o,l,u,s,c,f,h,d)=>`${n=v(r)?"":v(i)?`>=${r}.0.0${e?"-0":""}`:v(a)?`>=${r}.${i}.0${e?"-0":""}`:o?`>=${n}`:`>=${n}${e?"-0":""}`} ${u=v(s)?"":v(c)?`<${+s+1}.0.0-0`:v(f)?`<${s}.${+c+1}.0-0`:h?`<=${s}.${c}.${f}-${h}`:e?`<${s}.${c}.${+f+1}-0`:`<=${u}`}`.trim(),F=(e,t,n)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!n.includePrerelease){for(let n=0;n<e.length;n++)if(a(e[n].semver),e[n].semver!==i.ANY&&e[n].semver.prerelease.length>0){let r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0};return T}(),Yp=(e,t,n)=>{try{t=new Yd(t,n)}catch(e){return!1}return t.test(e)};var Yg=Yp&&Yp.__esModule&&Object.prototype.hasOwnProperty.call(Yp,"default")?Yp.default:Yp,Ym=`.vega-embed { 72 position: relative; 73 display: inline-block; 74 box-sizing: border-box; 75} 76.vega-embed.has-actions { 77 padding-right: 38px; 78} 79.vega-embed details:not([open]) > :not(summary) { 80 display: none !important; 81} 82.vega-embed summary { 83 list-style: none; 84 position: absolute; 85 top: 0; 86 right: 0; 87 padding: 6px; 88 z-index: 1000; 89 background: white; 90 box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1); 91 color: #1b1e23; 92 border: 1px solid #aaa; 93 border-radius: 999px; 94 opacity: 0.2; 95 transition: opacity 0.4s ease-in; 96 cursor: pointer; 97 line-height: 0px; 98} 99.vega-embed summary::-webkit-details-marker { 100 display: none; 101} 102.vega-embed summary:active { 103 box-shadow: #aaa 0px 0px 0px 1px inset; 104} 105.vega-embed summary svg { 106 width: 14px; 107 height: 14px; 108} 109.vega-embed details[open] summary { 110 opacity: 0.7; 111} 112.vega-embed:hover summary, .vega-embed:focus-within summary { 113 opacity: 1 !important; 114 transition: opacity 0.2s ease; 115} 116.vega-embed .vega-actions { 117 position: absolute; 118 z-index: 1001; 119 top: 35px; 120 right: -9px; 121 display: flex; 122 flex-direction: column; 123 padding-bottom: 8px; 124 padding-top: 8px; 125 border-radius: 4px; 126 box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2); 127 border: 1px solid #d9d9d9; 128 background: white; 129 animation-duration: 0.15s; 130 animation-name: scale-in; 131 animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5); 132 text-align: left; 133} 134.vega-embed .vega-actions a { 135 padding: 8px 16px; 136 font-family: sans-serif; 137 font-size: 14px; 138 font-weight: 600; 139 white-space: nowrap; 140 color: #434a56; 141 text-decoration: none; 142} 143.vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus { 144 background-color: #f7f7f9; 145 color: black; 146} 147.vega-embed .vega-actions::before, .vega-embed .vega-actions::after {
148 content: ""; 149 display: inline-block; 150 position: absolute; 151} 152.vega-embed .vega-actions::before { 153 left: auto; 154 right: 14px; 155 top: -16px; 156 border: 8px solid rgba(0, 0, 0, 0); 157 border-bottom-color: #d9d9d9; 158} 159.vega-embed .vega-actions::after { 160 left: auto; 161 right: 15px; 162 top: -14px; 163 border: 7px solid rgba(0, 0, 0, 0); 164 border-bottom-color: #fff; 165} 166.vega-embed .chart-wrapper.fit-x { 167 width: 100%; 168} 169.vega-embed .chart-wrapper.fit-y { 170 height: 100%; 171} 172 173.vega-embed-wrapper { 174 max-width: 100%; 175 overflow: auto; 176 padding-right: 14px; 177} 178 179@keyframes scale-in { 180 from { 181 opacity: 0; 182 transform: scale(0.6); 183 } 184 to { 185 opacity: 1; 186 transform: scale(1); 187 } 188} 189`;function Yy(e,...t){for(let n of t)!function(e,t){for(let n of Object.keys(t))e4(e,n,t[n],!0)}(e,n);return e}function Yv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Yb(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yv(Object(n),!0).forEach(function(t){!function(e,t,n){var r;r=function(e,t){if("object"!==HS(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==HS(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"===HS(r)?r:String(r))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yv(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}let Yx=Q,Y_="undefined"!=typeof window?window:void 0;void 0===Yx&&Y_?.vl?.compile&&(Yx=Y_.vl);let Yw={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},YA={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},YE={vega:"Vega","vega-lite":"Vega-Lite"},Yk={vega:J.version,"vega-lite":Yx?Yx.version:"not available"},YC={vega:e=>e,"vega-lite":(e,t)=>Yx.compile(e,{config:t}).spec},YD=` 190<svg viewBox="0 0 16 16" fill="currentColor" stroke="none" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"> 191 <circle r="2" cy="8" cx="2"></circle> 192 <circle r="2" cy="8" cx="8"></circle> 193 <circle r="2" cy="8" cx="14"></circle> 194</svg>`;function YF(e,t,n,r){let i=`<html><head>${t}</head><body><pre><code class="json">`,a=`</code></pre>${n}</body></html>`,o=window.open("");o.document.write(i+e+a),o.document.title=`${YE[r]} JSON Source`}function Y$(e){return e&&"load"in e?e:J.loader(e)}async function YM(e,t,n={}){let r,i;tI(t)?(i=Y$(n.loader),r=JSON.parse(await i.load(t))):r=t;let a=function(e){let t=e.usermeta?.embedOptions??{};return tI(t.defaultStyle)&&(t.defaultStyle=!1),t}(r),o=a.loader;(!i||o)&&(i=Y$(n.loader??o));let l=await YS(a,i),u=await YS(n,i),s=Yb(Yb({},Yy(u,l)),{},{config:e6(u.config??{},l.config??{})});return await YN(e,r,s,i)}async function YS(e,t){let n=tI(e.config)?JSON.parse(await t.load(e.config)):e.config??{},r=tI(e.patch)?JSON.parse(await t.load(e.patch)):e.patch;return Yb(Yb(Yb({},e),r?{patch:r}:{}),n?{config:n}:{})}async function YN(e,t,n={},r){let i;let a=n.theme?e6(K[n.theme],n.config??{}):n.config,o=tz(n.actions)?n.actions:Yy({},Yw,n.actions??{}),l=Yb(Yb({},YA),n.i18n),u=n.renderer??"canvas",s=n.logLevel??J.Warn,c=n.downloadFileName??"visualization",f="string"==typeof e?document.querySelector(e):e;if(!f)throw Error(`${e} does not exist`);if(!1!==n.defaultStyle){let e="vega-embed-style",{root:t,rootContainer:r}=function(e){let t=e.getRootNode?e.getRootNode():document;return t instanceof ShadowRoot?{root:t,rootContainer:t}:{root:document,rootContainer:document.head??document.body}}(f);if(!t.getElementById(e)){let t=document.createElement("style");t.id=e,t.innerHTML=void 0===n.defaultStyle||!0===n.defaultStyle?Ym.toString():n.defaultStyle,r.appendChild(t)}}let h=function(e,t){if(e.$schema){let n=WL(e.$schema);t&&t!==n.library&&console.warn(`The given visualization spec is written in ${YE[n.library]}, but mode argument sets ${YE[t]??t}.`);let r=n.library;return Yg(Yk[r],`^${n.version.slice(1)}`)||console.warn(`The input spec uses ${YE[r]} ${n.version}, but the current version of ${YE[r]} is v${Yk[r]}.`),r}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":t??"vega"}(t,n.mode),d=YC[h](t,a);
194if("vega-lite"===h&&d.$schema){let e=WL(d.$schema);Yg(Yk.vega,`^${e.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${e.version}, but current version is v${Yk.vega}.`)}f.classList.add("vega-embed"),o&&f.classList.add("has-actions"),f.innerHTML="";let p=f;if(o){let e=document.createElement("div");e.classList.add("chart-wrapper"),f.appendChild(e),p=e}let g=n.patch;if(g&&(d=g instanceof Function?g(d):eb(d,g,!0,!1).newDocument),n.formatLocale&&J.formatLocale(n.formatLocale),n.timeFormatLocale&&J.timeFormatLocale(n.timeFormatLocale),n.expressionFunctions)for(let e in n.expressionFunctions){let t=n.expressionFunctions[e];"fn"in t?J.expressionFunction(e,t.fn,t.visitor):t instanceof Function&&J.expressionFunction(e,t)}let{ast:m}=n,y=J.parse(d,"vega-lite"===h?{}:a,{ast:m}),v=new(n.viewClass||J.View)(y,Yb({loader:r,logLevel:s,renderer:u},m?{expr:J.expressionInterpreter??n.expr??Ou}:{}));if(v.addSignalListener("autosize",(e,t)=>{let{type:n}=t;"fit-x"==n?(p.classList.add("fit-x"),p.classList.remove("fit-y")):"fit-y"==n?(p.classList.remove("fit-x"),p.classList.add("fit-y")):"fit"==n?p.classList.add("fit-x","fit-y"):p.classList.remove("fit-x","fit-y")}),!1!==n.tooltip){let e="function"==typeof n.tooltip?n.tooltip:new H$(!0===n.tooltip?{}:n.tooltip).call;v.tooltip(e)}let{hover:b}=n;if(void 0===b&&(b="vega"===h),b){let{hoverSet:e,updateSet:t}="boolean"==typeof b?{}:b;v.hover(e,t)}if(n&&(null!=n.width&&v.width(n.width),null!=n.height&&v.height(n.height),null!=n.padding&&v.padding(n.padding)),await v.initialize(p,n.bind).runAsync(),!1!==o){let e=f;if(!1!==n.defaultStyle){let t=document.createElement("details");t.title=l.CLICK_TO_VIEW_ACTIONS,f.append(t),e=t;let n=document.createElement("summary");n.innerHTML=YD,t.append(n),i=e=>{t.contains(e.target)||t.removeAttribute("open")},document.addEventListener("click",i)}let r=document.createElement("div");if(e.append(r),r.classList.add("vega-actions"),!0===o||!1!==o.export){for(let e of["svg","png"])if(!0===o||!0===o.export||o.export[e]){let t=l[`${e.toUpperCase()}_ACTION`],i=document.createElement("a"),a=e3(n.scaleFactor)?n.scaleFactor[e]:n.scaleFactor;i.text=t,i.href="#",i.target="_blank",i.download=`${c}.${e}`,i.addEventListener("mousedown",async function(t){t.preventDefault();let n=await v.toImageURL(e,a);this.href=n}),r.append(i)}}if(!0===o||!1!==o.source){let e=document.createElement("a");e.text=l.SOURCE_ACTION,e.href="#",e.addEventListener("click",function(e){YF(eO()(t),n.sourceHeader??"",n.sourceFooter??"",h),e.preventDefault()}),r.append(e)}if("vega-lite"===h&&(!0===o||!1!==o.compiled)){let e=document.createElement("a");e.text=l.COMPILED_ACTION,e.href="#",e.addEventListener("click",function(e){YF(eO()(d),n.sourceHeader??"",n.sourceFooter??"","vega"),e.preventDefault()}),r.append(e)}if(!0===o||!1!==o.editor){let e=n.editorUrl??"https://vega.github.io/editor/",i=document.createElement("a");i.text=l.EDITOR_ACTION,i.href="#",i.addEventListener("click",function(n){(function(e,t,n){let r=e.open(t),{origin:i}=new URL(t),a=40;e.addEventListener("message",function t(n){n.source===r&&(a=0,e.removeEventListener("message",t,!1))},!1),setTimeout(function e(){a<=0||(r.postMessage(n,i),setTimeout(e,250),a-=1)},250)})(window,e,{config:a,mode:h,renderer:u,spec:eO()(t)}),n.preventDefault()}),r.append(i)}}return{view:v,spec:t,vgSpec:d,finalize:function(){i&&document.removeEventListener("click",i),v.finalize()},embedOptions:n}}var YO=n(45697),YB=n.n(YO);function YT(e){let t=new Set;return e.forEach(e=>{Object.keys(e).forEach(e=>{t.add(e)})}),t}let Yz=()=>{};function YR(e,t){let n=Object.keys(t);return n.forEach(n=>{try{e.addSignalListener(n,t[n])}catch(e){console.warn("Cannot add invalid signal listener.",e)}}),n.length>0}function YL(e,t){let n=Object.keys(t);return n.forEach(n=>{try{e.removeSignalListener(n,t[n])}catch(e){console.warn("Cannot remove invalid signal listener.",e)}}),n.length>0}function YP(e){let{spec:t,width:n,height:r}=e;return void 0!==n&&void 0!==r?{...t,width:n,height:r}:void 0!==n?{...t,width:n}:void 0!==r?{...t,height:r}:t}function Yj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class YI extends ee.PureComponent{constructor(){super(...arguments),Yj(this,"containerRef",ee.createRef()),Yj(this,"resultPromise",void 0),Yj(this,"handleError",e=>{let{onError:t=Yz}=this.props;t(e,this.containerRef.current),console.warn(e)}),Yj(this,"modifyView",e=>{this.resultPromise&&this.resultPromise.then(t=>(t&&e(t.view),!0)).catch(this.handleError)})}componentDidMount(){this.createView()}componentDidUpdate(e){let t=YT([this.props,e]);if(t.delete("className"),t.delete("signalListeners"),t.delete("spec"),t.delete("style"),t.delete("width"),t.delete("height"),Array.from(t).some(t=>this.props[t]!==e[t]))this.clearView(),this.createView();else{let t=function(e,t){if(e===t)return!1;let n={width:!1,height:!1,isExpensive:!1},r=YT([e,t]);
194return!r.has("width")||"width"in e&&"width"in t&&e.width===t.width||("width"in e&&"number"==typeof e.width?n.width=e.width:n.isExpensive=!0),!r.has("height")||"height"in e&&"height"in t&&e.height===t.height||("height"in e&&"number"==typeof e.height?n.height=e.height:n.isExpensive=!0),r.delete("width"),r.delete("height"),[...r].some(n=>!(n in e)||!(n in t)||!OO()(e[n],t[n]))&&(n.isExpensive=!0),(!1!==n.width||!1!==n.height||!!n.isExpensive)&&n}(YP(this.props),YP(e)),{signalListeners:n}=this.props,{signalListeners:r}=e;if(t){if(t.isExpensive)this.clearView(),this.createView();else{let e=!en(n,r);this.modifyView(i=>{!1!==t.width&&i.width(t.width),!1!==t.height&&i.height(t.height),e&&(r&&YL(i,r),n&&YR(i,n)),i.run()})}}else en(n,r)||this.modifyView(e=>{r&&YL(e,r),n&&YR(e,n),e.run()})}}componentWillUnmount(){this.clearView()}createView(){let{spec:e,onNewView:t,signalListeners:n={},width:r,height:i,...a}=this.props;if(this.containerRef.current){let e=YP(this.props);this.resultPromise=YM(this.containerRef.current,e,a).then(e=>{if(e){let{view:t}=e;YR(t,n)&&t.run()}return e}).catch(this.handleError),t&&this.modifyView(t)}}clearView(){return this.resultPromise&&this.resultPromise.then(e=>{e&&e.finalize()}).catch(this.handleError),this.resultPromise=void 0,this}render(){let{className:e,style:t}=this.props;return ee.createElement("div",{ref:this.containerRef,className:e,style:t})}}function YU(){return(YU=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Yq(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Yj(YI,"propTypes",{className:YB().string,onError:YB().func});class YW extends ee.PureComponent{constructor(){super(...arguments),Yq(this,"vegaEmbed",ee.createRef()),Yq(this,"handleNewView",e=>{this.update();let{onNewView:t=Yz}=this.props;t(e)})}componentDidMount(){this.update()}componentDidUpdate(e){en(this.props.data,e.data)||this.update()}update(){let{data:e}=this.props;this.vegaEmbed.current&&e&&Object.keys(e).length>0&&this.vegaEmbed.current.modifyView(t=>{!function(e,t){Object.keys(t).forEach(n=>{var r,i,a;r=e,i=n,(a=t[n])&&(a&&"[object Function]"===({}).toString.call(a)?a(r.data(i)):r.change(i,J.changeset().remove(()=>!0).insert(a)))})}(t,e),t.resize().run()})}render(){let{data:e,...t}=this.props;return ee.createElement(YI,YU({ref:this.vegaEmbed},t,{onNewView:this.handleNewView}))}}Yq(YW,"defaultProps",{data:{}})},18588:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(67294),i=n(15732);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e){return r.createElement(i.Z,a({},e,{mode:"vega-lite"}))}},21801:function(e){"use strict";var t=/("(?:[^\\"]|\\.)*")|[:,]/g;e.exports=function(e,n){var r,i,a;return i=""===(r=JSON.stringify([1],void 0,void 0===(n=n||{}).indent?2:n.indent).slice(2,-3))?1/0:void 0===n.maxLength?80:n.maxLength,a=n.replacer,function e(n,o,l){var u,s,c,f,h,d,p,g,m,y,v,b;if(n&&"function"==typeof n.toJSON&&(n=n.toJSON()),void 0===(v=JSON.stringify(n,a)))return v;if(p=i-o.length-l,v.length<=p&&(m=v.replace(t,function(e,t){return t||e+" "})).length<=p)return m;if(null!=a&&(n=JSON.parse(v),a=void 0),"object"==typeof n&&null!==n){if(g=o+r,c=[],s=0,Array.isArray(n))for(y="[",u="]",p=n.length;s<p;s++)c.push(e(n[s],g,s===p-1?0:1)||"null");else for(y="{",u="}",p=(d=Object.keys(n)).length;s<p;s++)h=JSON.stringify(f=d[s])+": ",void 0!==(b=e(n[f],g,h.length+(s===p-1?0:1)))&&c.push(h+b);if(c.length>0)return[y,r+c.join(",\n"+g),u].join("\n"+o)}return v}(e,"",0)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.