!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("tf")):"function"==typeof define&&define.amd?define(["tf"],e):"object"==typeof exports?exports.tfvis=e(require("tf")):t.tfvis=e(t.tf)}(window,function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=59)}([function(t,e,n){"use strict";var r=function(t,e,n){return t.fields=e||[],t.fname=n,t};function i(t){return null==t?null:t.fname}function o(t){return null==t?null:t.fields}var a=function(t){return 1===t.length?s(t[0]):u(t)};const s=t=>(function(e){return e[t]}),u=t=>{const e=t.length;return function(n){for(let r=0;re&&c(),a=e=n+1):"]"===r&&(a||l("Access path missing open bracket: "+t),a>0&&c(),a=0,e=n+1):n>e?c():e=n+1}return a&&l("Access path missing closing bracket: "+t),o&&l("Access path missing closing quote: "+t),n>e&&(n++,c()),i},f=function(t,e,n){const i=c(t);return t=1===i.length?i[0]:t,r((n&&n.get||a)(i),[t],e||t)},d=[],h=f("id"),p=r(function(t){return t},d,"identity"),g=r(function(){return 0},d,"zero"),m=r(function(){return 1},d,"one"),v=r(function(){return!0},d,"true"),y=r(function(){return!1},d,"false");function b(t,e,n){var r=[e].concat([].slice.call(n));console[t].apply(console,r)}var x=function(t,e){var n=t||0;return{level:function(t){return arguments.length?(n=+t,this):n},error:function(){return n>=1&&b(e||"error","ERROR",arguments),this},warn:function(){return n>=2&&b(e||"warn","WARN",arguments),this},info:function(){return n>=3&&b(e||"log","INFO",arguments),this},debug:function(){return n>=4&&b(e||"log","DEBUG",arguments),this}}},_=Array.isArray,w=function(t){return t===Object(t)};const O=t=>"__proto__"!==t;function j(...t){return t.reduce((t,e)=>{for(var n in e)if("signals"===n)t.signals=A(t.signals,e.signals);else{var r="legend"===n?{layout:1}:"style"===n||null;k(t,n,e[n],r)}return t},{})}function k(t,e,n,r){var i,o;if(O(e))if(w(n)&&!_(n))for(i in o=w(t[e])?t[e]:t[e]={},n)r&&(!0===r||r[i])?k(o,i,n[i]):O(i)&&(o[i]=n[i]);else t[e]=n}function A(t,e){if(null==t)return e;const n={},r=[];function i(t){n[t.name]||(n[t.name]=1,r.push(t))}return e.forEach(i),t.forEach(i),r}var E=function(t){return t[t.length-1]},S=function(t){return null==t||""===t?null:+t};function D(t){return function(e){return t*Math.exp(e)}}function C(t){return function(e){return Math.log(t*e)}}function M(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function F(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function $(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function N(t,e,n,r){var i=n(t[0]),o=n(E(t)),a=(o-i)*e;return[r(i-a),r(o-a)]}function T(t,e){return N(t,e,S,p)}function z(t,e){var n=Math.sign(t[0]);return N(t,e,C(n),D(n))}function R(t,e,n){return N(t,e,$(n),$(1/n))}function P(t,e,n){return N(t,e,M(n),F(n))}function L(t,e,n,r,i){var o=r(t[0]),a=r(E(t)),s=null!=e?r(e):(o+a)/2;return[i(s+(o-s)*n),i(s+(a-s)*n)]}function B(t,e,n){return L(t,e,n,S,p)}function I(t,e,n){var r=Math.sign(t[0]);return L(t,e,n,C(r),D(r))}function U(t,e,n,r){return L(t,e,n,$(r),$(1/r))}function q(t,e,n,r){return L(t,e,n,M(r),F(r))}function W(t){return 1+~~(new Date(t).getMonth()/3)}function H(t){return 1+~~(new Date(t).getUTCMonth()/3)}var Y=function(t){return null!=t?_(t)?t:[t]:[]},G=function(t,e,n){var r,i=t[0],o=t[1];return o=n-e?[e,n]:[i=Math.min(Math.max(i,e),n-r),i+r]},V=function(t){return"function"==typeof t};var Z=function(t,e,n){n=n||{},e=Y(e)||[];const i=[],a=[],s={},u=n.comparator||J;return Y(t).forEach((t,r)=>{null!=t&&(i.push("descending"===e[r]?-1:1),a.push(t=V(t)?t:f(t,null,n)),(o(t)||[]).forEach(t=>s[t]=1))}),0===a.length?null:r(u(a,i),Object.keys(s))};const X=(t,e)=>(te||null==e)&&null!=t?1:(e=e instanceof Date?+e:e,(t=t instanceof Date?+t:t)!==t&&e==e?-1:e!=e&&t==t?1:0),J=(t,e)=>1===t.length?Q(t[0],e[0]):K(t,e,t.length),Q=(t,e)=>(function(n,r){return X(t(n),t(r))*e}),K=(t,e,n)=>(e.push(0),function(r,i){let o,a=0,s=-1;for(;0===a&&++so&&(o=r))}else{for(r=e(t[a]);ao&&(o=r))}return[i,o]},it=function(t,e){var n,r,i,o,a,s=-1,u=t.length;if(null==e){for(;++s=r){n=i=r;break}if(s===u)return[-1,-1];for(o=a=s;++sr&&(n=r,o=s),i=r){n=i=r;break}if(s===u)return[-1,-1];for(o=a=s;++sr&&(n=r,o=s),ii(t)?r[t]:void 0,set(t,n){return i(t)||(++e.size,r[t]===st&&--e.empty),r[t]=n,this},delete(t){return i(t)&&(--e.size,++e.empty,r[t]=st),this},clear(){e.size=e.empty=0,e.object=r={}},test(t){return arguments.length?(n=t,e):n},clean(){var t,i,o={},a=0;for(t in r)(i=r[t])===st||n&&n(i)||(o[t]=i,++a);e.size=a,e.empty=0,e.object=r=o}},t&&Object.keys(t).forEach(function(n){e.set(n,t[n])}),e},lt=function(t,e,n,r,i,o){if(!n&&0!==n)return o;var a,s,u=t[0],l=E(t),c=+n;return la&&(i=o,o=a,a=i),n=void 0===n||n,r=void 0===r||r,(n?o<=t:ot.replace(/\\(.)/g,"$1")):Y(t));const i=t&&t.length,o=n&&n.get||a,s=t=>o(e?[t]:c(t));let u;if(i)if(1===i){const e=s(t[0]);u=function(t){return""+e(t)}}else{const e=t.map(s);u=function(t){let n=""+e[0](t),r=0;for(;++r{e={},n={},r=0},o=(i,o)=>(++r>t&&(n=e,e={},r=1),e[i]=o);return i(),{clear:i,has:t=>at(e,t)||at(n,t),get:t=>at(e,t)?e[t]:at(n,t)?o(t,n[t]):void 0,set:(t,n)=>at(e,t)?e[t]=n:o(t,n)}},xt=function(t,e,n,r){var i=e.length,o=n.length;if(!o)return e;if(!i)return n;for(var a=r||new e.constructor(i+o),s=0,u=0,l=0;s0?n[u++]:e[s++];for(;s=0;)n+=t;return n},wt=function(t,e,n,r){var i=n||" ",o=t+"",a=e-o.length;return a<=0?o:"left"===r?_t(i,a)+o:"center"===r?_t(i,~~(a/2))+o+_t(i,Math.ceil(a/2)):o+_t(i,a)},Ot=function(t){return t&&E(t)-t[0]||0};function jt(t){return _(t)?"["+t.map(jt)+"]":w(t)||mt(t)?JSON.stringify(t).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):t}var kt=function(t){return null==t||""===t?null:!(!t||"false"===t||"0"===t)&&!!t};function At(t){return pt(t)?t:ht(t)?t:Date.parse(t)}var Et=function(t,e){return e=e||At,null==t||""===t?null:e(t)},St=function(t){return null==t||""===t?null:t+""},Dt=function(t){for(var e={},n=0,r=t.length;ni)throw new TypeError(`version is longer than ${i} characters`);r("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const n=t.trim().match(e.loose?a[s.LOOSE]:a[s.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(t=>{if(/^[0-9]+$/.test(t)){const e=+t;if(e>=0&&e=0;)"number"==typeof this.prerelease[t]&&(this.prerelease[t]++,t=-2);-1===t&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error(`invalid increment argument: ${t}`)}return this.format(),this.raw=this.version,this}}t.exports=l},function(t,e,n){const r=n(2);t.exports=((t,e,n)=>new r(t,n).compare(new r(e,n)))},function(t,e,n){class r{constructor(t,e){if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),t instanceof r)return t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease?t:new r(t.raw,e);if(t instanceof i)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease,this.raw=t,this.set=t.split(/\s*\|\|\s*/).map(t=>this.parseRange(t.trim())).filter(t=>t.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${t}`);this.format()}format(){return this.range=this.set.map(t=>t.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(t){const e=this.options.loose;t=t.trim();const n=e?s[u.HYPHENRANGELOOSE]:s[u.HYPHENRANGE];t=t.replace(n,O(this.options.includePrerelease)),o("hyphen replace",t),t=t.replace(s[u.COMPARATORTRIM],l),o("comparator trim",t,s[u.COMPARATORTRIM]),t=(t=(t=t.replace(s[u.TILDETRIM],c)).replace(s[u.CARETTRIM],f)).split(/\s+/).join(" ");const r=e?s[u.COMPARATORLOOSE]:s[u.COMPARATOR];return t.split(" ").map(t=>h(t,this.options)).join(" ").split(/\s+/).map(t=>w(t,this.options)).filter(this.options.loose?t=>!!t.match(r):()=>!0).map(t=>new i(t,this.options))}intersects(t,e){if(!(t instanceof r))throw new TypeError("a Range is required");return this.set.some(n=>d(n,e)&&t.set.some(t=>d(t,e)&&n.every(n=>t.every(t=>n.intersects(t,e)))))}test(t){if(!t)return!1;if("string"==typeof t)try{t=new a(t,this.options)}catch(t){return!1}for(let e=0;e{let n=!0;const r=t.slice();let i=r.pop();for(;n&&r.length;)n=r.every(t=>i.intersects(t,e)),i=r.pop();return n},h=(t,e)=>(o("comp",t,e),t=v(t,e),o("caret",t),t=g(t,e),o("tildes",t),t=b(t,e),o("xrange",t),t=_(t,e),o("stars",t),t),p=t=>!t||"x"===t.toLowerCase()||"*"===t,g=(t,e)=>t.trim().split(/\s+/).map(t=>m(t,e)).join(" "),m=(t,e)=>{const n=e.loose?s[u.TILDELOOSE]:s[u.TILDE];return t.replace(n,(e,n,r,i,a)=>{let s;return o("tilde",t,e,n,r,i,a),p(n)?s="":p(r)?s=`>=${n}.0.0 <${+n+1}.0.0-0`:p(i)?s=`>=${n}.${r}.0 <${n}.${+r+1}.0-0`:a?(o("replaceTilde pr",a),s=`>=${n}.${r}.${i}-${a} <${n}.${+r+1}.0-0`):s=`>=${n}.${r}.${i} <${n}.${+r+1}.0-0`,o("tilde return",s),s})},v=(t,e)=>t.trim().split(/\s+/).map(t=>y(t,e)).join(" "),y=(t,e)=>{o("caret",t,e);const n=e.loose?s[u.CARETLOOSE]:s[u.CARET],r=e.includePrerelease?"-0":"";return t.replace(n,(e,n,i,a,s)=>{let u;return o("caret",t,e,n,i,a,s),p(n)?u="":p(i)?u=`>=${n}.0.0${r} <${+n+1}.0.0-0`:p(a)?u="0"===n?`>=${n}.${i}.0${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.0${r} <${+n+1}.0.0-0`:s?(o("replaceCaret pr",s),u="0"===n?"0"===i?`>=${n}.${i}.${a}-${s} <${n}.${i}.${+a+1}-0`:`>=${n}.${i}.${a}-${s} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${a}-${s} <${+n+1}.0.0-0`):(o("no pr"),u="0"===n?"0"===i?`>=${n}.${i}.${a}${r} <${n}.${i}.${+a+1}-0`:`>=${n}.${i}.${a}${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${a} <${+n+1}.0.0-0`),o("caret return",u),u})},b=(t,e)=>(o("replaceXRanges",t,e),t.split(/\s+/).map(t=>x(t,e)).join(" ")),x=(t,e)=>{t=t.trim();const n=e.loose?s[u.XRANGELOOSE]:s[u.XRANGE];return t.replace(n,(n,r,i,a,s,u)=>{o("xRange",t,n,r,i,a,s,u);const l=p(i),c=l||p(a),f=c||p(s),d=f;return"="===r&&d&&(r=""),u=e.includePrerelease?"-0":"",l?n=">"===r||"<"===r?"<0.0.0-0":"*":r&&d?(c&&(a=0),s=0,">"===r?(r=">=",c?(i=+i+1,a=0,s=0):(a=+a+1,s=0)):"<="===r&&(r="<",c?i=+i+1:a=+a+1),"<"===r&&(u="-0"),n=`${r+i}.${a}.${s}${u}`):c?n=`>=${i}.0.0${u} <${+i+1}.0.0-0`:f&&(n=`>=${i}.${a}.0${u} <${i}.${+a+1}.0-0`),o("xRange return",n),n})},_=(t,e)=>(o("replaceStars",t,e),t.trim().replace(s[u.STAR],"")),w=(t,e)=>(o("replaceGTE0",t,e),t.trim().replace(s[e.includePrerelease?u.GTE0PRE:u.GTE0],"")),O=t=>(e,n,r,i,o,a,s,u,l,c,f,d,h)=>`${n=p(r)?"":p(i)?`>=${r}.0.0${t?"-0":""}`:p(o)?`>=${r}.${i}.0${t?"-0":""}`:a?`>=${n}`:`>=${n}${t?"-0":""}`} ${u=p(l)?"":p(c)?`<${+l+1}.0.0-0`:p(f)?`<${l}.${+c+1}.0-0`:d?`<=${l}.${c}.${f}-${d}`:t?`<${l}.${c}.${+f+1}-0`:`<=${u}`}`.trim(),j=(t,e,n)=>{for(let n=0;n0){const r=t[n].semver;if(r.major===e.major&&r.minor===e.minor&&r.patch===e.patch)return!0}return!1}return!0}},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}u((r=r.apply(t,e||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0});const i=n(49),o=n(50);e.getDrawArea=function(t){if(t instanceof HTMLElement)return t;if(i.isSurface(t))return t.drawArea;if(i.isSurfaceInfo(t))return o.visor().surface({name:t.name,tab:t.tab,styles:t.styles}).drawArea;throw new Error("Not a drawable")},e.shallowEquals=function(t,e){const n=Object.getOwnPropertyNames(t),r=Object.getOwnPropertyNames(e);if(n.length!==r.length)return!1;for(let r=0;rrequestAnimationFrame(t))})}},,function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */Object.defineProperty(e,"__esModule",{value:!0});const r=n(14),i=n(5),o={prepend:!1};e.subSurface=function(t,e,n={}){const a=i.getDrawArea(t),s=r.css({"& canvas":{display:"block"},marginTop:".5rem",marginBottom:".5rem"}),u=r.css({backgroundColor:"white",display:"inline-block",boxSizing:"border-box",borderBottom:"1px solid #357EDD",lineHeight:"2em",padding:"0 10px 0 10px",marginBottom:"20px",fontWeight:"600",textAlign:"left"}),l=Object.assign({},o,n);let c=a.querySelector(`div[data-name=${e}]`);if(!c){if((c=document.createElement("div")).setAttribute("class",`${s}`),c.dataset.name=e,l.title){const t=document.createElement("div");t.setAttribute("class",`subsurface-title ${u}`),t.innerText=l.title,c.appendChild(t)}l.prepend?a.insertBefore(c,a.firstChild):a.appendChild(c)}return c},e.getDefaultWidth=function(t){let e=0,n=t;for(;n&&0===n.clientWidth;)n=n.parentElement,e=50;return n.clientWidth-e},e.getDefaultHeight=function(t){return 0===t.clientHeight?200:t.clientHeight}},function(t,e,n){"use strict";t.exports=function(t,e){e||(e={}),"function"==typeof e&&(e={cmp:e});var n="boolean"==typeof e.cycles&&e.cycles,r=e.cmp&&function(t){return function(e){return function(n,r){var i={key:n,value:e[n]},o={key:r,value:e[r]};return t(i,o)}}}(e.cmp),i=[];return function t(e){if(e&&e.toJSON&&"function"==typeof e.toJSON&&(e=e.toJSON()),void 0!==e){if("number"==typeof e)return isFinite(e)?""+e:"null";if("object"!=typeof e)return JSON.stringify(e);var o,a;if(Array.isArray(e)){for(a="[",o=0;o{const r=u++;i(r,e),s[t]=r,a[r]=e,o[r]=new RegExp(e,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",`(${a[s.NUMERICIDENTIFIER]})\\.`+`(${a[s.NUMERICIDENTIFIER]})\\.`+`(${a[s.NUMERICIDENTIFIER]})`),l("MAINVERSIONLOOSE",`(${a[s.NUMERICIDENTIFIERLOOSE]})\\.`+`(${a[s.NUMERICIDENTIFIERLOOSE]})\\.`+`(${a[s.NUMERICIDENTIFIERLOOSE]})`),l("PRERELEASEIDENTIFIER",`(?:${a[s.NUMERICIDENTIFIER]}|${a[s.NONNUMERICIDENTIFIER]})`),l("PRERELEASEIDENTIFIERLOOSE",`(?:${a[s.NUMERICIDENTIFIERLOOSE]}|${a[s.NONNUMERICIDENTIFIER]})`),l("PRERELEASE",`(?:-(${a[s.PRERELEASEIDENTIFIER]}(?:\\.${a[s.PRERELEASEIDENTIFIER]})*))`),l("PRERELEASELOOSE",`(?:-?(${a[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${a[s.PRERELEASEIDENTIFIERLOOSE]})*))`),l("BUILDIDENTIFIER","[0-9A-Za-z-]+"),l("BUILD",`(?:\\+(${a[s.BUILDIDENTIFIER]}(?:\\.${a[s.BUILDIDENTIFIER]})*))`),l("FULLPLAIN",`v?${a[s.MAINVERSION]}${a[s.PRERELEASE]}?${a[s.BUILD]}?`),l("FULL",`^${a[s.FULLPLAIN]}$`),l("LOOSEPLAIN",`[v=\\s]*${a[s.MAINVERSIONLOOSE]}${a[s.PRERELEASELOOSE]}?${a[s.BUILD]}?`),l("LOOSE",`^${a[s.LOOSEPLAIN]}$`),l("GTLT","((?:<|>)?=?)"),l("XRANGEIDENTIFIERLOOSE",`${a[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),l("XRANGEIDENTIFIER",`${a[s.NUMERICIDENTIFIER]}|x|X|\\*`),l("XRANGEPLAIN",`[v=\\s]*(${a[s.XRANGEIDENTIFIER]})`+`(?:\\.(${a[s.XRANGEIDENTIFIER]})`+`(?:\\.(${a[s.XRANGEIDENTIFIER]})`+`(?:${a[s.PRERELEASE]})?${a[s.BUILD]}?`+")?)?"),l("XRANGEPLAINLOOSE",`[v=\\s]*(${a[s.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${a[s.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${a[s.XRANGEIDENTIFIERLOOSE]})`+`(?:${a[s.PRERELEASELOOSE]})?${a[s.BUILD]}?`+")?)?"),l("XRANGE",`^${a[s.GTLT]}\\s*${a[s.XRANGEPLAIN]}$`),l("XRANGELOOSE",`^${a[s.GTLT]}\\s*${a[s.XRANGEPLAINLOOSE]}$`),l("COERCE",`(^|[^\\d])(\\d{1,${r}})`+`(?:\\.(\\d{1,${r}}))?`+`(?:\\.(\\d{1,${r}}))?`+"(?:$|[^\\d])"),l("COERCERTL",a[s.COERCE],!0),l("LONETILDE","(?:~>?)"),l("TILDETRIM",`(\\s*)${a[s.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",l("TILDE",`^${a[s.LONETILDE]}${a[s.XRANGEPLAIN]}$`),l("TILDELOOSE",`^${a[s.LONETILDE]}${a[s.XRANGEPLAINLOOSE]}$`),l("LONECARET","(?:\\^)"),l("CARETTRIM",`(\\s*)${a[s.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",l("CARET",`^${a[s.LONECARET]}${a[s.XRANGEPLAIN]}$`),l("CARETLOOSE",`^${a[s.LONECARET]}${a[s.XRANGEPLAINLOOSE]}$`),l("COMPARATORLOOSE",`^${a[s.GTLT]}\\s*(${a[s.LOOSEPLAIN]})$|^$`),l("COMPARATOR",`^${a[s.GTLT]}\\s*(${a[s.FULLPLAIN]})$|^$`),l("COMPARATORTRIM",`(\\s*)${a[s.GTLT]}\\s*(${a[s.LOOSEPLAIN]}|${a[s.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",l("HYPHENRANGE",`^\\s*(${a[s.XRANGEPLAIN]})`+"\\s+-\\s+"+`(${a[s.XRANGEPLAIN]})`+"\\s*$"),l("HYPHENRANGELOOSE",`^\\s*(${a[s.XRANGEPLAINLOOSE]})`+"\\s+-\\s+"+`(${a[s.XRANGEPLAINLOOSE]})`+"\\s*$"),l("STAR","(<|>)?=?\\s*\\*"),l("GTE0","^\\s*>=\\s*0.0.0\\s*$"),l("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},function(t,e,n){const{MAX_LENGTH:r}=n(17),{re:i,t:o}=n(9),a=n(2);t.exports=((t,e)=>{if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),t instanceof a)return t;if("string"!=typeof t)return null;if(t.length>r)return null;if(!(e.loose?i[o.LOOSE]:i[o.FULL]).test(t))return null;try{return new a(t,e)}catch(t){return null}})},function(t,e,n){"use strict";n.r(e);var r={};n.r(r),n.d(r,"JsonPatchError",function(){return M}),n.d(r,"deepClone",function(){return F}),n.d(r,"getValueByPointer",function(){return T}),n.d(r,"applyOperation",function(){return z}),n.d(r,"applyPatch",function(){return R}),n.d(r,"applyReducer",function(){return P}),n.d(r,"validator",function(){return L}),n.d(r,"validate",function(){return B}),n.d(r,"_areEquals",function(){return I});var i={};n.r(i),n.d(i,"unobserve",function(){return H}),n.d(i,"observe",function(){return Y}),n.d(i,"generate",function(){return G}),n.d(i,"compare",function(){return Z});var o={};n.r(o),n.d(o,"aggregate",function(){return rs}),n.d(o,"bin",function(){return os}),n.d(o,"collect",function(){return us}),n.d(o,"compare",function(){return ls}),n.d(o,"countpattern",function(){return fs}),n.d(o,"cross",function(){return hs}),n.d(o,"density",function(){return ys}),n.d(o,"dotbin",function(){return Os}),n.d(o,"expression",function(){return js}),n.d(o,"extent",function(){return As}),n.d(o,"facet",function(){return Ds}),n.d(o,"field",function(){return Ms}),n.d(o,"filter",function(){return $s}),n.d(o,"flatten",function(){return Ns}),n.d(o,"fold",function(){return Ts}),n.d(o,"formula",function(){return zs}),n.d(o,"generate",function(){return Rs}),n.d(o,"impute",function(){return Bs}),n.d(o,"joinaggregate",function(){return Is}),n.d(o,"kde",function(){return qs}),n.d(o,"key",function(){return Ws}),n.d(o,"load",function(){return Ys}),n.d(o,"lookup",function(){return Vs}),n.d(o,"multiextent",function(){return Zs}),n.d(o,"multivalues",function(){return Js}),n.d(o,"params",function(){return Ks}),n.d(o,"pivot",function(){return tu}),n.d(o,"prefacet",function(){return nu}),n.d(o,"project",function(){return ru}),n.d(o,"proxy",function(){return iu}),n.d(o,"quantile",function(){return au}),n.d(o,"relay",function(){return su}),n.d(o,"sample",function(){return uu}),n.d(o,"sequence",function(){return lu}),n.d(o,"sieve",function(){return cu}),n.d(o,"subflow",function(){return Es}),n.d(o,"timeunit",function(){return fu}),n.d(o,"tupleindex",function(){return pu}),n.d(o,"values",function(){return gu}),n.d(o,"window",function(){return xu});var a={};n.r(a),n.d(a,"interpolate",function(){return Yg}),n.d(a,"interpolateArray",function(){return Pg}),n.d(a,"interpolateBasis",function(){return kg}),n.d(a,"interpolateBasisClosed",function(){return Ag}),n.d(a,"interpolateDate",function(){return Bg}),n.d(a,"interpolateDiscrete",function(){return Qm}),n.d(a,"interpolateHue",function(){return Km}),n.d(a,"interpolateNumber",function(){return Ig}),n.d(a,"interpolateNumberArray",function(){return zg}),n.d(a,"interpolateObject",function(){return Ug}),n.d(a,"interpolateRound",function(){return Gg}),n.d(a,"interpolateString",function(){return Hg}),n.d(a,"interpolateTransformCss",function(){return iv}),n.d(a,"interpolateTransformSvg",function(){return ov}),n.d(a,"interpolateZoom",function(){return uv}),n.d(a,"interpolateRgb",function(){return Fg}),n.d(a,"interpolateRgbBasis",function(){return Ng}),n.d(a,"interpolateRgbBasisClosed",function(){return Tg}),n.d(a,"interpolateHsl",function(){return cv}),n.d(a,"interpolateHslLong",function(){return fv}),n.d(a,"interpolateLab",function(){return Fv}),n.d(a,"interpolateHcl",function(){return Nv}),n.d(a,"interpolateHclLong",function(){return Tv}),n.d(a,"interpolateCubehelix",function(){return Hv}),n.d(a,"interpolateCubehelixLong",function(){return Yv}),n.d(a,"piecewise",function(){return Tm}),n.d(a,"quantize",function(){return Gv});var s={};n.r(s),n.d(s,"bound",function(){return bb}),n.d(s,"identifier",function(){return wb}),n.d(s,"mark",function(){return Ob}),n.d(s,"overlap",function(){return jb}),n.d(s,"render",function(){return Mb}),n.d(s,"viewlayout",function(){return Kb});var u={};n.r(u),n.d(u,"axisticks",function(){return tx}),n.d(u,"datajoin",function(){return ex}),n.d(u,"encode",function(){return rx}),n.d(u,"legendentries",function(){return ix}),n.d(u,"linkpath",function(){return cx}),n.d(u,"pie",function(){return gx}),n.d(u,"scale",function(){return bx}),n.d(u,"sortitems",function(){return Ox}),n.d(u,"stack",function(){return kx});var l={};n.r(l),n.d(l,"contour",function(){return Yx}),n.d(l,"geojson",function(){return Zx}),n.d(l,"geopath",function(){return pj}),n.d(l,"geopoint",function(){return gj}),n.d(l,"geoshape",function(){return mj}),n.d(l,"graticule",function(){return xj}),n.d(l,"heatmap",function(){return _j}),n.d(l,"isocontour",function(){return zx}),n.d(l,"kde2d",function(){return qx}),n.d(l,"projection",function(){return Oj});var c={};n.r(c),n.d(c,"force",function(){return bk});var f={};n.r(f),n.d(f,"nest",function(){return Fk}),n.d(f,"pack",function(){return iA}),n.d(f,"partition",function(){return lA}),n.d(f,"stratify",function(){return vA}),n.d(f,"tree",function(){return DA}),n.d(f,"treelinks",function(){return MA}),n.d(f,"treemap",function(){return LA});var d={};n.r(d),n.d(d,"loess",function(){return UA}),n.d(d,"regression",function(){return WA});var h={};n.r(h),n.d(h,"voronoi",function(){return lE});var p={};n.r(p),n.d(p,"wordcloud",function(){return kE});var g={};n.r(g),n.d(g,"crossfilter",function(){return ME}),n.d(g,"resolvefilter",function(){return $E});var m={};n.r(m),n.d(m,"version",function(){return NE.a}),n.d(m,"Dataflow",function(){return To}),n.d(m,"EventStream",function(){return Ot}),n.d(m,"Parameters",function(){return gt}),n.d(m,"Pulse",function(){return jo}),n.d(m,"MultiPulse",function(){return Do}),n.d(m,"Operator",function(){return bt}),n.d(m,"Transform",function(){return Po}),n.d(m,"changeset",function(){return ht}),n.d(m,"ingest",function(){return st}),n.d(m,"isTuple",function(){return it}),n.d(m,"definition",function(){return Io}),n.d(m,"transform",function(){return Uo}),n.d(m,"transforms",function(){return Bo}),n.d(m,"tupleid",function(){return ot}),n.d(m,"scale",function(){return Lm}),n.d(m,"scheme",function(){return ry}),n.d(m,"interpolate",function(){return Kv}),n.d(m,"interpolateColors",function(){return Xv}),n.d(m,"interpolateRange",function(){return Zv}),n.d(m,"quantizeInterpolator",function(){return Jv}),n.d(m,"projection",function(){return cj}),n.d(m,"View",function(){return RF}),n.d(m,"formatLocale",function(){return qe}),n.d(m,"timeFormatLocale",function(){return ho}),n.d(m,"locale",function(){return go}),n.d(m,"defaultLocale",function(){return mo}),n.d(m,"resetDefaultLocale",function(){return vo}),n.d(m,"expressionFunction",function(){return cF}),n.d(m,"parse",function(){return xz}),n.d(m,"runtimeContext",function(){return wF}),n.d(m,"bandwidthNRD",function(){return ca}),n.d(m,"bin",function(){return fa}),n.d(m,"bootstrapCI",function(){return pa}),n.d(m,"dotbin",function(){return ga}),n.d(m,"quantiles",function(){return ua}),n.d(m,"quartiles",function(){return la}),n.d(m,"random",function(){return da}),n.d(m,"setRandom",function(){return ha}),n.d(m,"randomLCG",function(){return ma}),n.d(m,"randomInteger",function(){return va}),n.d(m,"randomKDE",function(){return Aa}),n.d(m,"randomLogNormal",function(){return Ma}),n.d(m,"sampleLogNormal",function(){return Ea}),n.d(m,"densityLogNormal",function(){return Sa}),n.d(m,"cumulativeLogNormal",function(){return Da}),n.d(m,"quantileLogNormal",function(){return Ca}),n.d(m,"randomMixture",function(){return Fa}),n.d(m,"randomNormal",function(){return ka}),n.d(m,"sampleNormal",function(){return _a}),n.d(m,"densityNormal",function(){return wa}),n.d(m,"cumulativeNormal",function(){return Oa}),n.d(m,"quantileNormal",function(){return ja}),n.d(m,"randomUniform",function(){return Ra}),n.d(m,"sampleUniform",function(){return $a}),n.d(m,"densityUniform",function(){return Na}),n.d(m,"cumulativeUniform",function(){return Ta}),n.d(m,"quantileUniform",function(){return za}),n.d(m,"regressionLinear",function(){return Ua}),n.d(m,"regressionLog",function(){return qa}),n.d(m,"regressionExp",function(){return Wa}),n.d(m,"regressionPow",function(){return Ha}),n.d(m,"regressionQuad",function(){return Ya}),n.d(m,"regressionPoly",function(){return Ga}),n.d(m,"regressionLoess",function(){return Za}),n.d(m,"sampleCurve",function(){return Ka}),n.d(m,"TIME_UNITS",function(){return en}),n.d(m,"YEAR",function(){return We}),n.d(m,"QUARTER",function(){return He}),n.d(m,"MONTH",function(){return Ye}),n.d(m,"WEEK",function(){return Ge}),n.d(m,"DATE",function(){return Ve}),n.d(m,"DAY",function(){return Ze}),n.d(m,"DAYOFYEAR",function(){return Xe}),n.d(m,"HOURS",function(){return Je}),n.d(m,"MINUTES",function(){return Qe}),n.d(m,"SECONDS",function(){return Ke}),n.d(m,"MILLISECONDS",function(){return tn}),n.d(m,"timeUnitSpecifier",function(){return an}),n.d(m,"timeUnits",function(){return rn}),n.d(m,"dayofyear",function(){return Nn}),n.d(m,"week",function(){return Tn}),n.d(m,"utcdayofyear",function(){return Bn}),n.d(m,"utcweek",function(){return In}),n.d(m,"timeFloor",function(){return Xn}),n.d(m,"utcFloor",function(){return Kn}),n.d(m,"timeInterval",function(){return wr}),n.d(m,"timeOffset",function(){return kr}),n.d(m,"timeSequence",function(){return Sr}),n.d(m,"utcInterval",function(){return Or}),n.d(m,"utcOffset",function(){return Ar}),n.d(m,"utcSequence",function(){return Dr}),n.d(m,"timeBin",function(){return Br}),n.d(m,"accessor",function(){return K.f}),n.d(m,"accessorName",function(){return K.h}),n.d(m,"accessorFields",function(){return K.g}),n.d(m,"id",function(){return K.w}),n.d(m,"identity",function(){return K.x}),n.d(m,"zero",function(){return K.kb}),n.d(m,"one",function(){return K.O}),n.d(m,"truthy",function(){return K.gb}),n.d(m,"falsy",function(){return K.r}),n.d(m,"logger",function(){return K.K}),n.d(m,"None",function(){return K.d}),n.d(m,"Error",function(){return K.b}),n.d(m,"Warn",function(){return K.e}),n.d(m,"Info",function(){return K.c}),n.d(m,"Debug",function(){return K.a}),n.d(m,"mergeConfig",function(){return K.N}),n.d(m,"writeConfig",function(){return K.jb}),n.d(m,"panLinear",function(){return K.Q}),n.d(m,"panLog",function(){return K.R}),n.d(m,"panPow",function(){return K.S}),n.d(m,"panSymlog",function(){return K.T}),n.d(m,"zoomLinear",function(){return K.lb}),n.d(m,"zoomLog",function(){return K.mb}),n.d(m,"zoomPow",function(){return K.nb}),n.d(m,"zoomSymlog",function(){return K.ob}),n.d(m,"quarter",function(){return K.V}),n.d(m,"utcquarter",function(){return K.hb}),n.d(m,"array",function(){return K.i}),n.d(m,"clampRange",function(){return K.j}),n.d(m,"compare",function(){return K.k}),n.d(m,"constant",function(){return K.l}),n.d(m,"debounce",function(){return K.m}),n.d(m,"error",function(){return K.n}),n.d(m,"extend",function(){return K.o}),n.d(m,"extent",function(){return K.p}),n.d(m,"extentIndex",function(){return K.q}),n.d(m,"fastmap",function(){return K.s}),n.d(m,"field",function(){return K.t}),n.d(m,"flush",function(){return K.u}),n.d(m,"hasOwnProperty",function(){return K.v}),n.d(m,"inherits",function(){return K.y}),n.d(m,"inrange",function(){return K.z}),n.d(m,"isArray",function(){return K.A}),n.d(m,"isBoolean",function(){return K.B}),n.d(m,"isDate",function(){return K.C}),n.d(m,"isFunction",function(){return K.D}),n.d(m,"isNumber",function(){return K.E}),n.d(m,"isObject",function(){return K.F}),n.d(m,"isRegExp",function(){return K.G}),n.d(m,"isString",function(){return K.H}),n.d(m,"key",function(){return K.I}),n.d(m,"lerp",function(){return K.J}),n.d(m,"lruCache",function(){return K.L}),n.d(m,"merge",function(){return K.M}),n.d(m,"pad",function(){return K.P}),n.d(m,"peek",function(){return K.U}),n.d(m,"repeat",function(){return K.W}),n.d(m,"span",function(){return K.X}),n.d(m,"splitAccessPath",function(){return K.Y}),n.d(m,"stringValue",function(){return K.Z}),n.d(m,"toBoolean",function(){return K.ab}),n.d(m,"toDate",function(){return K.bb}),n.d(m,"toNumber",function(){return K.cb}),n.d(m,"toString",function(){return K.eb}),n.d(m,"toSet",function(){return K.db}),n.d(m,"truncate",function(){return K.fb}),n.d(m,"visitArray",function(){return K.ib}),n.d(m,"loader",function(){return bo}),n.d(m,"read",function(){return yo}),n.d(m,"inferType",function(){return Rt}),n.d(m,"inferTypes",function(){return Pt}),n.d(m,"typeParsers",function(){return Nt}),n.d(m,"format",function(){return ce}),n.d(m,"formats",function(){return fe}),n.d(m,"responseType",function(){return de}),n.d(m,"Bounds",function(){return yf}),n.d(m,"Gradient",function(){return hl}),n.d(m,"GroupItem",function(){return _f}),n.d(m,"ResourceLoader",function(){return jf}),n.d(m,"Item",function(){return xf}),n.d(m,"Scenegraph",function(){return ph}),n.d(m,"Handler",function(){return Oh}),n.d(m,"Renderer",function(){return Ah}),n.d(m,"CanvasHandler",function(){return Rh}),n.d(m,"CanvasRenderer",function(){return Wh}),n.d(m,"SVGHandler",function(){return Gh}),n.d(m,"SVGRenderer",function(){return Uy}),n.d(m,"SVGStringRenderer",function(){return nb}),n.d(m,"RenderType",function(){return ab}),n.d(m,"renderModule",function(){return ub}),n.d(m,"intersect",function(){return lb}),n.d(m,"Marks",function(){return sh}),n.d(m,"boundClip",function(){return pb}),n.d(m,"boundContext",function(){return $f}),n.d(m,"boundStroke",function(){return Sf}),n.d(m,"boundItem",function(){return uh}),n.d(m,"boundMark",function(){return ch}),n.d(m,"pathCurves",function(){return sc}),n.d(m,"pathSymbols",function(){return kc}),n.d(m,"pathRectangle",function(){return Bc}),n.d(m,"pathTrail",function(){return Ic}),n.d(m,"pathParse",function(){return cc}),n.d(m,"pathRender",function(){return wc}),n.d(m,"point",function(){return wh}),n.d(m,"domCreate",function(){return vh}),n.d(m,"domFind",function(){return yh}),n.d(m,"domChild",function(){return bh}),n.d(m,"domClear",function(){return xh}),n.d(m,"openTag",function(){return Ry}),n.d(m,"closeTag",function(){return Py}),n.d(m,"font",function(){return eh}),n.d(m,"fontFamily",function(){return th}),n.d(m,"fontSize",function(){return Zd}),n.d(m,"lineHeight",function(){return Xd}),n.d(m,"multiLineOffset",function(){return Qd}),n.d(m,"textMetrics",function(){return qd}),n.d(m,"sceneEqual",function(){return mb}),n.d(m,"pathEqual",function(){return vb}),n.d(m,"sceneToJSON",function(){return dh}),n.d(m,"sceneFromJSON",function(){return hh}),n.d(m,"intersectPath",function(){return Wf}),n.d(m,"intersectPoint",function(){return Hf}),n.d(m,"intersectRule",function(){return Gf}),n.d(m,"intersectBoxLine",function(){return Vf}),n.d(m,"sceneZOrder",function(){return rd}),n.d(m,"sceneVisit",function(){return id}),n.d(m,"scenePickVisit",function(){return od}),n.d(m,"resetSVGClipId",function(){return mf}),n.d(m,"resetSVGDefIds",function(){return yb});var v={};n.r(v),n.d(v,"invalidSpec",function(){return JL}),n.d(v,"FIT_NON_SINGLE",function(){return QL}),n.d(v,"containerSizeNonSingle",function(){return KL}),n.d(v,"containerSizeNotCompatibleWithAutosize",function(){return tB}),n.d(v,"droppingFit",function(){return eB}),n.d(v,"cannotProjectOnChannelWithoutField",function(){return nB}),n.d(v,"cannotProjectAggregate",function(){return rB}),n.d(v,"nearestNotSupportForContinuous",function(){return iB}),n.d(v,"selectionNotSupported",function(){return oB}),n.d(v,"selectionNotFound",function(){return aB}),n.d(v,"SCALE_BINDINGS_CONTINUOUS",function(){return sB}),n.d(v,"LEGEND_BINDINGS_PROJECT_LENGTH",function(){return uB}),n.d(v,"noSameUnitLookup",function(){return lB}),n.d(v,"noSuchRepeatedValue",function(){return cB}),n.d(v,"columnsNotSupportByRowCol",function(){return fB}),n.d(v,"CONCAT_CANNOT_SHARE_AXIS",function(){return dB}),n.d(v,"unrecognizedParse",function(){return hB}),n.d(v,"differentParse",function(){return pB}),n.d(v,"invalidTransformIgnored",function(){return gB}),n.d(v,"NO_FIELDS_NEEDS_AS",function(){return mB}),n.d(v,"customFormatTypeNotAllowed",function(){return vB}),n.d(v,"encodingOverridden",function(){return yB}),n.d(v,"projectionOverridden",function(){return bB}),n.d(v,"REPLACE_ANGLE_WITH_THETA",function(){return xB}),n.d(v,"primitiveChannelDef",function(){return _B}),n.d(v,"invalidFieldType",function(){return wB}),n.d(v,"invalidFieldTypeForCountAggregate",function(){return OB}),n.d(v,"invalidAggregate",function(){return jB}),n.d(v,"missingFieldType",function(){return kB}),n.d(v,"droppingColor",function(){return AB}),n.d(v,"emptyFieldDef",function(){return EB}),n.d(v,"latLongDeprecated",function(){return SB}),n.d(v,"LINE_WITH_VARYING_SIZE",function(){return DB}),n.d(v,"incompatibleChannel",function(){return CB}),n.d(v,"invalidEncodingChannel",function(){return MB}),n.d(v,"facetChannelShouldBeDiscrete",function(){return FB}),n.d(v,"facetChannelDropped",function(){return $B}),n.d(v,"discreteChannelCannotEncode",function(){return NB}),n.d(v,"lineWithRange",function(){return TB}),n.d(v,"orientOverridden",function(){return zB}),n.d(v,"CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN",function(){return RB}),n.d(v,"RANGE_STEP_DEPRECATED",function(){return PB}),n.d(v,"cannotUseScalePropertyWithNonColor",function(){return LB}),n.d(v,"unaggregateDomainHasNoEffectForRawField",function(){return BB}),n.d(v,"unaggregateDomainWithNonSharedDomainOp",function(){return IB}),n.d(v,"unaggregatedDomainWithLogScale",function(){return UB}),n.d(v,"cannotApplySizeToNonOrientedMark",function(){return qB}),n.d(v,"scaleTypeNotWorkWithChannel",function(){return WB}),n.d(v,"scaleTypeNotWorkWithFieldDef",function(){return HB}),n.d(v,"scalePropertyNotWorkWithScaleType",function(){return YB}),n.d(v,"scaleTypeNotWorkWithMark",function(){return GB}),n.d(v,"stepDropped",function(){return VB}),n.d(v,"mergeConflictingProperty",function(){return ZB}),n.d(v,"mergeConflictingDomainProperty",function(){return XB}),n.d(v,"independentScaleMeansIndependentGuide",function(){return JB}),n.d(v,"domainSortDropped",function(){return QB}),n.d(v,"MORE_THAN_ONE_SORT",function(){return KB}),n.d(v,"FACETED_INDEPENDENT_DIFFERENT_SOURCES",function(){return tI}),n.d(v,"FACETED_INDEPENDENT_SAME_FIELDS_DIFFERENT_SOURCES",function(){return eI}),n.d(v,"FACETED_INDEPENDENT_SAME_SOURCE",function(){return nI}),n.d(v,"INVALID_CHANNEL_FOR_AXIS",function(){return rI}),n.d(v,"cannotStackRangedMark",function(){return iI}),n.d(v,"cannotStackNonLinearScale",function(){return oI}),n.d(v,"stackNonSummativeAggregate",function(){return aI}),n.d(v,"invalidTimeUnit",function(){return sI}),n.d(v,"droppedDay",function(){return uI}),n.d(v,"errorBarCenterAndExtentAreNotNeeded",function(){return lI}),n.d(v,"errorBarCenterIsUsedWithWrongExtent",function(){return cI}),n.d(v,"errorBarContinuousAxisHasCustomizedAggregate",function(){return fI}),n.d(v,"errorBarCenterIsNotNeeded",function(){return dI}),n.d(v,"errorBand1DNotSupport",function(){return hI}),n.d(v,"channelRequiredForBinned",function(){return pI}),n.d(v,"domainRequiredForThresholdScale",function(){return gI});var y={};n.r(y),n.d(y,"compile",function(){return iJ}),n.d(y,"extractTransforms",function(){return aJ}),n.d(y,"normalize",function(){return TH}),n.d(y,"version",function(){return sJ});var b={};n.r(b),n.d(b,"dark",function(){return fJ}),n.d(b,"excel",function(){return dJ}),n.d(b,"fivethirtyeight",function(){return hJ}),n.d(b,"ggplot2",function(){return pJ}),n.d(b,"latimes",function(){return vJ}),n.d(b,"quartz",function(){return yJ}),n.d(b,"vox",function(){return bJ}),n.d(b,"urbaninstitute",function(){return _J}),n.d(b,"googlecharts",function(){return wJ}),n.d(b,"version",function(){return OJ});function x(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):function(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(a,s)}u((r=r.apply(t,e||[])).next())})} /*! * https://github.com/Starcounter-Jack/JSON-Patch * (c) 2017 Joachim Wester * MIT license */ var _=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),w=Object.prototype.hasOwnProperty;function O(t,e){return w.call(t,e)}function j(t){if(Array.isArray(t)){for(var e=new Array(t.length),n=0;n=48&&e<=57))return!1;n++}return!0}function E(t){return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")}function S(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}function D(t,e){var n=[t];for(var r in e){var i="object"==typeof e[r]?JSON.stringify(e[r],null,2):e[r];void 0!==i&&n.push(r+": "+i)}return n.join("\n")}var C=function(t){function e(e,n,r,i,o){var a=this.constructor,s=t.call(this,D(e,{name:n,index:r,operation:i,tree:o}))||this;return s.name=n,s.index=r,s.operation=i,s.tree=o,Object.setPrototypeOf(s,a.prototype),s.message=D(e,{name:n,index:r,operation:i,tree:o}),s}return _(e,t),e}(Error),M=C,F=k,$={add:function(t,e,n){return t[e]=this.value,{newDocument:n}},remove:function(t,e,n){var r=t[e];return delete t[e],{newDocument:n,removed:r}},replace:function(t,e,n){var r=t[e];return t[e]=this.value,{newDocument:n,removed:r}},move:function(t,e,n){var r=T(n,this.path);r&&(r=k(r));var i=z(n,{op:"remove",path:this.from}).removed;return z(n,{op:"add",path:this.path,value:i}),{newDocument:n,removed:r}},copy:function(t,e,n){var r=T(n,this.from);return z(n,{op:"add",path:this.path,value:k(r)}),{newDocument:n}},test:function(t,e,n){return{newDocument:n,test:I(t[e],this.value)}},_get:function(t,e,n){return this.value=t[e],{newDocument:n}}},N={add:function(t,e,n){return A(e)?t.splice(e,0,this.value):t[e]=this.value,{newDocument:n,index:e}},remove:function(t,e,n){return{newDocument:n,removed:t.splice(e,1)[0]}},replace:function(t,e,n){var r=t[e];return t[e]=this.value,{newDocument:n,removed:r}},move:$.move,copy:$.copy,test:$.test,_get:$._get};function T(t,e){if(""==e)return t;var n={op:"_get",path:e};return z(t,n),n.value}function z(t,e,n,r,i,o){if(void 0===n&&(n=!1),void 0===r&&(r=!0),void 0===i&&(i=!0),void 0===o&&(o=0),n&&("function"==typeof n?n(e,0,t,e.path):L(e,0)),""===e.path){var a={newDocument:t};if("add"===e.op)return a.newDocument=e.value,a;if("replace"===e.op)return a.newDocument=e.value,a.removed=t,a;if("move"===e.op||"copy"===e.op)return a.newDocument=T(t,e.from),"move"===e.op&&(a.removed=t),a;if("test"===e.op){if(a.test=I(t,e.value),!1===a.test)throw new M("Test operation failed","TEST_OPERATION_FAILED",o,e,t);return a.newDocument=t,a}if("remove"===e.op)return a.removed=t,a.newDocument=null,a;if("_get"===e.op)return e.value=t,a;if(n)throw new M("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",o,e,t);return a}r||(t=k(t));var s=(e.path||"").split("/"),u=t,l=1,c=s.length,f=void 0,d=void 0,h=void 0;for(h="function"==typeof n?n:L;;){if(d=s[l],i&&"__proto__"==d)throw new TypeError("JSON-Patch: modifying `__proto__` 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[d]?f=s.slice(0,l).join("/"):l==c-1&&(f=e.path),void 0!==f&&h(e,0,t,f)),l++,Array.isArray(u)){if("-"===d)d=u.length;else{if(n&&!A(d))throw new M("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",o,e,t);A(d)&&(d=~~d)}if(l>=c){if(n&&"add"===e.op&&d>u.length)throw new M("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",o,e,t);if(!1===(a=N[e.op].call(e,u,d,t)).test)throw new M("Test operation failed","TEST_OPERATION_FAILED",o,e,t);return a}}else if(d&&-1!=d.indexOf("~")&&(d=S(d)),l>=c){if(!1===(a=$[e.op].call(e,u,d,t)).test)throw new M("Test operation failed","TEST_OPERATION_FAILED",o,e,t);return a}u=u[d]}}function R(t,e,n,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),n&&!Array.isArray(e))throw new M("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");r||(t=k(t));for(var o=new Array(e.length),a=0,s=e.length;a0)throw new M('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",e,t,n);if(("move"===t.op||"copy"===t.op)&&"string"!=typeof t.from)throw new M("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",e,t,n);if(("add"===t.op||"replace"===t.op||"test"===t.op)&&void 0===t.value)throw new M("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",e,t,n);if(("add"===t.op||"replace"===t.op||"test"===t.op)&&function t(e){if(void 0===e)return!0;if(e)if(Array.isArray(e)){for(var n=0,r=e.length;n0&&(t.patches=[],t.callback&&t.callback(r)),r}function V(t,e,n,r,i){if(e!==t){"function"==typeof e.toJSON&&(e=e.toJSON());for(var o=j(e),a=j(t),s=!1,u=a.length-1;u>=0;u--){var l=t[f=a[u]];if(!O(e,f)||void 0===e[f]&&void 0!==l&&!1===Array.isArray(e))Array.isArray(t)===Array.isArray(e)?(i&&n.push({op:"test",path:r+"/"+E(f),value:k(l)}),n.push({op:"remove",path:r+"/"+E(f)}),s=!0):(i&&n.push({op:"test",path:r,value:t}),n.push({op:"replace",path:r,value:e}),!0);else{var c=e[f];"object"==typeof l&&null!=l&&"object"==typeof c&&null!=c?V(l,c,n,r+"/"+E(f),i):l!==c&&(!0,i&&n.push({op:"test",path:r+"/"+E(f),value:k(l)}),n.push({op:"replace",path:r+"/"+E(f),value:k(c)}))}}if(s||o.length!=a.length)for(u=0;u=0&&n.splice(i,1)),n},n}var et=async function(t,e){try{await e(t)}catch(e){t.error(e)}},nt=Symbol("vega_id"),rt=1;function it(t){return!(!t||!ot(t))}function ot(t){return t[nt]}function at(t,e){return t[nt]=e,t}function st(t){var e=t===Object(t)?t:{data:t};return ot(e)?e:at(e,rt++)}function ut(t){return lt(t,st({}))}function lt(t,e){for(var n in t)e[n]=t[n];return e}function ct(t,e){return at(e,ot(t))}function ft(t,e){return t?e?(n,r)=>t(n,r)||ot(e(n))-ot(e(r)):(e,n)=>t(e,n)||ot(e)-ot(n):null}function dt(t){return t&&t.constructor===ht}function ht(){var t=[],e=[],n=[],r=[],i=[],o=null,a=!1;return{constructor:ht,insert:function(e){for(var n=Object(K.i)(e),r=0,i=n.length;r0&&(v(h,d,f.value),s.modifies(d));for(l=0,c=i.length;l0&&v(t,f.field,f.value)}),s.modifies(f.field);if(a)s.mod=e.length||r.length?u.filter(function(t){return g[ot(t)]>0}):u.slice();else for(p in m)s.mod.push(m[p]);return(o||null==o&&(e.length||r.length))&&s.clean(!0),s}}}var pt="_:mod:_";function gt(){Object.defineProperty(this,pt,{writable:!0,value:{}})}var mt=gt.prototype;mt.set=function(t,e,n,r){var i=this,o=i[t],a=i[pt];return null!=e&&e>=0?(o[e]!==n||r)&&(o[e]=n,a[e+":"+t]=-1,a[t]=-1):(o!==n||r)&&(i[t]=n,a[t]=Object(K.A)(n)?1+n.length:-1),i},mt.modified=function(t,e){var n,r=this[pt];if(!arguments.length){for(n in r)if(r[n])return!0;return!1}if(Object(K.A)(t)){for(n=0;n=0?e+1t?(e=n,1):0})},kt.debounce=function(t){var e=jt();return this.targets().add(jt(null,null,Object(K.m)(t,function(t){var n=t.dataflow;e.receive(t),n&&n.run&&n.run()}))),e},kt.between=function(t,e){var n=!1;return t.targets().add(jt(null,null,function(){n=!0})),e.targets().add(jt(null,null,function(){n=!1})),this.filter(function(){return n})};const At=/^([A-Za-z]+:)?\/\//,Et=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,St=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,Dt="file://";async function Ct(t,e){const n=await this.sanitize(t,e),r=n.href;return n.localFile?this.file(r):this.http(r,e)}async function Mt(t,e){e=Object(K.o)({},this.options,e);const n=this.fileAccess,r={href:null};let i,o,a;const s=Et.test(t.replace(St,""));null!=t&&"string"==typeof t&&s||Object(K.n)("Sanitize failure, invalid URI: "+Object(K.Z)(t));const u=At.test(t);return(a=e.baseURL)&&!u&&(t.startsWith("/")||"/"===a[a.length-1]||(t="/"+t),t=a+t),o=(i=t.startsWith(Dt))||"file"===e.mode||"http"!==e.mode&&!u&&n,i?t=t.slice(Dt.length):t.startsWith("//")&&("file"===e.defaultProtocol?(t=t.slice(2),o=!0):t=(e.defaultProtocol||"http")+":"+t),Object.defineProperty(r,"localFile",{value:!!o}),r.href=t,e.target&&(r.target=e.target+""),e.rel&&(r.rel=e.rel+""),"image"===e.context&&e.crossOrigin&&(r.crossOrigin=e.crossOrigin+""),r}async function Ft(){Object(K.n)("No file system access.")}async function $t(){Object(K.n)("No HTTP fetch method available.")}var Nt={boolean:K.ab,integer:K.cb,number:K.cb,date:K.bb,string:K.eb,unknown:K.x},Tt=[function(t){return"true"===t||"false"===t||!0===t||!1===t},function(t){return Bt(t)&&Number.isInteger(+t)},Bt,function(t){return!Number.isNaN(Date.parse(t))}],zt=["boolean","integer","number","date"];function Rt(t,e){if(!t||!t.length)return"unknown";const n=t.length,r=Tt.length,i=Tt.map((t,e)=>e+1);for(let o,a,s=0,u=0;s0===t?e:t,0)-1]}function Pt(t,e){return e.reduce(function(e,n){return e[n]=Rt(t,n),e},{})}function Lt(t){return null!=t&&t==t}function Bt(t){return!(Number.isNaN(+t)||t instanceof Date)}var It={},Ut={},qt=34,Wt=10,Ht=13;function Yt(t){return new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+'] || ""'}).join(",")+"}")}function Gt(t){var e=Object.create(null),n=[];return t.forEach(function(t){for(var r in t)r in e||n.push(e[r]=r)}),n}function Vt(t,e){var n=t+"",r=n.length;return r9999?"+"+Vt(t,6):Vt(t,4)}(t.getUTCFullYear())+"-"+Vt(t.getUTCMonth()+1,2)+"-"+Vt(t.getUTCDate(),2)+(i?"T"+Vt(e,2)+":"+Vt(n,2)+":"+Vt(r,2)+"."+Vt(i,3)+"Z":r?"T"+Vt(e,2)+":"+Vt(n,2)+":"+Vt(r,2)+"Z":n||e?"T"+Vt(e,2)+":"+Vt(n,2)+"Z":"")}var Xt=function(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,i=[],o=t.length,a=0,s=0,u=o<=0,l=!1;function c(){if(u)return Ut;if(l)return l=!1,It;var e,r,i=a;if(t.charCodeAt(i)===qt){for(;a++=o?u=!0:(r=t.charCodeAt(a++))===Wt?l=!0:r===Ht&&(l=!0,t.charCodeAt(a)===Wt&&++a),t.slice(i+1,e-1).replace(/""/g,'"')}for(;a1)r=function(t,e,n){var r,i=[],o=[];function a(t){var e=t<0?~t:t;(o[e]||(o[e]=[])).push({i:t,g:r})}function s(t){t.forEach(a)}function u(t){t.forEach(s)}return function t(e){switch(r=e,e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":u(e.arcs);break;case"MultiPolygon":!function(t){t.forEach(u)}(e.arcs)}}(e),o.forEach(null==n?function(t){i.push(t[0].i)}:function(t){n(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,n);else for(i=0,r=new Array(o=t.arcs.length);it!==e,exterior:(t,e)=>t===e};function le(t,e){let n,r,i,o;return t=Object(Kt.a)(t,e),e&&e.feature?(n=re,i=e.feature):e&&e.mesh?(n=se,i=e.mesh,o=ue[e.filter]):Object(K.n)("Missing TopoJSON feature or mesh parameter."),(r=(r=t.objects[i])?n(t,r,o):Object(K.n)("Invalid TopoJSON object: "+i))&&r.features||[r]}le.responseType="json";const ce={dsv:Qt,csv:Jt(","),tsv:Jt("\t"),json:Kt.a,topojson:le};function fe(t,e){return arguments.length>1?(ce[t]=e,this):Object(K.v)(ce,t)?ce[t]:null}function de(t){const e=fe(t);return e&&e.responseType||"text"}var he=function(t){const e={};return n=>e[n]||(e[n]=t(n))},pe=Math.sqrt(50),ge=Math.sqrt(10),me=Math.sqrt(2),ve=function(t,e,n){var r,i,o,a,s=-1;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if((r=e0)for(t=Math.ceil(t/a),e=Math.floor(e/a),o=new Array(i=Math.ceil(e-t+1));++s=0?(o>=pe?10:o>=ge?5:o>=me?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=pe?10:o>=ge?5:o>=me?2:1)}function be(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=pe?i*=10:o>=ge?i*=5:o>=me&&(i*=2),e=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function _e(t){if(!(e=xe.exec(t)))throw new Error("invalid format: "+t);var e;return new we({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function we(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}_e.prototype=we.prototype,we.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 Oe,je,ke,Ae,Ee=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]},Se=function(t){return(t=Ee(Math.abs(t)))?t[1]:NaN},De=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Se(e)/3)))-Se(Math.abs(t)))},Ce=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Se(e)-Se(t))+1},Me=function(t){return Math.max(0,-Se(Math.abs(t)))},Fe=function(t){t:for(var e,n=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t},$e=function(t,e){var n=Ee(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},Ne={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return $e(100*t,e)},r:$e,s:function(t,e){var n=Ee(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(Oe=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Ee(t,Math.max(0,e+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Te=function(t){return t},ze=Array.prototype.map,Re=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],Pe=function(t){var e=void 0===t.grouping||void 0===t.thousands?Te:function(t,e){return function(n,r){for(var i=n.length,o=[],a=0,s=t[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),o.push(n.substring(i-=s,i+s)),!((u+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(e)}}(ze.call(t.grouping,Number),t.thousands+""),n=void 0===t.currency?"":t.currency[0]+"",r=void 0===t.currency?"":t.currency[1]+"",i=void 0===t.decimal?".":t.decimal+"",o=void 0===t.numerals?Te:function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}(ze.call(t.numerals,String)),a=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"-":t.minus+"",u=void 0===t.nan?"NaN":t.nan+"";function l(t){var l=(t=_e(t)).fill,c=t.align,f=t.sign,d=t.symbol,h=t.zero,p=t.width,g=t.comma,m=t.precision,v=t.trim,y=t.type;"n"===y?(g=!0,y="g"):Ne[y]||(void 0===m&&(m=12),v=!0,y="g"),(h||"0"===l&&"="===c)&&(h=!0,l="0",c="=");var b="$"===d?n:"#"===d&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",x="$"===d?r:/[%p]/.test(y)?a:"",_=Ne[y],w=/[defgprs%]/.test(y);function O(t){var n,r,a,d=b,O=x;if("c"===y)O=_(t)+O,t="";else{var j=(t=+t)<0||1/t<0;if(t=isNaN(t)?u:_(Math.abs(t),m),v&&(t=Fe(t)),j&&0==+t&&"+"!==f&&(j=!1),d=(j?"("===f?f:s:"-"===f||"("===f?"":f)+d,O=("s"===y?Re[8+Oe/3]:"")+O+(j&&"("===f?")":""),w)for(n=-1,r=t.length;++n(a=t.charCodeAt(n))||a>57){O=(46===a?i+t.slice(n+1):t.slice(n))+O,t=t.slice(0,n);break}}g&&!h&&(t=e(t,1/0));var k=d.length+t.length+O.length,A=k>1)+d+t+O+A.slice(k);break;default:t=A+d+t+O}return o(t)}return m=void 0===m?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),O.toString=function(){return t+""},O}return{format:l,formatPrefix:function(t,e){var n=l(((t=_e(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Se(e)/3))),i=Math.pow(10,-r),o=Re[8+r/3];return function(t){return n(i*t)+o}}}};function Le(t){const e=he(t.format),n=t.formatPrefix;return{format:e,formatPrefix:n,formatFloat(t){var n=_e(t||",");if(null==n.precision){switch(n.precision=12,n.type){case"%":n.precision-=2;break;case"e":n.precision-=1}return function(t,e){return n=>{var r,i,o=t(n),a=o.indexOf(e);if(a<0)return o;for(i=(r=function(t,e){var n,r=t.lastIndexOf("e");if(r>0)return r;for(r=t.length;--r>e;)if((n=t.charCodeAt(r))>=48&&n<=57)return r+1}(o,a))a;)if("0"!==o[r]){++r;break}return o.slice(0,r)+i}}(e(n),e(".1f")(1)[1])}return e(n)},formatSpan(t,r,i,o){o=_e(null==o?",f":o);const a=be(t,r,i),s=Math.max(Math.abs(t),Math.abs(r));let u;if(null==o.precision)switch(o.type){case"s":return isNaN(u=De(a,s))||(o.precision=u),n(o,s);case"":case"e":case"g":case"p":case"r":isNaN(u=Ce(a,s))||(o.precision=u-("e"===o.type));break;case"f":case"%":isNaN(u=Me(a))||(o.precision=u-2*("%"===o.type))}return e(o)}}}let Be;function Ie(){return Be=Le({format:ke,formatPrefix:Ae})}function Ue(t){return Le(Pe(t))}function qe(t){return arguments.length?Be=Ue(t):Be}!function(t){je=Pe(t),ke=je.format,Ae=je.formatPrefix}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),Ie();const We="year",He="quarter",Ye="month",Ge="week",Ve="date",Ze="day",Xe="dayofyear",Je="hours",Qe="minutes",Ke="seconds",tn="milliseconds",en=[We,He,Ye,Ge,Ve,Ze,Xe,Je,Qe,Ke,tn],nn=en.reduce((t,e,n)=>(t[e]=1+n,t),{});function rn(t){const e=Object(K.i)(t).slice(),n={};return e.length||Object(K.n)("Missing time unit."),e.forEach(t=>{Object(K.v)(nn,t)?n[t]=1:Object(K.n)(`Invalid time unit: ${t}.`)}),(n[Ge]||n[Ze]?1:0)+(n[He]||n[Ye]||n[Ve]?1:0)+(n[Xe]?1:0)>1&&Object(K.n)(`Incompatible time units: ${t}`),e.sort((t,e)=>nn[t]-nn[e]),e}const on={[We]:"%Y ",[He]:"Q%q ",[Ye]:"%b ",[Ve]:"%d ",[Ge]:"W%U ",[Ze]:"%a ",[Xe]:"%j ",[Je]:"%H:00",[Qe]:"00:%M",[Ke]:":%S",[tn]:".%L",[`${We}-${Ye}`]:"%Y-%m ",[`${We}-${Ye}-${Ve}`]:"%Y-%m-%d ",[`${Je}-${Qe}`]:"%H:%M"};function an(t,e){const n=Object(K.o)({},on,e),r=rn(t),i=r.length;let o,a,s="",u=0;for(u=0;uu;--o)if(null!=n[a=r.slice(u,o).join("-")]){s+=n[a],u=o;break}return s.trim()}var sn=new Date,un=new Date;function ln(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=function(e){return t(e=new Date(+e)),e},i.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},i.round=function(t){var e=i(t),n=i.ceil(t);return t-e0))return s;do{s.push(a=new Date(+n)),e(n,o),t(n)}while(a=e)for(;t(e),!n(e);)e.setTime(e-1)},function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););})},n&&(i.count=function(e,r){return sn.setTime(+e),un.setTime(+r),t(sn),t(un),Math.floor(n(sn,un))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var cn=6e4,fn=6048e5,dn=ln(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*cn)/864e5},function(t){return t.getDate()-1}),hn=dn;dn.range;function pn(t){return ln(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*cn)/fn})}var gn=pn(0),mn=pn(1),vn=pn(2),yn=pn(3),bn=pn(4),xn=pn(5),_n=pn(6),wn=(gn.range,mn.range,vn.range,yn.range,bn.range,xn.range,_n.range,ln(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/864e5},function(t){return t.getUTCDate()-1})),On=wn;wn.range;function jn(t){return ln(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/fn})}var kn=jn(0),An=jn(1),En=jn(2),Sn=jn(3),Dn=jn(4),Cn=jn(5),Mn=jn(6);kn.range,An.range,En.range,Sn.range,Dn.range,Cn.range,Mn.range;const Fn=new Date;function $n(t){return Fn.setFullYear(t),Fn.setMonth(0),Fn.setDate(1),Fn.setHours(0,0,0,0),Fn}function Nn(t){return zn(new Date(t))}function Tn(t){return Rn(new Date(t))}function zn(t){return hn.count($n(t.getFullYear())-1,t)}function Rn(t){return gn.count($n(t.getFullYear())-1,t)}function Pn(t){return $n(t).getDay()}function Ln(t,e,n,r,i,o,a){if(0<=t&&t<100){var s=new Date(-1,e,n,r,i,o,a);return s.setFullYear(t),s}return new Date(t,e,n,r,i,o,a)}function Bn(t){return Un(new Date(t))}function In(t){return qn(new Date(t))}function Un(t){const e=Date.UTC(t.getUTCFullYear(),0,1);return On.count(e-1,t)}function qn(t){const e=Date.UTC(t.getUTCFullYear(),0,1);return kn.count(e-1,t)}function Wn(t){return Fn.setTime(Date.UTC(t,0,1)),Fn.getUTCDay()}function Hn(t,e,n,r,i,o,a){if(0<=t&&t<100){var s=new Date(Date.UTC(-1,e,n,r,i,o,a));return s.setUTCFullYear(n.y),s}return new Date(Date.UTC(t,e,n,r,i,o,a))}function Yn(t,e,n,r,i){const o=e||1,a=Object(K.U)(t),s=(t,e,i)=>(function(t,e,n,r){const i=n<=1?t:r?(e,i)=>r+n*Math.floor((t(e,i)-r)/n):(e,r)=>n*Math.floor(t(e,r)/n);return e?(t,n)=>e(i(t,n),n):i})(n[i=i||t],r[i],t===a&&o,e),u=new Date,l=Object(K.db)(t),c=l[We]?s(We):Object(K.l)(2012),f=l[Ye]?s(Ye):l[He]?s(He):K.kb,d=l[Ge]&&l[Ze]?s(Ze,1,Ge+Ze):l[Ge]?s(Ge,1):l[Ze]?s(Ze,1):l[Ve]?s(Ve,1):l[Xe]?s(Xe,1):K.O,h=l[Je]?s(Je):K.kb,p=l[Qe]?s(Qe):K.kb,g=l[Ke]?s(Ke):K.kb,m=l[tn]?s(tn):K.kb;return function(t){u.setTime(+t);const e=c(u);return i(e,f(u),d(u,e),h(u),p(u),g(u),m(u))}}function Gn(t,e,n){return e+7*t-(n+6)%7}const Vn={[We]:t=>t.getFullYear(),[He]:t=>Math.floor(t.getMonth()/3),[Ye]:t=>t.getMonth(),[Ve]:t=>t.getDate(),[Je]:t=>t.getHours(),[Qe]:t=>t.getMinutes(),[Ke]:t=>t.getSeconds(),[tn]:t=>t.getMilliseconds(),[Xe]:t=>zn(t),[Ge]:t=>Rn(t),[Ge+Ze]:(t,e)=>Gn(Rn(t),t.getDay(),Pn(e)),[Ze]:(t,e)=>Gn(1,t.getDay(),Pn(e))},Zn={[He]:t=>3*t,[Ge]:(t,e)=>Gn(t,0,Pn(e))};function Xn(t,e){return Yn(t,e||1,Vn,Zn,Ln)}const Jn={[We]:t=>t.getUTCFullYear(),[He]:t=>Math.floor(t.getUTCMonth()/3),[Ye]:t=>t.getUTCMonth(),[Ve]:t=>t.getUTCDate(),[Je]:t=>t.getUTCHours(),[Qe]:t=>t.getUTCMinutes(),[Ke]:t=>t.getUTCSeconds(),[tn]:t=>t.getUTCMilliseconds(),[Xe]:t=>Un(t),[Ge]:t=>qn(t),[Ze]:(t,e)=>Gn(1,t.getUTCDay(),Wn(e)),[Ge+Ze]:(t,e)=>Gn(qn(t),t.getUTCDay(),Wn(e))},Qn={[He]:t=>3*t,[Ge]:(t,e)=>Gn(t,0,Wn(e))};function Kn(t,e){return Yn(t,e||1,Jn,Qn,Hn)}var tr=ln(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});tr.every=function(t){return isFinite(t=Math.floor(t))&&t>0?ln(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,n){e.setFullYear(e.getFullYear()+n*t)}):null};var er=tr,nr=(tr.range,ln(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},function(t){return t.getMonth()})),rr=nr,ir=(nr.range,ln(function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-t.getMinutes()*cn)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getHours()})),or=ir,ar=(ir.range,ln(function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},function(t,e){t.setTime(+t+e*cn)},function(t,e){return(e-t)/cn},function(t){return t.getMinutes()})),sr=ar,ur=(ar.range,ln(function(t){t.setTime(t-t.getMilliseconds())},function(t,e){t.setTime(+t+1e3*e)},function(t,e){return(e-t)/1e3},function(t){return t.getUTCSeconds()})),lr=ur,cr=(ur.range,ln(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t}));cr.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?ln(function(e){e.setTime(Math.floor(e/t)*t)},function(e,n){e.setTime(+e+n*t)},function(e,n){return(n-e)/t}):cr:null};var fr=cr,dr=(cr.range,ln(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()}));dr.every=function(t){return isFinite(t=Math.floor(t))&&t>0?ln(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null};var hr=dr,pr=(dr.range,ln(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()})),gr=pr,mr=(pr.range,ln(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+36e5*e)},function(t,e){return(e-t)/36e5},function(t){return t.getUTCHours()})),vr=mr,yr=(mr.range,ln(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*cn)},function(t,e){return(e-t)/cn},function(t){return t.getUTCMinutes()})),br=yr;yr.range;const xr={[We]:er,[He]:rr.every(3),[Ye]:rr,[Ge]:gn,[Ve]:hn,[Ze]:hn,[Xe]:hn,[Je]:or,[Qe]:sr,[Ke]:lr,[tn]:fr},_r={[We]:hr,[He]:gr.every(3),[Ye]:gr,[Ge]:kn,[Ve]:On,[Ze]:On,[Xe]:On,[Je]:vr,[Qe]:br,[Ke]:lr,[tn]:fr};function wr(t){return xr[t]}function Or(t){return _r[t]}function jr(t,e,n){return t?t.offset(e,n):void 0}function kr(t,e,n){return jr(wr(t),e,n)}function Ar(t,e,n){return jr(Or(t),e,n)}function Er(t,e,n,r){return t?t.range(e,n,r):void 0}function Sr(t,e,n,r){return Er(wr(t),e,n,r)}function Dr(t,e,n,r){return Er(Or(t),e,n,r)}var Cr=function(t,e){return te?1:t>=e?0:NaN},Mr=function(t){return 1===t.length&&(t=function(t){return function(e,n){return Cr(t(e),n)}}(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[o],n)<0?r=o+1:i=o}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[o],n)>0?i=o:r=o+1}return r}}};const Fr=[We,Ye,Ve,Je,Qe,Ke,tn],$r=Fr.slice(0,-1),Nr=$r.slice(0,-1),Tr=Nr.slice(0,-1),zr=Tr.slice(0,-1),Rr=[We,Ye],Pr=[We],Lr=[[$r,1,1e3],[$r,5,5e3],[$r,15,15e3],[$r,30,3e4],[Nr,1,6e4],[Nr,5,3e5],[Nr,15,9e5],[Nr,30,18e5],[Tr,1,36e5],[Tr,3,108e5],[Tr,6,216e5],[Tr,12,432e5],[zr,1,864e5],[[We,Ge],1,6048e5],[Rr,1,2592e6],[Rr,3,7776e6],[Pr,1,31536e6]];var Br=function(t){const e=t.extent,n=t.maxbins||40,r=Math.abs(Object(K.X)(e))/n;let i,o,a=Mr(t=>t[2]).right(Lr,r);return a===Lr.length?(i=Pr,o=be(e[0]/31536e6,e[1]/31536e6,n)):a?(i=(a=Lr[r/Lr[a-1][2]=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:oo,s:ao,S:Fi,u:$i,U:Ni,V:Ti,w:zi,W:Ri,x:null,X:null,y:Pi,Y:Li,Z:Bi,"%":io},x={a:function(t){return a[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return u[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:Ii,e:Ii,f:Yi,H:Ui,I:qi,j:Wi,L:Hi,m:Gi,M:Vi,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:oo,s:ao,S:Zi,u:Xi,U:Ji,V:Qi,w:Ki,W:to,x:null,X:null,y:eo,Y:no,Z:ro,"%":io},_={a:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=p[r[0].toLowerCase()],n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=d[r[0].toLowerCase()],n+r[0].length):-1},b:function(t,e,n){var r=v.exec(e.slice(n));return r?(t.m=y[r[0].toLowerCase()],n+r[0].length):-1},B:function(t,e,n){var r=g.exec(e.slice(n));return r?(t.m=m[r[0].toLowerCase()],n+r[0].length):-1},c:function(t,n,r){return j(t,e,n,r)},d:pi,e:pi,f:xi,H:mi,I:mi,j:gi,L:bi,m:hi,M:vi,p:function(t,e,n){var r=l.exec(e.slice(n));return r?(t.p=c[r[0].toLowerCase()],n+r[0].length):-1},q:di,Q:wi,s:Oi,S:yi,u:oi,U:ai,V:si,w:ii,W:ui,x:function(t,e,r){return j(t,n,e,r)},X:function(t,e,n){return j(t,r,e,n)},y:ci,Y:li,Z:fi,"%":_i};function w(t,e){return function(n){var r,i,o,a=[],s=-1,u=0,l=t.length;for(n instanceof Date||(n=new Date(+n));++s53)return null;"w"in o||(o.w=1),"Z"in o?(r=(i=(r=Ur(qr(o.y,0,1))).getUTCDay())>4||0===i?An.ceil(r):An(r),r=On.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(r=(i=(r=Ir(qr(o.y,0,1))).getDay())>4||0===i?mn.ceil(r):mn(r),r=hn.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?Ur(qr(o.y,0,1)).getUTCDay():Ir(qr(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Ur(o)):Ir(o)}}function j(t,e,n,r){for(var i,o,a=0,s=e.length,u=n.length;a=u)return-1;if(37===(i=e.charCodeAt(a++))){if(i=e.charAt(a++),!(o=_[i in Xr?e.charAt(a++):i])||(r=o(t,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(e,b),x.x=w(n,x),x.X=w(r,x),x.c=w(e,x),{format:function(t){var e=w(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=O(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=w(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=O(t+="",!0);return e.toString=function(){return t},e}}}var Hr,Yr,Gr,Vr,Zr,Xr={"-":"",_:" ",0:"0"},Jr=/^\s*\d+/,Qr=/^%/,Kr=/[\\^$*+?|[\]().{}]/g;function ti(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o68?1900:2e3),n+r[0].length):-1}function fi(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function di(t,e,n){var r=Jr.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function hi(t,e,n){var r=Jr.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function pi(t,e,n){var r=Jr.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function gi(t,e,n){var r=Jr.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function mi(t,e,n){var r=Jr.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function vi(t,e,n){var r=Jr.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function yi(t,e,n){var r=Jr.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function bi(t,e,n){var r=Jr.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function xi(t,e,n){var r=Jr.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function _i(t,e,n){var r=Qr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function wi(t,e,n){var r=Jr.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Oi(t,e,n){var r=Jr.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function ji(t,e){return ti(t.getDate(),e,2)}function ki(t,e){return ti(t.getHours(),e,2)}function Ai(t,e){return ti(t.getHours()%12||12,e,2)}function Ei(t,e){return ti(1+hn.count(er(t),t),e,3)}function Si(t,e){return ti(t.getMilliseconds(),e,3)}function Di(t,e){return Si(t,e)+"000"}function Ci(t,e){return ti(t.getMonth()+1,e,2)}function Mi(t,e){return ti(t.getMinutes(),e,2)}function Fi(t,e){return ti(t.getSeconds(),e,2)}function $i(t){var e=t.getDay();return 0===e?7:e}function Ni(t,e){return ti(gn.count(er(t)-1,t),e,2)}function Ti(t,e){var n=t.getDay();return t=n>=4||0===n?bn(t):bn.ceil(t),ti(bn.count(er(t),t)+(4===er(t).getDay()),e,2)}function zi(t){return t.getDay()}function Ri(t,e){return ti(mn.count(er(t)-1,t),e,2)}function Pi(t,e){return ti(t.getFullYear()%100,e,2)}function Li(t,e){return ti(t.getFullYear()%1e4,e,4)}function Bi(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+ti(e/60|0,"0",2)+ti(e%60,"0",2)}function Ii(t,e){return ti(t.getUTCDate(),e,2)}function Ui(t,e){return ti(t.getUTCHours(),e,2)}function qi(t,e){return ti(t.getUTCHours()%12||12,e,2)}function Wi(t,e){return ti(1+On.count(hr(t),t),e,3)}function Hi(t,e){return ti(t.getUTCMilliseconds(),e,3)}function Yi(t,e){return Hi(t,e)+"000"}function Gi(t,e){return ti(t.getUTCMonth()+1,e,2)}function Vi(t,e){return ti(t.getUTCMinutes(),e,2)}function Zi(t,e){return ti(t.getUTCSeconds(),e,2)}function Xi(t){var e=t.getUTCDay();return 0===e?7:e}function Ji(t,e){return ti(kn.count(hr(t)-1,t),e,2)}function Qi(t,e){var n=t.getUTCDay();return t=n>=4||0===n?Dn(t):Dn.ceil(t),ti(Dn.count(hr(t),t)+(4===hr(t).getUTCDay()),e,2)}function Ki(t){return t.getUTCDay()}function to(t,e){return ti(An.count(hr(t)-1,t),e,2)}function eo(t,e){return ti(t.getUTCFullYear()%100,e,2)}function no(t,e){return ti(t.getUTCFullYear()%1e4,e,4)}function ro(){return"+0000"}function io(){return"%"}function oo(t){return+t}function ao(t){return Math.floor(+t/1e3)}function so(t,e,n){n=n||{},Object(K.F)(n)||Object(K.n)(`Invalid time multi-format specifier: ${n}`);const r=e(Ke),i=e(Qe),o=e(Je),a=e(Ve),s=e(Ge),u=e(Ye),l=e(He),c=e(We),f=t(n[tn]||".%L"),d=t(n[Ke]||":%S"),h=t(n[Qe]||"%I:%M"),p=t(n[Je]||"%I %p"),g=t(n[Ve]||n[Ze]||"%a %d"),m=t(n[Ge]||"%b %d"),v=t(n[Ye]||"%B"),y=t(n[He]||"%B"),b=t(n[We]||"%Y");return t=>(r(t)Object(K.H)(t)?e(t):so(e,wr,t),utcFormat:t=>Object(K.H)(t)?n(t):so(n,Or,t),timeParse:he(t.parse),utcParse:he(t.utcParse)}}let lo;function co(){return lo=uo({format:Yr,parse:Gr,utcFormat:Vr,utcParse:Zr})}function fo(t){return uo(Wr(t))}function ho(t){return arguments.length?lo=fo(t):lo}!function(t){Hr=Wr(t),Yr=Hr.format,Gr=Hr.parse,Vr=Hr.utcFormat,Zr=Hr.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","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"]}),co();const po=(t,e)=>Object(K.o)({},t,e);function go(t,e){const n=t?Ue(t):qe(),r=e?fo(e):ho();return po(n,r)}function mo(t,e){const n=arguments.length;return n&&2!==n&&Object(K.n)("defaultLocale expects either zero or two arguments."),n?po(qe(t),ho(e)):po(qe(),ho())}function vo(){return Ie(),co(),mo()}var yo=function(t,e,n,r){const i=fe((e=e||{}).type||"json");return i||Object(K.n)("Unknown data format type: "+e.type),t=i(t,e),e.parse&&function(t,e,n,r){if(!t.length)return;const i=ho();n=n||i.timeParse,r=r||i.utcParse;var o,a,s,u,l,c,f,d=t.columns||Object.keys(t[0]);"auto"===e&&(e=Pt(t,d));for(d=Object.keys(e),o=d.map(function(t){var i,o,a=e[t];if(a&&(a.startsWith("date:")||a.startsWith("utc:")))return("'"===(o=(i=a.split(/:(.+)?/,2))[1])[0]&&"'"===o[o.length-1]||'"'===o[0]&&'"'===o[o.length-1])&&(o=o.slice(1,-1)),("utc"===i[0]?r:n)(o);if(!Nt[a])throw Error("Illegal format pattern: "+t+":"+a);return Nt[a]}),u=0,c=t.length,f=d.length;ut.touch(n(e))):Object(K.D)(r)?(s=new bt(null,r,i,!1),a=(e=>{s.evaluate(e);const r=n(e),i=s.value;dt(i)?t.pulse(r,i,o):t.update(r,i,u)})):a=(e=>t.update(n(e),r,u)),e.apply(a)}function wo(t,e,n,r,i,o){if(void 0===r)e.targets().add(n);else{const a=o||{},s=new bt(null,function(t,e){return e=Object(K.D)(e)?e:Object(K.l)(e),t?function(n,r){const i=e(n,r);return t.skip()||(t.skip(i!==this.value).value=i),i}:e}(n,r),i,!1);s.modified(a.force),s.rank=e.rank,e.targets().add(s),n&&(s.skip(!0),s.value=n.value,s.targets().add(n),t.connect(n,[s]))}}const Oo={};function jo(t,e,n){this.dataflow=t,this.stamp=null==e?-1:e,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}const ko=jo.prototype;function Ao(t,e){return t?(n,r)=>t(n,r)&&e(n,r):e}function Eo(t,e){var n=[];return Object(K.ib)(t,e,t=>n.push(t)),n}function So(t,e){var n={};return t.visit(e,function(t){n[ot(t)]=1}),t=>n[ot(t)]?null:t}function Do(t,e,n,r){var i,o,a,s,u,l=this,c=0;for(this.dataflow=t,this.stamp=e,this.fields=null,this.encode=r||null,this.pulses=n,a=0,s=n.length;ae[t]=!0):e[t]=!0,this},ko.modified=function(t,e){var n=this.fields;return!(!e&&!this.mod.length||!n)&&(arguments.length?Object(K.A)(t)?t.some(t=>n[t]):n[t]:!!n)},ko.filter=function(t,e){var n=this;return 1&t&&(n.addF=Ao(n.addF,e)),2&t&&(n.remF=Ao(n.remF,e)),4&t&&(n.modF=Ao(n.modF,e)),16&t&&(n.srcF=Ao(n.srcF,e)),n},ko.materialize=function(t){var e=this;return 1&(t=t||7)&&e.addF&&(e.add=Eo(e.add,e.addF),e.addF=null),2&t&&e.remF&&(e.rem=Eo(e.rem,e.remF),e.remF=null),4&t&&e.modF&&(e.mod=Eo(e.mod,e.modF),e.modF=null),16&t&&e.srcF&&(e.source=e.source.filter(e.srcF),e.srcF=null),e},ko.visit=function(t,e){var n,r,i=this,o=e;return 16&t?(Object(K.ib)(i.source,i.srcF,o),i):(1&t&&Object(K.ib)(i.add,i.addF,o),2&t&&Object(K.ib)(i.rem,i.remF,o),4&t&&Object(K.ib)(i.mod,i.modF,o),8&t&&(n=i.source)&&((r=i.add.length+i.mod.length)===n.length||(r?Object(K.ib)(n,So(i,5),o):Object(K.ib)(n,i.srcF,o))),i)};var Co=Object(K.y)(Do,jo);function Mo(t){return t.error("Dataflow already running. Use runAsync() to chain invocations."),t}Co.fork=function(t){var e=new jo(this.dataflow).init(this,t&this.NO_FIELDS);return void 0!==t&&(t&e.ADD&&this.visit(e.ADD,function(t){return e.add.push(t)}),t&e.REM&&this.visit(e.REM,function(t){return e.rem.push(t)}),t&e.MOD&&this.visit(e.MOD,function(t){return e.mod.push(t)})),e},Co.changed=function(t){return this.changes&t},Co.modified=function(t){var e=this,n=e.fields;return n&&e.changes&e.MOD?Object(K.A)(t)?t.some(function(t){return n[t]}):n[t]:0},Co.filter=function(){Object(K.n)("MultiPulse does not support filtering.")},Co.materialize=function(){Object(K.n)("MultiPulse does not support materialization.")},Co.visit=function(t,e){var n=this,r=n.pulses,i=r.length,o=0;if(t&n.SOURCE)for(;oe=[],size:()=>e.length,peek:()=>e[0],push:n=>(e.push(n),No(e,0,e.length-1,t)),pop:()=>{var n,r=e.pop();return e.length?(n=e[0],e[0]=r,function(t,e,n){var r,i=e,o=t.length,a=t[e],s=1+(e<<1);for(;s=0&&(s=r),t[e]=t[s],s=1+((e=s)<<1);t[e]=a,No(t,i,e,n)}(e,0,t)):n=r,n}}}function No(t,e,n,r){var i,o,a;for(i=t[n];n>e&&r(i,o=t[a=n-1>>1])<0;)t[n]=o,n=a;return t[n]=i}function To(){this.logger(Object(K.K)()),this.logLevel(K.b),this._clock=0,this._rank=0,this._locale=mo();try{this._loader=bo()}catch(t){}this._touched=tt(K.w),this._input={},this._pulse=null,this._heap=$o((t,e)=>t.qrank-e.qrank),this._postrun=[]}var zo=To.prototype;function Ro(t){return function(){return this._log[t].apply(this,arguments)}}function Po(t,e){bt.call(this,t,null,e)}zo.stamp=function(){return this._clock},zo.loader=function(t){return arguments.length?(this._loader=t,this):this._loader},zo.locale=function(t){return arguments.length?(this._locale=t,this):this._locale},zo.cleanThreshold=1e4,zo.add=function(t,e,n,r){var i,o=1;return t instanceof bt?i=t:t&&t.prototype instanceof bt?i=new t:Object(K.D)(t)?i=new bt(null,t):(o=0,i=new bt(t,e)),this.rank(i),o&&(r=n,n=e),n&&this.connect(i,i.parameters(n,r)),this.touch(i),i},zo.connect=function(t,e){var n,r,i=t.rank;for(n=0,r=e.length;n=0;)i.push(e=n[r]),e===t&&Object(K.n)("Cycle detected in dataflow graph.")},zo.pulse=function(t,e,n){this.touch(t,n||Fo);var r=new jo(this,this._clock+(this._pulse?0:1)),i=t.pulse&&t.pulse.source||[];return r.target=t,this._input[t.id]=e.pulse(r,i),this},zo.touch=function(t,e){var n=e||Fo;return this._pulse?this._enqueue(t):this._touched.add(t),n.skip&&t.skip(!0),this},zo.update=function(t,e,n){var r=n||Fo;return(t.set(e)||r.force)&&this.touch(t,r),this},zo.changeset=ht,zo.ingest=function(t,e,n){return e=this.parse(e,n),this.pulse(t,this.changeset().insert(e))},zo.parse=function(t,e){const n=this.locale();return yo(t,e,n.timeParse,n.utcParse)},zo.preload=async function(t,e,n){const r=this,i=r._pending||function(t){var e,n=new Promise(function(t){e=t});return n.requests=0,n.done=function(){0==--n.requests&&(t._pending=null,e(t))},t._pending=n}(r);i.requests+=1;const o=await r.request(e,n);return r.pulse(t,r.changeset().remove(K.gb).insert(o.data||[])),i.done(),o},zo.request=async function(t,e){const n=this;let r,i=0;try{r=await n.loader().load(t,{context:"dataflow",response:de(e&&e.type)});try{r=n.parse(r,e)}catch(e){i=-2,n.warn("Data ingestion failed",t,e)}}catch(e){i=-1,n.warn("Loading failed",t,e)}return{data:r,status:i}},zo.events=function(t,e,n,r){for(var i,o=this,a=jt(n,r),s=function(t){t.dataflow=o;try{a.receive(t)}catch(t){o.error(t)}finally{o.run()}},u=0,l=(i="string"==typeof t&&"undefined"!=typeof document?document.querySelectorAll(t):Object(K.i)(t)).length;ur._enqueue(t,!0)),r._touched=tt(K.w);let a,s,u,l=0;try{for(;r._heap.size()>0;)(a=r._heap.pop()).rank===a.qrank?((s=a.run(r._getPulse(a,t))).then?s=await s:s.async&&(i.push(s.async),s=Oo),s!==Oo&&a._targets&&a._targets.forEach(t=>r._enqueue(t)),++l):r._enqueue(a,!0)}catch(t){r._heap.clear(),u=t}if(r._input={},r._pulse=null,r.debug(`Pulse ${o}: ${l} operators`),u&&(r._postrun=[],r.error(u)),r._postrun.length){const t=r._postrun.sort((t,e)=>e.priority-t.priority);r._postrun=[];for(let e=0;er.runAsync(null,()=>{t.forEach(t=>{try{t(r)}catch(t){r.error(t)}})})),r},zo.run=function(t,e,n){return this._pulse?Mo(this):(this.evaluate(t,e,n),this)},zo.runAsync=async function(t,e,n){for(;this._running;)await this._running;const r=()=>this._running=null;return(this._running=this.evaluate(t,e,n)).then(r,r),this._running},zo.runAfter=function(t,e,n){if(this._pulse||e)this._postrun.push({priority:n||0,callback:t});else try{t(this)}catch(t){this.error(t)}},zo._enqueue=function(t,e){var n=t.stampt.pulse),e):this._input[t.id]||function(t,e){return e&&e.stamp===t.stamp?e:(t=t.fork(),e&&e!==Oo&&(t.source=e.source),t)}(this._pulse,n&&n.pulse)},zo.logger=function(t){return arguments.length?(this._log=t,this):this._log},zo.error=Ro("error"),zo.warn=Ro("warn"),zo.info=Ro("info"),zo.debug=Ro("debug"),zo.logLevel=Ro("level");var Lo=Object(K.y)(Po,bt);Lo.run=function(t){return t.stampthis.pulse=t):e!==t.StopPropagation&&(this.pulse=e),e);var e},Lo.evaluate=function(t){var e=this.marshall(t.stamp),n=this.transform(e,t);return e.clear(),n},Lo.transform=function(){};var Bo={};function Io(t){var e=Uo(t);return e&&e.Definition||null}function Uo(t){return t=t&&t.toLowerCase(),Object(K.v)(Bo,t)?Bo[t]:null}function qo(t){return t&&t.length?1===t.length?t[0]:function(t){return function(e){for(var n=t.length,r=1,i=String(t[0](e));r{},Yo={init:Ho,add:Ho,rem:Ho,idx:0},Go={values:{init:t=>t.cell.store=!0,value:t=>t.cell.data.values(),idx:-1},count:{value:t=>t.cell.num},__count__:{value:t=>t.missing+t.valid},missing:{value:t=>t.missing},valid:{value:t=>t.valid},sum:{init:t=>t.sum=0,value:t=>t.sum,add:(t,e)=>t.sum+=+e,rem:(t,e)=>t.sum-=e},product:{init:t=>t.product=1,value:t=>t.valid?t.product:void 0,add:(t,e)=>t.product*=e,rem:(t,e)=>t.product/=e},mean:{init:t=>t.mean=0,value:t=>t.valid?t.mean:void 0,add:(t,e)=>(t.mean_d=e-t.mean,t.mean+=t.mean_d/t.valid),rem:(t,e)=>(t.mean_d=e-t.mean,t.mean-=t.valid?t.mean_d/t.valid:t.mean)},average:{value:t=>t.valid?t.mean:void 0,req:["mean"],idx:1},variance:{init:t=>t.dev=0,value:t=>t.valid>1?t.dev/(t.valid-1):void 0,add:(t,e)=>t.dev+=t.mean_d*(e-t.mean),rem:(t,e)=>t.dev-=t.mean_d*(e-t.mean),req:["mean"],idx:1},variancep:{value:t=>t.valid>1?t.dev/t.valid:void 0,req:["variance"],idx:2},stdev:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:t=>t.valid>1?Math.sqrt(t.dev/t.valid):void 0,req:["variance"],idx:2},stderr:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid*(t.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:t=>t.cell.data.distinct(t.get),req:["values"],idx:3},ci0:{value:t=>t.cell.data.ci0(t.get),req:["values"],idx:3},ci1:{value:t=>t.cell.data.ci1(t.get),req:["values"],idx:3},median:{value:t=>t.cell.data.q2(t.get),req:["values"],idx:3},q1:{value:t=>t.cell.data.q1(t.get),req:["values"],idx:3},q3:{value:t=>t.cell.data.q3(t.get),req:["values"],idx:3},min:{init:t=>t.min=void 0,value:t=>t.min=Number.isNaN(t.min)?t.cell.data.min(t.get):t.min,add:(t,e)=>{(e{e<=t.min&&(t.min=NaN)},req:["values"],idx:4},max:{init:t=>t.max=void 0,value:t=>t.max=Number.isNaN(t.max)?t.cell.data.max(t.get):t.max,add:(t,e)=>{(e>t.max||void 0===t.max)&&(t.max=e)},rem:(t,e)=>{e>=t.max&&(t.max=NaN)},req:["values"],idx:4},argmin:{init:t=>t.argmin=void 0,value:t=>t.argmin||t.cell.data.argmin(t.get),add:(t,e,n)=>{e{e<=t.min&&(t.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:t=>t.argmax=void 0,value:t=>t.argmax||t.cell.data.argmax(t.get),add:(t,e,n)=>{e>t.max&&(t.argmax=n)},rem:(t,e)=>{e>=t.max&&(t.argmax=void 0)},req:["max","values"],idx:3}},Vo=Object.keys(Go);function Zo(t,e){return Go[t](e)}function Xo(t,e){return t.idx-e.idx}function Jo(){this.valid=0,this.missing=0,this._ops.forEach(t=>t.init(this))}function Qo(t,e){null!=t&&""!==t?t==t&&(++this.valid,this._ops.forEach(n=>n.add(this,t,e))):++this.missing}function Ko(t,e){null!=t&&""!==t?t==t&&(--this.valid,this._ops.forEach(n=>n.rem(this,t,e))):--this.missing}function ta(t){return this._out.forEach(e=>t[e.out]=e.value(this)),t}function ea(t,e){var n=e||K.x,r=function(t){const e={};t.forEach(t=>e[t.name]=t);const n=t=>{t.req&&t.req.forEach(t=>{e[t]||n(e[t]=Go[t]())})};return t.forEach(n),Object.values(e).sort(Xo)}(t),i=t.slice().sort(Xo);function o(t){this._ops=r,this._out=i,this.cell=t,this.init()}return o.prototype.init=Jo,o.prototype.add=Qo,o.prototype.rem=Ko,o.prototype.set=ta,o.prototype.get=n,o.fields=t.map(t=>t.out),o}Vo.forEach(t=>{Go[t]=function(t,e){return n=>Object(K.o)({name:t,out:n||t},Yo,e)}(t,Go[t])});var na=function*(t,e){if(null==e)for(let e of t)null!=e&&""!==e&&(e=+e)>=e&&(yield e);else{let n=-1;for(let r of t)null!=(r=e(r,++n,t))&&""!==r&&(r=+r)>=r&&(yield r)}};function ra(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n=i)&&(n=i)}return n}function ia(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function oa(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}var aa=function(t){return null===t?NaN:+t};function sa(t,e,n){if(r=(t=Float64Array.from(function*(t,e){if(void 0===e)for(let e of t)null!=e&&(e=+e)>=e&&(yield e);else{let n=-1;for(let r of t)null!=(r=e(r,++n,t))&&(r=+r)>=r&&(yield r)}}(t,n))).length){if((e=+e)<=0||r<2)return ia(t);if(e>=1)return ra(t);var r,i=(r-1)*e,o=Math.floor(i),a=ra(function t(e,n,r=0,i=e.length-1,o=Cr){for(;i>r;){if(i-r>600){const a=i-r+1,s=n-r+1,u=Math.log(a),l=.5*Math.exp(2*u/3),c=.5*Math.sqrt(u*l*(a-l)/a)*(s-a/2<0?-1:1);t(e,n,Math.max(r,Math.floor(n-s*l/a+c)),Math.min(i,Math.floor(n+(a-s)*l/a+c)),o)}const a=e[n];let s=r,u=i;for(oa(e,r,n),o(e[i],a)>0&&oa(e,r,i);s0;)--u}0===o(e[r],a)?oa(e,r,u):oa(e,++u,i),u<=n&&(r=u+1),n<=u&&(i=u-1)}return e}(t,o).subarray(0,o+1));return a+(ia(t.subarray(o+1))-a)*(i-o)}}var ua=function(t,e,n){var r=Float64Array.from(na(t,n));return r.sort(Cr),e.map(t=>(function(t,e,n=aa){if(r=t.length){if((e=+e)<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,o=Math.floor(i),a=+n(t[o],o,t);return a+(+n(t[o+1],o+1,t)-a)*(i-o)}})(r,t))},la=function(t,e){return ua(t,[.25,.5,.75],e)};var ca=function(t,e){var n=t.length,r=function(t,e){const n=function(t,e){let n,r=0,i=0,o=0;if(void 0===e)for(let e of t)null!=e&&(e=+e)>=e&&(o+=(n=e-i)*(e-(i+=n/++r)));else{let a=-1;for(let s of t)null!=(s=e(s,++a,t))&&(s=+s)>=s&&(o+=(n=s-i)*(s-(i+=n/++r)))}if(r>1)return o/(r-1)}(t,e);return n?Math.sqrt(n):n}(t,e),i=la(t,e),o=(i[2]-i[0])/1.34;return 1.06*(r=Math.min(r,o)||r||Math.abs(i[0])||1)*Math.pow(n,-.2)},fa=function(t){var e,n,r,i,o,a,s,u,l=t.maxbins||20,c=t.base||10,f=Math.log(c),d=t.divide||[5,2],h=t.extent[0],p=t.extent[1],g=t.span||p-h||Math.abs(h)||1;if(t.step)e=t.step;else if(t.steps){for(o=g/l,a=0,s=t.steps.length;al;)e*=c;for(a=0,s=d.length;a=r&&g/o<=l&&(e=o)}return i=(o=Math.log(e))>=0?0:1+~~(-o/f),u=Math.pow(c,-i-1),(t.nice||void 0===t.nice)&&(h=h<(o=Math.floor(h/e+u)*e)?o-e:o,p=Math.ceil(p/e)*e),{start:h,stop:p===h?h+e:p,step:e}},da=Math.random;function ha(t){da=t}var pa=function(t,e,n,r){if(!t.length)return[void 0,void 0];var i,o,a,s,u=Float64Array.from(na(t,r)),l=u.length,c=e;for(a=0,s=Array(c);at);let i,o=0,a=1,s=t.length,u=new Float64Array(s),l=r(t[0]),c=l,f=l+e;for(;a=f){for(c=(l+c)/2;o>1);ra;)t[r--]=t[o]}o=a,a=n}return t}(u,e+e/4):u};var ma=function(t){return function(){return(t=(1103515245*t+12345)%2147483647)/2147483647}},va=function(t,e){null==e&&(e=t,t=0);var n,r,i,o={};return o.min=function(t){return arguments.length?(i=r-(n=t||0),o):n},o.max=function(t){return arguments.length?(i=(r=t||0)-n,o):r},o.sample=function(){return n+Math.floor(i*da())},o.pdf=function(t){return t===Math.floor(t)&&t>=n&&t=r?1:(e-n+1)/i},o.icdf=function(t){return t>=0&&t<=1?n-1+Math.floor(t*i):NaN},o.min(t).max(e)};const ya=Math.sqrt(2*Math.PI),ba=Math.SQRT2;let xa=NaN;function _a(t,e){t=t||0,e=null==e?1:e;let n,r,i=0,o=0;if(xa==xa)i=xa,xa=NaN;else{do{n=(i=2*da()-1)*i+(o=2*da()-1)*o}while(0===n||n>1);i*=r=Math.sqrt(-2*Math.log(n)/n),xa=o*r}return t+i*e}function wa(t,e,n){n=null==n?1:n;const r=(t-(e||0))/n;return Math.exp(-.5*r*r)/(n*ya)}function Oa(t,e,n){let r,i=(t-(e=e||0))/(n=null==n?1:n),o=Math.abs(i);if(o>37)r=0;else{let t,e=Math.exp(-o*o/2);o<7.07106781186547?(r=e*(t=(t=(t=(t=(t=(t=.0352624965998911*o+.700383064443688)*o+6.37396220353165)*o+33.912866078383)*o+112.079291497871)*o+221.213596169931)*o+220.206867912376),r/=t=(t=(t=(t=(t=(t=(t=.0883883476483184*o+1.75566716318264)*o+16.064177579207)*o+86.7807322029461)*o+296.564248779674)*o+637.333633378831)*o+793.826512519948)*o+440.413735824752):r=e/(t=o+1/(t=o+2/(t=o+3/(t=o+4/(t=o+.65)))))/2.506628274631}return i>0?1-r:r}function ja(t,e,n){return t<0||t>1?NaN:(e||0)+(null==n?1:n)*ba*function(t){let e,n=-Math.log((1-t)*(1+t));n<6.25?e=1.6536545626831027+(e=.24015818242558962+(e=(e=(e=.00018673420803405714+(e=(e=(e=4.2347877827932404e-7+(e=(e=(e=1.0512122733215323e-9+(e=(e=(e=2.6335093153082323e-12+(e=(e=(e=6.637638134358324e-15+(e=2.0972767875968562e-17+(e=(e=1.1157877678025181e-17+(e=1.28584807152564e-18+(e=(e=-3.64441206401782e-21)*(n-=3.125)-1.6850591381820166e-19)*n)*n)*n-1.333171662854621e-16)*n)*n)*n-4.054566272975207e-14)*n-8.151934197605472e-14)*n)*n-1.2975133253453532e-11)*n-5.415412054294628e-11)*n)*n-4.112633980346984e-9)*n-2.9070369957882005e-8)*n)*n-13654692000834679e-22)*n-13882523362786469e-21)*n)*n-.000740702534166267)*n-.006033670871430149)*n)*n:n<16?(n=Math.sqrt(n)-3.25,e=3.0838856104922208+(e=1.0052589676941592+(e=.005370914553590064+(e=(e=.002491442096107851+(e=(e=.0009532893797373805+(e=(e=24031110387097894e-21+(e=6828485145957318e-20+(e=(e=12475304481671779e-21+(e=29234449089955446e-22+(e=(e=15027403968909828e-22+(e=1.8239629214389228e-8+(e=(e=9.075656193888539e-8+(e=2.2137376921775787e-9)*n)*n-2.7517406297064545e-7)*n)*n)*n-4013867526981546e-21)*n)*n)*n-47318229009055734e-21)*n)*n)*n-.0003550375203628475)*n)*n-.0016882755560235047)*n)*n-.003751208507569241)*n)*n)*n):Number.isFinite(n)?(n=Math.sqrt(n)-5,e=4.849906401408584+(e=1.0103004648645344+(e=(e=(e=7599527703001776e-20+(e=(e=4526062597223154e-21+(e=(e=2.2900482228026655e-7+(e=(e=2.914795345090108e-8+(e=(e=7.61570120807834e-9+(e=(e=1.5076572693500548e-9+(e=(e=-2.7109920616438573e-11)*n-2.555641816996525e-10)*n)*n-3.789465440126737e-9)*n)*n-1.496002662714924e-8)*n)*n-6.771199775845234e-8)*n)*n-9.9298272942317e-7)*n)*n-1968177810553167e-20)*n)*n-.00021503011930044477)*n-.00013871931833623122)*n)*n):e=1/0;return e*t}(2*t-1)}var ka=function(t,e){var n,r,i={mean:function(t){return arguments.length?(n=t||0,i):n},stdev:function(t){return arguments.length?(r=null==t?1:t,i):r},sample:()=>_a(n,r),pdf:t=>wa(t,n,r),cdf:t=>Oa(t,n,r),icdf:t=>ja(t,n,r)};return i.mean(t).stdev(e)},Aa=function(t,e){var n=ka(),r={},i=0;return r.data=function(n){return arguments.length?(t=n,i=n?n.length:0,r.bandwidth(e)):t},r.bandwidth=function(n){return arguments.length?(!(e=n)&&t&&(e=ca(t)),r):e},r.sample=function(){return t[~~(da()*i)]+e*n.sample()},r.pdf=function(r){for(var o=0,a=0;aEa(n,r),pdf:t=>Sa(t,n,r),cdf:t=>Da(t,n,r),icdf:t=>Ca(t,n,r)};return i.mean(t).stdev(e)},Fa=function(t,e){var n,r={},i=0;return r.weights=function(t){return arguments.length?(n=function(t){var e,n=[],r=0;for(e=0;e=e&&t<=n?1/(n-e):0}function Ta(t,e,n){return null==n&&(n=null==e?1:e,e=0),tn?1:(t-e)/(n-e)}function za(t,e,n){return null==n&&(n=null==e?1:e,e=0),t>=0&&t<=1?e+t*(n-e):NaN}var Ra=function(t,e){var n,r,i={min:function(t){return arguments.length?(n=t||0,i):n},max:function(t){return arguments.length?(r=null==t?1:t,i):r},sample:()=>$a(n,r),pdf:t=>Na(t,n,r),cdf:t=>Ta(t,n,r),icdf:t=>za(t,n,r)};return null==e&&(e=null==t?1:t,t=0),i.min(t).max(e)},Pa=function(t,e,n,r){const i=r-t*t,o=Math.abs(i)<1e-24?0:(n-t*e)/i;return[e-o*t,o]};function La(t,e,n,r){t=t.filter(t=>{let r=e(t),i=n(t);return null!=r&&(r=+r)>=r&&null!=i&&(i=+i)>=i}),r&&t.sort((t,n)=>e(t)-e(n));const i=t.length,o=new Float64Array(i),a=new Float64Array(i);let s,u,l,c=0,f=0,d=0;for(l of t)o[c]=s=+e(l),a[c]=u=+n(l),f+=(s-f)/++c,d+=(u-d)/c;for(c=0;c=i&&null!=o&&(o=+o)>=o&&r(i,o,++a)}var Ia=function(t,e,n,r,i){let o=0,a=0;return Ba(t,e,n,(t,e)=>{const n=e-i(t),s=e-r;o+=n*n,a+=s*s}),1-o/a},Ua=function(t,e,n){let r=0,i=0,o=0,a=0,s=0;Ba(t,e,n,(t,e)=>{r+=(t-r)/++s,i+=(e-i)/s,o+=(t*e-o)/s,a+=(t*t-a)/s});const u=Pa(r,i,o,a),l=t=>u[0]+u[1]*t;return{coef:u,predict:l,rSquared:Ia(t,e,n,i,l)}},qa=function(t,e,n){let r=0,i=0,o=0,a=0,s=0;Ba(t,e,n,(t,e)=>{++s,t=Math.log(t),r+=(t-r)/s,i+=(e-i)/s,o+=(t*e-o)/s,a+=(t*t-a)/s});const u=Pa(r,i,o,a),l=t=>u[0]+u[1]*Math.log(t);return{coef:u,predict:l,rSquared:Ia(t,e,n,i,l)}},Wa=function(t,e,n){const[r,i,o,a]=La(t,e,n);let s,u,l,c=0,f=0,d=0,h=0,p=0;Ba(t,e,n,(t,e)=>{s=r[p++],u=Math.log(e),c+=(e*u-c)/p,f+=((l=s*e)-f)/p,d+=(l*u-d)/p,h+=(s*l-h)/p});const[g,m]=Pa(f/a,c/a,d/a,h/a),v=t=>Math.exp(g+m*(t-o));return{coef:[Math.exp(g-m*o),m],predict:v,rSquared:Ia(t,e,n,a,v)}},Ha=function(t,e,n){let r=0,i=0,o=0,a=0,s=0,u=0;Ba(t,e,n,(t,e)=>{const n=Math.log(t),l=Math.log(e);r+=(n-r)/++u,i+=(l-i)/u,o+=(n*l-o)/u,a+=(n*n-a)/u,s+=(e-s)/u});const l=Pa(r,i,o,a),c=t=>l[0]*Math.pow(t,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:Ia(t,e,n,s,c)}},Ya=function(t,e,n){const[r,i,o,a]=La(t,e,n),s=r.length;let u,l,c,f,d=0,h=0,p=0,g=0,m=0;for(u=0;ub*(t-=o)*t+x*t+_+a;return{coef:[_-x*o+b*o*o+a,x-2*b*o,b],predict:w,rSquared:Ia(t,e,n,a,w)}},Ga=function(t,e,n,r){if(1===r)return Ua(t,e,n);if(2===r)return Ya(t,e,n);const[i,o,a,s]=La(t,e,n),u=i.length,l=[],c=[],f=r+1;let d,h,p,g,m;for(d=0;dMath.abs(t[r][a])&&(a=i);for(o=r;o=r;o--)t[o][i]-=t[o][r]*t[r][i]/t[r][r]}for(i=e-1;i>=0;--i){for(s=0,o=i+1;o{t-=a;let e=s+v[0]+v[1]*t+v[2]*t*t;for(d=3;d=0;--o)for(s=e[o],u=1,i[o]+=s,a=1;a<=o;++a)u*=(o+1-a)/a,i[o-a]+=s*Math.pow(n,a)*u;return i[0]+=r,i}(f,v,-a,s),predict:y,rSquared:Ia(t,e,n,s,y)}};var Va=function(t,e){return sa(t,.5,e)};var Za=function(t,e,n,r){const[i,o,a,s]=La(t,e,n,!0),u=i.length,l=Math.max(2,~~(r*u)),c=new Float64Array(u),f=new Float64Array(u),d=new Float64Array(u).fill(1);for(let t=-1;++t<=2;){const e=[0,l-1];for(let t=0;ti[a]-n?r:a;let u=0,l=0,h=0,p=0,g=0,m=1/Math.abs(i[s]-n||1);for(let t=r;t<=a;++t){const e=i[t],r=o[t],a=Xa(Math.abs(n-e)*m)*d[t],s=e*a;u+=a,l+=s,h+=r*a,p+=r*s,g+=e*s}const[v,y]=Pa(l/u,h/u,p/u,g/u);c[t]=v+y*n,f[t]=Math.abs(o[t]-c[t]),Ja(i,t+1,e)}if(2===t)break;const n=Va(f);if(Math.abs(n)<1e-12)break;for(let t,e,r=0;r=1?1e-12:(e=1-t*t)*e}return function(t,e,n,r){const i=t.length,o=[];let a,s=0,u=0,l=[];for(;s=t.length))for(;e>i&&t[o]-r<=r-t[i];)n[0]=++i,n[1]=o,++o}const Qa=.1*Math.PI/180;var Ka=function(t,e,n,r){n=n||25,r=Math.max(n,r||200);const i=e=>[e,t(e)],o=e[0],a=e[1],s=a-o,u=s/r,l=[i(o)],c=[];if(n===r){for(let t=1;t0;)c.push(i(o+t/n*s));let f=l[0],d=c[c.length-1];for(;d;){const t=i((f[0]+d[0])/2);t[0]-f[0]>=u&&ts(f,t,d)>Qa?c.push(t):(f=d,l.push(d),c.pop()),d=c[c.length-1]}return l};function ts(t,e,n){const r=Math.atan2(n[1]-t[1],n[0]-t[0]),i=Math.atan2(e[1]-t[1],e[0]-t[0]);return Math.abs(r-i)}function es(t){this._key=t?Object(K.t)(t):ot,this.reset()}var ns=es.prototype;function rs(t){Po.call(this,null,t),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}ns.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},ns.add=function(t){this._add.push(t)},ns.rem=function(t){this._rem.push(t)},ns.values=function(){if(this._get=null,0===this._rem.length)return this._add;var t,e,n,r=this._add,i=this._rem,o=this._key,a=r.length,s=i.length,u=Array(a-s),l={};for(t=0;t=0;)e=t(n[r])+"",Object(K.v)(i,e)||(i[e]=1,++o);return o},ns.extent=function(t){if(this._get!==t||!this._ext){var e=this.values(),n=Object(K.q)(e,t);this._ext=[e[n[0]],e[n[1]]],this._get=t}return this._ext},ns.argmin=function(t){return this.extent(t)[0]||{}},ns.argmax=function(t){return this.extent(t)[1]||{}},ns.min=function(t){var e=this.extent(t)[0];return null!=e?t(e):void 0},ns.max=function(t){var e=this.extent(t)[1];return null!=e?t(e):void 0},ns.quartile=function(t){return this._get===t&&this._q||(this._q=la(this.values(),t),this._get=t),this._q},ns.q1=function(t){return this.quartile(t)[0]},ns.q2=function(t){return this.quartile(t)[1]},ns.q3=function(t){return this.quartile(t)[2]},ns.ci=function(t){return this._get===t&&this._ci||(this._ci=pa(this.values(),1e3,.05,t),this._get=t),this._ci},ns.ci0=function(t){return this.ci(t)[0]},ns.ci1=function(t){return this.ci(t)[1]},rs.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Vo},{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"}]};var is=Object(K.y)(rs,Po);is.transform=function(t,e){var n=this,r=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=t.modified();return n.stamp=r.stamp,n.value&&(i||e.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(t):{},e.visit(e.SOURCE,t=>n.add(t))):(n.value=n.value||n.init(t),e.visit(e.REM,t=>n.rem(t)),e.visit(e.ADD,t=>n.add(t))),r.modifies(n._outputs),n._drop=!1!==t.drop,t.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),e.clean()&&n._drop&&r.clean(!0).runAfter(()=>this.clean()),n.changes(r)},is.cross=function(){var t=this,e=t.value,n=t._dnames,r=n.map(function(){return{}}),i=n.length;function o(t){var e,o,a,s;for(e in t)for(a=t[e].tuple,o=0;os?1/0:(e=Math.max(a,Math.min(e,s-o)),a+o*Math.floor(1e-14+(e-a)/o))};return u.start=a,u.stop=i.stop,u.step=o,this.value=Object(K.f)(u,Object(K.g)(r),t.name||"bin_"+Object(K.h)(r))};var ss=function(t,e,n){var r=t,i=e||[],o=n||[],a={},s=0;return{add:function(t){o.push(t)},remove:function(t){a[r(t)]=++s},size:function(){return i.length},data:function(t,e){return s&&(i=i.filter(function(t){return!a[r(t)]}),a={},s=0),e&&t&&i.sort(t),o.length&&(i=t?Object(K.M)(t,i,o.sort(t)):i.concat(o),o=[]),i}}};function us(t){Po.call(this,[],t)}function ls(t){bt.call(this,null,cs,t)}function cs(t){return this.value&&!t.modified()?this.value:Object(K.k)(t.fields,t.orders)}function fs(t){Po.call(this,null,t)}us.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},Object(K.y)(us,Po).transform=function(t,e){var n=e.fork(e.ALL),r=ss(ot,this.value,n.materialize(n.ADD).add),i=t.sort,o=e.changed()||i&&(t.modified("sort")||e.modified(i.fields));return n.visit(n.REM,r.remove),this.modified(o),this.value=n.source=r.data(ft(i),o),e.source&&e.source.root&&(this.value.root=e.source.root),n},Object(K.y)(ls,bt),fs.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"]}]};var ds=Object(K.y)(fs,Po);function hs(t){Po.call(this,null,t)}ds.transform=function(t,e){function n(e){return function(n){for(var r,i=function(t,e,n){switch(e){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase()}return t.match(n)}(s(n),t.case,o)||[],u=0,l=i.length;u{var e={};return e[s[0]]=t[0],e[s[1]]=t[1],st(e)});this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n};function Os(t){Po.call(this,null,t)}function js(t){bt.call(this,null,ks,t),this.modified(!0)}function ks(t){var e=t.expr;return this.value&&!t.modified("expr")?this.value:Object(K.f)(n=>e(n,t),Object(K.g)(e),Object(K.h)(e))}function As(t){Po.call(this,[void 0,void 0],t)}function Es(t,e){bt.call(this,t),this.parent=e,this.count=0}Os.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"}]},Object(K.y)(Os,Po).transform=function(t,e){if(this.value&&!t.modified()&&!e.changed())return e;const n=e.materialize(e.SOURCE).source,r=ws(e.source,t.groupby,K.x),i=t.smooth||!1,o=t.field,a=t.step||function(t,e){return Object(K.X)(Object(K.p)(t,e))/30}(n,o),s=ft((t,e)=>o(t)-o(e)),u=t.as||"bin",l=r.length;let c,f=1/0,d=-1/0,h=0;for(;hd&&(d=e),t[++c][u]=e}return this.value={start:f,stop:d,step:a},e.reflow(!0).modifies(u)},Object(K.y)(js,bt),As.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},Object(K.y)(As,Po).transform=function(t,e){var n,r=this.value,i=t.field,o=r[0],a=r[1];if(((n=e.changed()||e.modified(i.fields)||t.modified("field"))||null==o)&&(o=1/0,a=-1/0),e.visit(n?e.SOURCE:e.ADD,function(t){var e=Object(K.cb)(i(t));null!=e&&(ea&&(a=e))}),!Number.isFinite(o)||!Number.isFinite(a)){let t=Object(K.h)(i);t&&(t=` for field "${t}"`),e.dataflow.warn(`Infinite extent${t}: [${o}, ${a}]`),o=a=void 0}this.value=[o,a]};var Ss=Object(K.y)(Es,bt);function Ds(t){Po.call(this,{},t),this._keys=Object(K.s)();const e=this._targets=[];e.active=0,e.forEach=(t=>{for(let n=0,r=e.active;nthis.subflow(t,i,e);return this._group=t.group||{},this.initTargets(),e.visit(e.REM,t=>{const e=ot(t),n=o.get(e);void 0!==n&&(o.delete(e),s(n).rem(t))}),e.visit(e.ADD,t=>{const e=r(t);o.set(ot(t),e),s(e).add(t)}),a||e.modified(r.fields)?e.visit(e.MOD,t=>{const e=ot(t),n=o.get(e),i=r(t);n===i?s(i).mod(t):(o.set(e,i),s(n).rem(t),s(i).add(t))}):e.changed(e.MOD)&&e.visit(e.MOD,t=>{s(o.get(ot(t))).mod(t)}),a&&e.visit(e.REFLOW,t=>{const e=ot(t),n=o.get(e),i=r(t);n!==i&&(o.set(e,i),s(n).rem(t),s(i).add(t))}),e.clean()?n.runAfter(()=>{this.clean(),o.clean()}):o.empty>n.cleanThreshold&&n.runAfter(o.clean),e},Object(K.y)(Ms,bt),$s.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},Object(K.y)($s,Po).transform=function(t,e){var n=e.dataflow,r=this.value,i=e.fork(),o=i.add,a=i.rem,s=i.mod,u=t.expr,l=!0;function c(e){var n=ot(e),i=u(e,t),c=r.get(n);i&&c?(r.delete(n),o.push(e)):i||c?l&&i&&!c&&s.push(e):(r.set(n,1),a.push(e))}return e.visit(e.REM,function(t){var e=ot(t);r.has(e)?r.delete(e):a.push(t)}),e.visit(e.ADD,function(e){u(e,t)?o.push(e):r.set(ot(e),1)}),e.visit(e.MOD,c),t.modified()&&(l=!1,e.visit(e.REFLOW,c)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i},Ns.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}]},Object(K.y)(Ns,Po).transform=function(t,e){var n=e.fork(e.NO_SOURCE),r=t.fields,i=_s(r,t.as||[]),o=t.index||null,a=i.length;return n.rem=this.value,e.visit(e.SOURCE,function(t){for(var e,s,u,l=r.map(e=>e(t)),c=l.reduce((t,e)=>Math.max(t,e.length),0),f=0;fe[r]=n(e,t))},Object(K.y)(Rs,Po).transform=function(t,e){var n,r,i,o=this.value,a=e.fork(e.ALL),s=t.size-o.length,u=t.generator;if(s>0){for(n=[];--s>=0;)n.push(i=st(u(t))),o.push(i);a.add=a.add.length?a.materialize(a.ADD).add.concat(n):n}else r=o.slice(0,-s),a.rem=a.rem.length?a.materialize(a.REM).rem.concat(r):r,o=o.slice(-s);return a.source=this.value=o,a};var Ps={value:"value",median:Va,mean:function(t,e){let n=0,r=0;if(void 0===e)for(let e of t)null!=e&&(e=+e)>=e&&(++n,r+=e);else{let i=-1;for(let o of t)null!=(o=e(o,++i,t))&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n},min:ia,max:ra},Ls=[];function Bs(t){Po.call(this,[],t)}function Is(t){rs.call(this,t)}Bs.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}]},Object(K.y)(Bs,Po).transform=function(t,e){var n,r,i,o,a,s,u,l,c,f,d=e.fork(e.ALL),h=function(t){var e,n=t.method||Ps.value;if(null!=Ps[n])return n===Ps.value?(e=void 0!==t.value?t.value:0,function(){return e}):Ps[n];Object(K.n)("Unrecognized imputation method: "+n)}(t),p=function(t){var e=t.field;return function(t){return t?e(t):NaN}}(t),g=Object(K.h)(t.field),m=Object(K.h)(t.key),v=(t.groupby||[]).map(K.h),y=function(t,e,n,r){var i,o,a,s,u,l,c,f,d=function(t){return t(f)},h=[],p=r?r.slice():[],g={},m={};for(p.forEach(function(t,e){g[t]=e+1}),s=0,c=t.length;so&&(o=r[1]);return[i,o]}function Js(t){bt.call(this,null,Qs,t)}function Qs(t){return this.value&&!t.modified()?this.value:t.values.reduce(function(t,e){return t.concat(e)},[])}function Ks(t){Po.call(this,null,t)}function tu(t){rs.call(this,t)}Us.transform=function(t,e){var n,r=this,i=t.modified();return r.value&&(i||e.modified(r._inputs,!0))?(n=r.value=i?r.init(t):{},e.visit(e.SOURCE,function(t){r.add(t)})):(n=r.value=r.value||this.init(t),e.visit(e.REM,function(t){r.rem(t)}),e.visit(e.ADD,function(t){r.add(t)})),r.changes(),e.visit(e.SOURCE,function(t){Object(K.o)(t,n[r.cellkey(t)].tuple)}),e.reflow(i).modifies(this._outputs)},Us.changes=function(){var t,e,n=this._adds,r=this._mods;for(t=0,e=this._alen;t{const n=Aa(e,a)[s],r=t.counts?e.length:1,i=c||Object(K.p)(e);Ka(n,i,f,d).forEach(t=>{const n={};for(let t=0;t(this._pending=Object(K.i)(t.data),t=>t.touch(this)))}}return n.request(t.url,t.format).then(t=>Gs(this,e,Object(K.i)(t.data)))},Vs.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}]},Object(K.y)(Vs,Po).transform=function(t,e){var n,r,i=e,o=t.as,a=t.fields,s=t.index,u=t.values,l=null==t.default?null:t.default,c=t.modified(),f=c?e.SOURCE:e.ADD,d=a.length;return u?(r=u.length,d>1&&!o&&Object(K.n)('Multi-field lookup requires explicit "as" parameter.'),o&&o.length!==d*r&&Object(K.n)('The "as" parameter has too few output field names.'),o=o||u.map(K.h),n=function(t){for(var e,n,i=0,c=0;ie||null==e)&&null!=t?1:(e=e instanceof Date?+e:e,(t=t instanceof Date?+t:t)!==t&&e==e?-1:e!=e&&t==t?1:0)}),e?i.slice(0,e):i}(n,t.limit||0,e);e.changed()&&t.set("__pivot__",null,null,!0);return{key:t.key,groupby:t.groupby,ops:a.map(function(){return i}),fields:a.map(function(t){return function(t,e,n,r){return Object(K.f)(function(r){return e(r)===t?n(r):NaN},r,t+"")}(t,n,r,o)}),as:a.map(function(t){return t+""}),modified:t.modified.bind(t)}}(t,e),e)},Object(K.y)(nu,Ds).transform=function(t,e){const n=t.subflow,r=t.field,i=t=>this.subflow(ot(t),n,e,t);return(t.modified("field")||r&&e.modified(Object(K.g)(r)))&&Object(K.n)("PreFacet does not support field modification."),this.initTargets(),r?(e.visit(e.MOD,t=>{const e=i(t);r(t).forEach(t=>e.mod(t))}),e.visit(e.ADD,t=>{const e=i(t);r(t).forEach(t=>e.add(st(t)))}),e.visit(e.REM,t=>{const e=i(t);r(t).forEach(t=>e.rem(t))})):(e.visit(e.MOD,t=>i(t).mod(t)),e.visit(e.ADD,t=>i(t).add(t)),e.visit(e.REM,t=>i(t).rem(t))),e.clean()&&e.runAfter(()=>this.clean()),e},ru.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},Object(K.y)(ru,Po).transform=function(t,e){var n,r,i=t.fields,o=_s(t.fields,t.as||[]),a=i?function(t,e){return function(t,e,n,r){for(var i=0,o=n.length;i{const e=ua(t,u);for(let n=0;n{var e=ot(t);n.rem.push(r[e]),r[e]=null}),e.visit(e.ADD,t=>{var e=ut(t);r[ot(t)]=e,n.add.push(e)}),e.visit(e.MOD,t=>{var e,i=r[ot(t)];for(e in t)i[e]=t[e],n.modifies(e);n.mod.push(i)})),n},uu.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},Object(K.y)(uu,Po).transform=function(t,e){var n=e.fork(e.NO_SOURCE),r=t.modified("size"),i=t.size,o=this.value,a=this.count,s=0,u=o.reduce(function(t,e){return t[ot(e)]=1,t},{});function l(t){var e,r;o.length=s&&(e=o[r],u[ot(e)]&&n.rem.push(e),o[r]=t),++a}if(e.rem.length&&(e.visit(e.REM,function(t){var e=ot(t);u[e]&&(u[e]=-1,n.rem.push(t)),--a}),o=o.filter(function(t){return-1!==u[ot(t)]})),(e.rem.length||r)&&o.lengthi){for(var c=0,f=o.length-i;cf&&(f=i))}),o.start=c,o.stop=f,e.modifies(r?s:u)},hu._floor=function(t,e){const n="utc"===t.timezone;let{units:r,step:i}=t.units?{units:t.units,step:t.step||1}:Br({extent:t.extent||Object(K.p)(e.materialize(e.SOURCE).source,t.field),maxbins:t.maxbins});r=rn(r);const o=this.value||{},a=(n?Kn:Xn)(r,i);return a.unit=Object(K.U)(r),a.units=r,a.step=i,a.start=o.start,a.stop=o.stop,this.value=a},Object(K.y)(pu,Po).transform=function(t,e){var n=e.dataflow,r=t.field,i=this.value,o=!0;function a(t){i.set(r(t),t)}return t.modified("field")||e.modified(r.fields)?(i.clear(),e.visit(e.SOURCE,a)):e.changed()?(e.visit(e.REM,function(t){i.delete(r(t))}),e.visit(e.ADD,a)):o=!1,this.modified(o),i.empty>n.cleanThreshold&&n.runAfter(i.clean),e.fork()},Object(K.y)(gu,Po).transform=function(t,e){(!this.value||t.modified("field")||t.modified("sort")||e.changed()||t.sort&&e.modified(t.sort.fields))&&(this.value=(t.sort?e.source.slice().sort(ft(t.sort)):e.source).map(t.field))};const mu={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:e=>{let n=e.index,r=e.data;return n&&e.compare(r[n-1],r[n])?t=n+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:e=>{let n=e.index,r=e.data;return n&&e.compare(r[n-1],r[n])?++t:t}}},percent_rank:function(){let t=mu.rank(),e=t.next;return{init:t.init,next:t=>(e(t)-1)/(t.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:e=>{let n=e.index,r=e.data,i=e.compare;if(t0||Object(K.n)("ntile num must be greater than zero.");let n=mu.cume_dist(),r=n.next;return{init:n.init,next:t=>Math.ceil(e*r(t))}},lag:function(t,e){return e=+e||1,{next:n=>{let r=n.index-e;return r>=0?t(n.data[r]):null}}},lead:function(t,e){return e=+e||1,{next:n=>{let r=n.index+e,i=n.data;return rt(e.data[e.i0])}},last_value:function(t){return{next:e=>t(e.data[e.i1-1])}},nth_value:function(t,e){return(e=+e)>0||Object(K.n)("nth_value nth must be greater than zero."),{next:n=>{let r=n.i0+(e-1);return re=null,next:n=>{let r=t(n.data[n.index]);return null!=r?e=r:e}}},next_value:function(t){let e,n;return{init:()=>(e=null,n=-1),next:r=>{let i=r.data;return r.index<=n?e:(n=function(t,e,n){for(let r=e.length;nu[t]=1)}h(t.sort),n.forEach(function(t,e){let n=r[e],u=Object(K.h)(n),p=Wo(t,u,o[e]);if(h(n),a.push(p),Object(K.v)(mu,t))s.push(function(t,e,n,r){let i=mu[t](e,n);return{init:i.init||K.kb,update:function(t,e){e[r]=i.next(t)}}}(t,r[e],i[e],p));else{if(null==n&&"count"!==t&&Object(K.n)("Null aggregate field specified."),"count"===t)return void f.push(p);c=!1;let e=l[u];e||((e=l[u]=[]).field=n,d.push(e)),e.push(Zo(t,p))}}),(f.length||d.length)&&(e.cell=function(t,e,n){t=t.map(t=>ea(t,t.field));let r={num:0,agg:null,store:!1,count:e};if(!n)for(var i=t.length,o=r.agg=Array(i),a=0;at.init()),this.cell&&this.cell.init()},bu.update=function(t,e){let n,r=this.cell,i=this.windows,o=t.data,a=i&&i.length;if(r){for(n=t.p0;n0&&!i(o[n],o[n-1])&&(t.i0=e.left(o,o[n])),r0)for(var r,i=t[0],o=e[0],a=t[n]-i,s=e[n]-o,u=-1;++u<=n;)r=u/n,this._basis.point(this._beta*t[u]+(1-this._beta)*(i+r*a),this._beta*e[u]+(1-this._beta)*(o+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var xl=function t(e){function n(t){return 1===e?new gl(t):new bl(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function _l(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function wl(t,e){this._context=t,this._k=(1-e)/6}wl.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:_l(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:_l(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Ol=function t(e){function n(t){return new wl(t,e)}return n.tension=function(e){return t(+e)},n}(0);function jl(t,e){this._context=t,this._k=(1-e)/6}jl.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(t,e){switch(t=+t,e=+e,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:_l(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kl=function t(e){function n(t){return new jl(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Al(t,e){this._context=t,this._k=(1-e)/6}Al.prototype={areaStart:ml,areaEnd:ml,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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:_l(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var El=function t(e){function n(t){return new Al(t,e)}return n.tension=function(e){return t(+e)},n}(0),Sl=Math.abs,Dl=Math.atan2,Cl=Math.cos,Ml=Math.max,Fl=Math.min,$l=Math.sin,Nl=Math.sqrt,Tl=1e-12,zl=Math.PI,Rl=zl/2,Pl=2*zl;function Ll(t){return t>=1?Rl:t<=-1?-Rl:Math.asin(t)}function Bl(t,e,n){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>Tl){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Tl){var l=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*l+t._x1*t._l23_2a-e*t._l12_2a)/c,a=(a*l+t._y1*t._l23_2a-n*t._l12_2a)/c}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function Il(t,e){this._context=t,this._alpha=e}Il.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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Bl(this,t,e)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Ul=function t(e){function n(t){return e?new Il(t,e):new wl(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function ql(t,e){this._context=t,this._alpha=e}ql.prototype={areaStart:ml,areaEnd:ml,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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Bl(this,t,e)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Wl=function t(e){function n(t){return e?new ql(t,e):new Al(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Hl(t,e){this._context=t,this._alpha=e}Hl.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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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:Bl(this,t,e)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Yl=function t(e){function n(t){return e?new Hl(t,e):new jl(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Gl(t){this._context=t}Gl.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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var Vl=function(t){return new Gl(t)};function Zl(t){this._context=t}Zl.prototype={areaStart:ml,areaEnd:ml,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function Xl(t){return t<0?-1:1}function Jl(t,e,n){var r=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(n-t._y1)/(i||r<0&&-0),s=(o*i+a*r)/(r+i);return(Xl(o)+Xl(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function Ql(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Kl(t,e,n){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,s=(o-r)/3;t._context.bezierCurveTo(r+s,i+s*e,o-s,a-s*n,o,a)}function tc(t){this._context=t}function ec(t){this._context=new nc(t)}function nc(t){this._context=t}function rc(t){this._context=t}function ic(t){var e,n,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(a[e]-i[e+1])/o[e];for(o[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var ac={basis:{curve:function(t){return new gl(t)}},"basis-closed":{curve:function(t){return new vl(t)}},"basis-open":{curve:function(t){return new yl(t)}},bundle:{curve:xl,tension:"beta",value:.85},cardinal:{curve:Ol,tension:"tension",value:0},"cardinal-open":{curve:kl,tension:"tension",value:0},"cardinal-closed":{curve:El,tension:"tension",value:0},"catmull-rom":{curve:Ul,tension:"alpha",value:.5},"catmull-rom-closed":{curve:Wl,tension:"alpha",value:.5},"catmull-rom-open":{curve:Yl,tension:"alpha",value:.5},linear:{curve:Vl},"linear-closed":{curve:function(t){return new Zl(t)}},monotone:{horizontal:function(t){return new ec(t)},vertical:function(t){return new tc(t)}},natural:{curve:function(t){return new rc(t)}},step:{curve:function(t){return new oc(t,.5)}},"step-after":{curve:function(t){return new oc(t,1)}},"step-before":{curve:function(t){return new oc(t,0)}}};function sc(t,e,n){var r=Object(K.v)(ac,t)&&ac[t],i=null;return r&&(i=r.curve||r[e||"vertical"],r.tension&&null!=n&&(i=i[r.tension](n))),i}var uc={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},lc=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)([-+])/g,/\s|,|###/],cc=function(t){var e,n,r,i,o,a,s,u,l,c,f,d=[];for(u=0,c=(e=t.slice().replace(lc[0],"###$1").split(lc[1]).slice(1)).length;us)for(l=1,f=i.length;l1&&(n*=g=Math.sqrt(g),r*=g);var m=d/n,v=f/n,y=-f/r,b=d/r,x=m*s+v*u,_=y*s+b*u,w=m*t+v*e,O=y*t+b*e,j=1/((w-x)*(w-x)+(O-_)*(O-_))-.25;j<0&&(j=0);var k=Math.sqrt(j);o==i&&(k=-k);var A=.5*(x+w)-k*(O-_),E=.5*(_+O)+k*(w-x),S=Math.atan2(_-E,x-A),D=Math.atan2(O-E,w-A)-S;D<0&&1===o?D+=pc:D>0&&0===o&&(D-=pc);for(var C=Math.ceil(Math.abs(D/(hc+.001))),M=[],F=0;F1e-6)if(Math.abs(c*s-u*l)>1e-6&&i){var d=n-o,h=r-a,p=s*s+u*u,g=d*d+h*h,m=Math.sqrt(p),v=Math.sqrt(f),y=i*Math.tan((Ec-Math.acos((p+f-g)/(2*m*v)))/2),b=y/v,x=y/m;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*l)+","+(e+b*c)),this._+="A"+i+","+i+",0,0,"+ +(c*d>l*h)+","+(this._x1=t+x*s)+","+(this._y1=e+x*u)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,r,i,o){t=+t,e=+e,o=!!o;var a=(n=+n)*Math.cos(r),s=n*Math.sin(r),u=t+a,l=e+s,c=1^o,f=o?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+u+","+l:(Math.abs(this._x1-u)>1e-6||Math.abs(this._y1-l)>1e-6)&&(this._+="L"+u+","+l),n&&(f<0&&(f=f%Sc+Sc),f>Dc?this._+="A"+n+","+n+",0,1,"+c+","+(t-a)+","+(e-s)+"A"+n+","+n+",0,1,"+c+","+(this._x1=u)+","+(this._y1=l):f>1e-6&&(this._+="A"+n+","+n+",0,"+ +(f>=Ec)+","+c+","+(this._x1=t+n*Math.cos(i))+","+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var Fc=Mc;const $c=.448084975506;function Nc(t){return t.x}function Tc(t){return t.y}function zc(t){return t.width}function Rc(t){return t.height}function Pc(t){return"function"==typeof t?t:()=>+t}function Lc(t,e,n){return Math.max(e,Math.min(t,n))}var Bc=function(){var t=Nc,e=Tc,n=zc,r=Rc,i=Pc(0),o=i,a=i,s=i,u=null;function l(l,c,f){var d,h=null!=c?c:+t.call(this,l),p=null!=f?f:+e.call(this,l),g=+n.call(this,l),m=+r.call(this,l),v=Math.min(g,m)/2,y=Lc(+i.call(this,l),0,v),b=Lc(+o.call(this,l),0,v),x=Lc(+a.call(this,l),0,v),_=Lc(+s.call(this,l),0,v);if(u||(u=d=Fc()),y<=0&&b<=0&&x<=0&&_<=0)u.rect(h,p,g,m);else{var w=h+g,O=p+m;u.moveTo(h+y,p),u.lineTo(w-b,p),u.bezierCurveTo(w-$c*b,p,w,p+$c*b,w,p+b),u.lineTo(w,O-_),u.bezierCurveTo(w,O-$c*_,w-$c*_,O,w-_,O),u.lineTo(h+x,O),u.bezierCurveTo(h+$c*x,O,h,O-$c*x,h,O-x),u.lineTo(h,p+y),u.bezierCurveTo(h,p+$c*y,h+$c*y,p,h+y,p),u.closePath()}if(d)return u=null,d+""||null}return l.x=function(e){return arguments.length?(t=Pc(e),l):t},l.y=function(t){return arguments.length?(e=Pc(t),l):e},l.width=function(t){return arguments.length?(n=Pc(t),l):n},l.height=function(t){return arguments.length?(r=Pc(t),l):r},l.cornerRadius=function(t,e,n,r){return arguments.length?(i=Pc(t),o=null!=e?Pc(e):i,s=null!=n?Pc(n):i,a=null!=r?Pc(r):o,l):i},l.context=function(t){return arguments.length?(u=null==t?null:t,l):u},l},Ic=function(){var t,e,n,r,i,o,a,s,u=null;function l(t,e,n){var r=n/2;if(i){var l=a-e,c=t-o;if(l||c){var f=Math.sqrt(l*l+c*c),d=(l/=f)*s,h=(c/=f)*s,p=Math.atan2(c,l);u.moveTo(o-d,a-h),u.lineTo(t-l*r,e-c*r),u.arc(t,e,r,p-Math.PI,p),u.lineTo(o+d,a+h),u.arc(o,a,s,p,p+Math.PI)}else u.arc(t,e,r,0,pc);u.closePath()}else i=1;o=t,a=e,s=r}function c(o){var a,s,c,f=o.length,d=!1;for(null==u&&(u=c=Fc()),a=0;a<=f;++a)!(aC*C+M*M&&(j=A,k=E),{cx:j,cy:k,x01:-c,y01:-f,x11:j*(i/_-1),y11:k*(i/_-1)}}function Zc(t){return t[0]}function Xc(t){return t[1]}var Jc=function(){var t=Zc,e=Xc,n=Uc(!0),r=null,i=Vl,o=null;function a(a){var s,u,l,c=a.length,f=!1;for(null==r&&(o=i(l=Fc())),s=0;s<=c;++s)!(s=c;--f)s.point(m[f],v[f]);s.lineEnd(),s.areaEnd()}g&&(m[l]=+t(d,l,u),v[l]=+n(d,l,u),s.point(e?+e(d,l,u):m[l],r?+r(d,l,u):v[l]))}if(h)return s=null,h+""||null}function l(){return Jc().defined(i).curve(a).context(o)}return u.x=function(n){return arguments.length?(t="function"==typeof n?n:Uc(+n),e=null,u):t},u.x0=function(e){return arguments.length?(t="function"==typeof e?e:Uc(+e),u):t},u.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:Uc(+t),u):e},u.y=function(t){return arguments.length?(n="function"==typeof t?t:Uc(+t),r=null,u):n},u.y0=function(t){return arguments.length?(n="function"==typeof t?t:Uc(+t),u):n},u.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Uc(+t),u):r},u.lineX0=u.lineY0=function(){return l().x(t).y(n)},u.lineY1=function(){return l().x(t).y(r)},u.lineX1=function(){return l().x(e).y(n)},u.defined=function(t){return arguments.length?(i="function"==typeof t?t:Uc(!!t),u):i},u.curve=function(t){return arguments.length?(a=t,null!=o&&(s=a(o)),u):a},u.context=function(t){return arguments.length?(null==t?o=s=null:s=a(o=t),u):o},u},Kc={draw:function(t,e){var n=Math.sqrt(e/zl);t.moveTo(n,0),t.arc(0,0,n,0,Pl)}},tf=(Math.sqrt(1/3),Math.sin(zl/10)/Math.sin(7*zl/10));Math.sin(Pl/10),Math.cos(Pl/10),Math.sqrt(3),Math.sqrt(3),Math.sqrt(12);function ef(t,e){return null!=t?t:e}const nf=t=>t.x||0,rf=t=>t.y||0,of=t=>!(!1===t.defined),af=function(){var t=qc,e=Wc,n=Uc(0),r=null,i=Hc,o=Yc,a=Gc,s=null;function u(){var u,l,c=+t.apply(this,arguments),f=+e.apply(this,arguments),d=i.apply(this,arguments)-Rl,h=o.apply(this,arguments)-Rl,p=Sl(h-d),g=h>d;if(s||(s=u=Fc()),fTl)if(p>Pl-Tl)s.moveTo(f*Cl(d),f*$l(d)),s.arc(0,0,f,d,h,!g),c>Tl&&(s.moveTo(c*Cl(h),c*$l(h)),s.arc(0,0,c,h,d,g));else{var m,v,y=d,b=h,x=d,_=h,w=p,O=p,j=a.apply(this,arguments)/2,k=j>Tl&&(r?+r.apply(this,arguments):Nl(c*c+f*f)),A=Fl(Sl(f-c)/2,+n.apply(this,arguments)),E=A,S=A;if(k>Tl){var D=Ll(k/c*$l(j)),C=Ll(k/f*$l(j));(w-=2*D)>Tl?(x+=D*=g?1:-1,_-=D):(w=0,x=_=(d+h)/2),(O-=2*C)>Tl?(y+=C*=g?1:-1,b-=C):(O=0,y=b=(d+h)/2)}var M=f*Cl(y),F=f*$l(y),$=c*Cl(_),N=c*$l(_);if(A>Tl){var T,z=f*Cl(b),R=f*$l(b),P=c*Cl(x),L=c*$l(x);if(p1?0:t<-1?zl:Math.acos(t)}((B*U+I*q)/(Nl(B*B+I*I)*Nl(U*U+q*q)))/2),H=Nl(T[0]*T[0]+T[1]*T[1]);E=Fl(A,(c-H)/(W-1)),S=Fl(A,(f-H)/(W+1))}}O>Tl?S>Tl?(m=Vc(P,L,M,F,f,S,g),v=Vc(z,R,$,N,f,S,g),s.moveTo(m.cx+m.x01,m.cy+m.y01),STl&&w>Tl?E>Tl?(m=Vc($,N,z,R,c,-E,g),v=Vc(M,F,P,L,c,-E,g),s.lineTo(m.cx+m.x01,m.cy+m.y01),Et.startAngle||0).endAngle(t=>t.endAngle||0).padAngle(t=>t.padAngle||0).innerRadius(t=>t.innerRadius||0).outerRadius(t=>t.outerRadius||0).cornerRadius(t=>t.cornerRadius||0),sf=Qc().x(nf).y1(rf).y0(t=>(t.y||0)+(t.height||0)).defined(of),uf=Qc().y(rf).x1(nf).x0(t=>(t.x||0)+(t.width||0)).defined(of),lf=Jc().x(nf).y(rf).defined(of),cf=Bc().x(nf).y(rf).width(t=>t.width||0).height(t=>t.height||0).cornerRadius(t=>ef(t.cornerRadiusTopLeft,t.cornerRadius)||0,t=>ef(t.cornerRadiusTopRight,t.cornerRadius)||0,t=>ef(t.cornerRadiusBottomRight,t.cornerRadius)||0,t=>ef(t.cornerRadiusBottomLeft,t.cornerRadius)||0),ff=function(){var t=Uc(Kc),e=Uc(64),n=null;function r(){var r;if(n||(n=r=Fc()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return r.type=function(e){return arguments.length?(t="function"==typeof e?e:Uc(e),r):t},r.size=function(t){return arguments.length?(e="function"==typeof t?t:Uc(+t),r):e},r.context=function(t){return arguments.length?(n=null==t?null:t,r):n},r}().type(t=>kc(t.shape||"circle")).size(t=>ef(t.size,64)),df=Ic().x(nf).y(rf).defined(of).size(t=>t.size||1);function hf(t){return t.cornerRadius||t.cornerRadiusTopLeft||t.cornerRadiusTopRight||t.cornerRadiusBottomRight||t.cornerRadiusBottomLeft}function pf(t,e,n,r){return cf.context(t)(e,n,r)}var gf=1;function mf(){gf=1}var vf=function(t,e,n){var r=e.clip,i=t._defs,o=e.clip_id||(e.clip_id="clip"+gf++),a=i.clipping[o]||(i.clipping[o]={id:o});return Object(K.D)(r)?a.path=r(null):hf(n)?a.path=pf(null,n,0,0):(a.width=n.width||0,a.height=n.height||0),"url(#"+o+")"};function yf(t){this.clear(),t&&this.union(t)}var bf=yf.prototype;function xf(t){this.mark=t,this.bounds=this.bounds||new yf}function _f(t){xf.call(this,t),this.items=this.items||[]}function wf(t,e){if("undefined"!=typeof document&&document.createElement){var n=document.createElement("canvas");if(n&&n.getContext)return n.width=t,n.height=e,n}return null}function Of(){return"undefined"!=typeof Image?Image:null}function jf(t){this._pending=0,this._loader=t||bo()}bf.clone=function(){return new yf(this)},bf.clear=function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},bf.empty=function(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},bf.equals=function(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},bf.set=function(t,e,n,r){return nthis.x2&&(this.x2=t),e>this.y2&&(this.y2=e),this},bf.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},bf.round=function(){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},bf.scale=function(t){return this.x1*=t,this.y1*=t,this.x2*=t,this.y2*=t,this},bf.translate=function(t,e){return this.x1+=t,this.x2+=t,this.y1+=e,this.y2+=e,this},bf.rotate=function(t,e,n){const r=this.rotatedPoints(t,e,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},bf.rotatedPoints=function(t,e,n){var{x1:r,y1:i,x2:o,y2:a}=this,s=Math.cos(t),u=Math.sin(t),l=e-e*s+n*u,c=n-e*u-n*s;return[s*r-u*i+l,u*r+s*i+c,s*r-u*a+l,u*r+s*a+c,s*o-u*i+l,u*o+s*i+c,s*o-u*a+l,u*o+s*a+c]},bf.union=function(t){return t.x1this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},bf.intersect=function(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},bf.alignsWith=function(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},bf.intersects=function(t){return t&&!(this.x2t.x2||this.y2t.y2)},bf.contains=function(t,e){return!(tthis.x2||ethis.y2)},bf.width=function(){return this.x2-this.x1},bf.height=function(){return this.y2-this.y1},Object(K.y)(_f,xf);var kf=jf.prototype;function Af(t){t._pending+=1}function Ef(t){t._pending-=1}kf.pending=function(){return this._pending},kf.sanitizeURL=function(t){var e=this;return Af(e),e._loader.sanitize(t,{context:"href"}).then(function(t){return Ef(e),t}).catch(function(){return Ef(e),null})},kf.loadImage=function(t){const e=this,n=Of();return Af(e),e._loader.sanitize(t,{context:"image"}).then(function(t){const r=t.href;if(!r||!n)throw{url:r};const i=new n,o=Object(K.v)(t,"crossOrigin")?t.crossOrigin:"anonymous";return null!=o&&(i.crossOrigin=o),i.onload=(()=>Ef(e)),i.onerror=(()=>Ef(e)),i.src=r,i}).catch(function(t){return Ef(e),{complete:!1,width:0,height:0,src:t&&t.url||""}})},kf.ready=function(){var t=this;return new Promise(function(e){!function n(r){t.pending()?setTimeout(function(){n(!0)},10):e(r)}(!1)})};var Sf=function(t,e,n){if(e.stroke&&0!==e.opacity&&0!==e.strokeOpacity){const r=null!=e.strokeWidth?+e.strokeWidth:1;t.expand(r+(n?function(t,e){return t.strokeJoin&&"miter"!==t.strokeJoin?0:e}(e,r):0))}return t};var Df,Cf,Mf,Ff=pc-1e-8;function $f(t){return Df=t,$f}function Nf(){}function Tf(t,e){Df.add(t,e)}function zf(t,e){Tf(Cf=t,Mf=e)}function Rf(t){Tf(t,Df.y1)}function Pf(t){Tf(Df.x1,t)}function Lf(t,e,n,r){const i=(t-e)/(t+n-2*e);0dc?(u=a*a+s*o)>=0&&(l=(-a+(u=Math.sqrt(u)))/o,c=(-a-u)/o):l=.5*s/a,0Ff)Tf(t-n,e-n),Tf(t+n,e+n);else{const a=r=>Tf(n*Math.cos(r)+t,n*Math.sin(r)+e);let s,u;if(a(r),a(i),i!==r)if((r%=pc)<0&&(r+=pc),(i%=pc)<0&&(i+=pc),ii;++u,s-=hc)a(s);else for(s=r-r%hc+hc,u=0;u<4&&sm)return!1;h>g&&(g=h)}else if(f>0){if(h0&&(t.globalAlpha=n,t.fillStyle=Qf(t,e,e.fill),!0)},td=[],ed=function(t,e,n){var r=null!=(r=e.strokeWidth)?r:1;return!(r<=0)&&((n*=null==e.strokeOpacity?1:e.strokeOpacity)>0&&(t.globalAlpha=n,t.strokeStyle=Qf(t,e,e.stroke),t.lineWidth=r,t.lineCap=e.strokeCap||"butt",t.lineJoin=e.strokeJoin||"miter",t.miterLimit=e.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(e.strokeDash||td),t.lineDashOffset=e.strokeDashOffset||0),!0))};function nd(t,e){return t.zindex-e.zindex||t.index-e.index}function rd(t){if(!t.zdirty)return t.zitems;var e,n,r,i=t.items,o=[];for(n=0,r=i.length;n=0;)if(n=e(i[r]))return n;if(i===o)for(r=(i=t.items).length;--r>=0;)if(!i[r].zindex&&(n=e(i[r])))return n;return null}function ad(t){return function(e,n,r){id(n,function(n){r&&!r.intersects(n.bounds)||sd(t,e,n,n)})}}function sd(t,e,n,r){var i=null==n.opacity?1:n.opacity;0!==i&&(t(e,r)||(Zf(e,n),n.fill&&Kf(e,n,i)&&e.fill(),n.stroke&&ed(e,n,i)&&e.stroke()))}function ud(t){return t=t||K.gb,function(e,n,r,i,o,a){return r*=e.pixelRatio,i*=e.pixelRatio,od(n,function(n){var s=n.bounds;if((!s||s.contains(o,a))&&s)return t(e,n,r,i,o,a)?n:void 0})}}function ld(t,e){return function(n,r,i,o){var a,s,u=Array.isArray(r)?r[0]:r,l=null==e?u.fill:e,c=u.stroke&&n.isPointInStroke;return c&&(a=u.strokeWidth,s=u.strokeCap,n.lineWidth=null!=a?a:1,n.lineCap=null!=s?s:"butt"),!t(n,r)&&(l&&n.isPointInPath(i,o)||c&&n.isPointInStroke(i,o))}}function cd(t){return ud(ld(t))}function fd(t,e){return"translate("+t+","+e+")"}function dd(t){return"rotate("+t+")"}function hd(t){return fd(t.x||0,t.y||0)}function pd(t){return fd(t.x||0,t.y||0)+(t.angle?" "+dd(t.angle):"")+(t.scaleX||t.scaleY?" "+function(t,e){return"scale("+t+","+e+")"}(t.scaleX||1,t.scaleY||1):"")}var gd=function(t,e,n){function r(t,n){var r=n.x||0,i=n.y||0,o=n.angle||0;t.translate(r,i),o&&t.rotate(o*=fc),t.beginPath(),e(t,n),o&&t.rotate(-o),t.translate(-r,-i)}return{type:t,tag:"path",nested:!1,attr:function(t,n){t("transform",pd(n)),t("d",e(null,n))},bound:function(t,n){var r=n.x||0,i=n.y||0;return e($f(t),n),Sf(t,n).translate(r,i),n.angle&&t.rotate(n.angle*fc,r,i),t},draw:ad(r),pick:cd(r),isect:n||Wf(r)}},md=gd("arc",function(t,e){return af.context(t)(e)});var vd=function(t,e,n){function r(t,n){t.beginPath(),e(t,n)}var i=ld(r);return{type:t,tag:"path",nested:!0,attr:function(t,n){var r=n.mark.items;r.length&&t("d",e(null,r))},bound:function(t,n){var r=n.items;return 0===r.length?t:(e($f(t),r),Sf(t,r[0]))},draw:function(t){return function(e,n,r){!n.items.length||r&&!r.intersects(n.bounds)||sd(t,e,n.items[0],n.items)}}(r),pick:function(t,e,n,r,o,a){var s=e.items,u=e.bounds;return!s||!s.length||u&&!u.contains(o,a)?null:(n*=t.pixelRatio,r*=t.pixelRatio,i(t,s,n,r)?s[0]:null)},isect:Hf,tip:n}},yd=vd("area",function(t,e){var n=e[0],r=n.interpolate||"linear";return("horizontal"===n.orient?uf:sf).curve(sc(r,n.orient,n.tension)).context(t)(e)},function(t,e){for(var n,r,i="horizontal"===t[0].orient?e[1]:e[0],o="horizontal"===t[0].orient?"y":"x",a=t.length,s=1/0;--a>=0;)!1!==t[a].defined&&(r=Math.abs(t[a][o]-i)).5&&e<1.5?.5-Math.abs(e-1):0}function _d(t,e){const n=xd(e);t("d",pf(null,e,n,n))}function wd(t,e,n,r){const i=xd(e);t.beginPath(),pf(t,e,(n||0)+i,(r||0)+i)}const Od=ld(wd),jd=ld(wd,!1);var kd={type:"group",tag:"g",nested:!1,attr:function(t,e){t("transform",hd(e))},bound:function(t,e){if(!e.clip&&e.items){const n=e.items,r=n.length;for(let e=0;e{const r=e.x||0,i=e.y||0,o=e.strokeForeground,a=null==e.opacity?1:e.opacity;(e.stroke||e.fill)&&a&&(wd(t,e,r,i),Zf(t,e),e.fill&&Kf(t,e,a)&&t.fill(),e.stroke&&!o&&ed(t,e,a)&&t.stroke()),t.save(),t.translate(r,i),e.clip&&bd(t,e),n&&n.translate(-r,-i),id(e,e=>{this.draw(t,e,n)}),n&&n.translate(r,i),t.restore(),o&&e.stroke&&a&&(wd(t,e,r,i),Zf(t,e),ed(t,e,a)&&t.stroke())})},pick:function(t,e,n,r,i,o){if(e.bounds&&!e.bounds.contains(i,o)||!e.items)return null;const a=n*t.pixelRatio,s=r*t.pixelRatio;return od(e,u=>{let l,c,f,d,h,p,g,m,v;if((!(m=u.bounds)||m.contains(i,o))&&(d=u.x||0,h=u.y||0,p=d+(u.width||0),g=h+(u.height||0),!(v=u.clip)||!(ip||og)))return t.save(),t.translate(d,h),d=i-d,h=o-h,v&&hf(u)&&!Od(t,u,a,s)?(t.restore(),null):(c=u.strokeForeground,(f=!1!==e.interactive)&&c&&u.stroke&&jd(t,u,a,s)?(t.restore(),u):(!(l=od(u,t=>!function(t,e,n){return(!1!==t.interactive||"group"===t.marktype)&&t.bounds&&t.bounds.contains(e,n)}(t,d,h)?null:this.pick(t,n,r,d,h)))&&f&&(u.fill||!c&&u.stroke)&&Od(t,u,a,s)&&(l=u),t.restore(),l||null))})},isect:Yf,content:function(t,e,n){t("clip-path",e.clip?vf(n,e,e):null)},background:function(t,e){t("class","background"),t("aria-hidden",!0),_d(t,e)},foreground:function(t,e){t("class","foreground"),t("aria-hidden",!0),e.strokeForeground?_d(t,e):t("d","")}},Ad={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"};function Ed(t,e){var n=t.image;return(!n||t.url&&t.url!==n.url)&&(n={complete:!1,width:0,height:0},e.loadImage(t.url).then(e=>{t.image=e,t.image.url=t.url})),n}function Sd(t,e){return null!=t.width?t.width:e&&e.width?!1!==t.aspect&&t.height?t.height*e.width/e.height:e.width:0}function Dd(t,e){return null!=t.height?t.height:e&&e.height?!1!==t.aspect&&t.width?t.width*e.height/e.width:e.height:0}function Cd(t,e){return"center"===t?e/2:"right"===t?e:0}function Md(t,e){return"middle"===t?e/2:"bottom"===t?e:0}var Fd={type:"image",tag:"image",nested:!1,attr:function(t,e,n){const r=Ed(e,n),i=Sd(e,r),o=Dd(e,r),a=(e.x||0)-Cd(e.align,i),s=(e.y||0)-Md(e.baseline,o);t("href",!r.src&&r.toDataURL?r.toDataURL():r.src||"",Ad["xmlns:xlink"],"xlink:href"),t("transform",fd(a,s)),t("width",i),t("height",o),t("preserveAspectRatio",!1===e.aspect?"none":"xMidYMid")},bound:function(t,e){const n=e.image,r=Sd(e,n),i=Dd(e,n),o=(e.x||0)-Cd(e.align,r),a=(e.y||0)-Md(e.baseline,i);return t.set(o,a,o+r,a+i)},draw:function(t,e,n){id(e,e=>{if(n&&!n.intersects(e.bounds))return;let r,i,o,a,s=Ed(e,this),u=Sd(e,s),l=Dd(e,s),c=(e.x||0)-Cd(e.align,u),f=(e.y||0)-Md(e.baseline,l);!1!==e.aspect&&(i=s.width/s.height,o=e.width/e.height,i==i&&o==o&&i!==o&&(o=0;)if(!1!==t[o].defined&&(n=t[o].x-e[0])*n+(r=t[o].y-e[1])*r1?t:t[0]:t}(t.lineBreak&&t.text&&!Object(K.A)(t.text)?t.text.split(t.lineBreak):t.text)}function Qd(t){const e=Jd(t);return(Object(K.A)(e)?e.length-1:0)*Xd(t)}function Kd(t,e){const n=null==e?"":(e+"").trim();return t.limit>0&&n.length?function(t,e){var n=+t.limit,r=function(t){if(qd.width===Gd){const e=eh(t);return t=>Vd(t,e)}{const e=Zd(t);return t=>Yd(t,e)}}(t);if(r(e)>>1,r(e.slice(i))>n?s=i+1:u=i;return o+e.slice(s)}for(;s>>1),r(e.slice(0,i))Math.max(t,qd.width(e,n)),0)):r=qd.width(e,f),"center"===o?l-=r/2:"right"===o&&(l-=r),t.set(l+=s,c+=u,l+r,c+i),e.angle&&!n)t.rotate(e.angle*fc,s,u);else if(2===n)return t.rotatedPoints(e.angle*fc,s,u);return t}var sh={arc:md,area:yd,group:kd,image:Fd,line:$d,path:Td,rect:Rd,rule:Ld,shape:Bd,symbol:Id,text:{type:"text",tag:"text",nested:!1,attr:function(t,e){var n,r=e.dx||0,i=(e.dy||0)+nh(e),o=oh(e),a=o.x1,s=o.y1,u=e.angle||0;t("text-anchor",rh[e.align]||"start"),u?(n=fd(a,s)+" "+dd(u),(r||i)&&(n+=" "+fd(r,i))):n=fd(a+r,s+i),t("transform",n)},bound:ah,draw:function(t,e,n){id(e,function(e){var r,i,o,a,s,u,l,c=null==e.opacity?1:e.opacity;if(!(n&&!n.intersects(e.bounds)||0===c||e.fontSize<=0||null==e.text||0===e.text.length)){if(t.font=eh(e),t.textAlign=e.align||"left",i=(r=oh(e)).x1,o=r.y1,e.angle&&(t.save(),t.translate(i,o),t.rotate(e.angle*fc),i=o=0),i+=e.dx||0,o+=(e.dy||0)+nh(e),u=Jd(e),Zf(t,e),Object(K.A)(u))for(s=Xd(e),a=0;a=0;)if(!1!==t[i].defined&&(n=t[i].x-e[0])*n+(r=t[i].y-e[1])*r<(n=t[i].size||1)*n)return t[i];return null})},uh=function(t,e,n){var r=sh[t.mark.marktype],i=e||r.bound;return r.nested&&(t=t.mark),i(t.bounds||(t.bounds=new yf),t,n)},lh={mark:null},ch=function(t,e,n){var r,i,o,a,s=sh[t.marktype],u=s.bound,l=t.items,c=l&&l.length;if(s.nested)return c?o=l[0]:(lh.mark=t,o=lh),a=uh(o,u,n),e=e&&e.union(a)||a;if(e=e||t.bounds&&t.bounds.clear()||new yf,c)for(r=0,i=l.length;re;)t.removeChild(n[--r]);return t}function _h(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}gh.toJSON=function(t){return dh(this.root,t||0)},gh.mark=function(t,e,n){var r=mh(t,e=e||this.root.items[0]);return e.items[n]=r,r.zindex&&(r.group.zdirty=!0),r};var wh=function(t,e){var n=e.getBoundingClientRect();return[t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0)]};function Oh(t,e){this._active=null,this._handlers={},this._loader=t||bo(),this._tooltip=e||jh}function jh(t,e,n,r){t.element().setAttribute("title",r||"")}const kh=Oh.prototype;function Ah(t){this._el=null,this._bgcolor=null,this._loader=new jf(t)}kh.initialize=function(t,e,n){return this._el=t,this._obj=n||null,this.origin(e)},kh.element=function(){return this._el},kh.canvas=function(){return this._el&&this._el.firstChild},kh.origin=function(t){return arguments.length?(this._origin=t||[0,0],this):this._origin.slice()},kh.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},kh.on=function(){},kh.off=function(){},kh._handlerIndex=function(t,e,n){for(let r=t?t.length:0;--r>=0;)if(t[r].type===e&&(!n||t[r].handler===n))return r;return-1},kh.handlers=function(t){const e=this._handlers,n=[];if(t)n.push.apply(n,e[this.eventName(t)]);else for(const t in e)n.push.apply(n,e[t]);return n},kh.eventName=function(t){const e=t.indexOf(".");return e<0?t:t.slice(0,e)},kh.handleHref=function(t,e,n){this._loader.sanitize(n,{context:"href"}).then(e=>{const n=new MouseEvent(t.type,t),r=vh(null,"a");for(const t in e)r.setAttribute(t,e[t]);r.dispatchEvent(n)}).catch(function(){})},kh.handleTooltip=function(t,e,n){if(e&&null!=e.tooltip){e=function(t,e,n,r){var i,o,a=t&&t.mark;if(a&&(i=sh[a.marktype]).tip){for((o=wh(e,n))[0]-=r[0],o[1]-=r[1];t=t.mark.group;)o[0]-=t.x||0,o[1]-=t.y||0;t=i.tip(a.items,o)}return t}(e,t,this.canvas(),this._origin);const r=n&&e&&e.tooltip||null;this._tooltip.call(this._obj,this,t,e,r)}},kh.getItemBoundingClientRect=function(t){const e=this.canvas();if(!e)return;const n=e.getBoundingClientRect(),r=this._origin,i=t.bounds,o=i.width(),a=i.height();let s=i.x1+r[0]+n.left,u=i.y1+r[1]+n.top;for(;t.mark&&(t=t.mark.group);)s+=t.x||0,u+=t.y||0;return{x:s,y:u,width:o,height:a,left:s,top:u,right:s+o,bottom:u+a}};var Eh=Ah.prototype;Eh.initialize=function(t,e,n,r,i){return this._el=t,this.resize(e,n,r,i)},Eh.element=function(){return this._el},Eh.canvas=function(){return this._el&&this._el.firstChild},Eh.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},Eh.resize=function(t,e,n,r){return this._width=t,this._height=e,this._origin=n||[0,0],this._scale=r||1,this},Eh.dirty=function(){},Eh.render=function(t){var e=this;return e._call=function(){e._render(t)},e._call(),e._call=null,e},Eh._render=function(){},Eh.renderAsync=function(t){var e=this.render(t);return this._ready?this._ready.then(function(){return e}):Promise.resolve(e)},Eh._load=function(t,e){var n=this,r=n._loader[t](e);if(!n._ready){var i=n._call;n._ready=n._loader.ready().then(function(t){t&&i(),n._ready=null})}return r},Eh.sanitizeURL=function(t){return this._load("sanitizeURL",t)},Eh.loadImage=function(t){return this._load("loadImage",t)};const Sh="dragleave",Dh="mousedown",Ch="mousemove",Mh="mouseout",Fh="click",$h=["keydown","keypress","keyup","dragenter",Sh,"dragover",Dh,"mouseup",Ch,Mh,"mouseover",Fh,"dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],Nh=Ch,Th=Mh,zh=Fh;function Rh(t,e){Oh.call(this,t,e),this._down=null,this._touch=null,this._first=!0,this._events={}}const Ph=Object(K.y)(Rh,Oh);Ph.initialize=function(t,e,n){return this._canvas=t&&yh(t,"canvas"),[Fh,Dh,Ch,Mh,Sh].forEach(t=>Bh(this,t)),Oh.prototype.initialize.call(this,t,e,n)};const Lh=t=>"touchstart"===t||"touchmove"===t||"touchend"===t?["touchstart","touchmove","touchend"]:[t];function Bh(t,e){Lh(e).forEach(e=>(function(t,e){const n=t.canvas();n&&!t._events[e]&&(t._events[e]=1,n.addEventListener(e,t[e]?n=>t[e](n):n=>t.fire(e,n)))})(t,e))}function Ih(t,e,n){return function(r){const i=this._active,o=this.pickEvent(r);o===i?this.fire(t,r):(i&&i.exit||this.fire(n,r),this._active=o,this.fire(e,r),this.fire(t,r))}}function Uh(t){return function(e){this.fire(t,e),this._active=null}}Ph.canvas=function(){return this._canvas},Ph.context=function(){return this._canvas.getContext("2d")},Ph.events=$h,Ph.DOMMouseScroll=function(t){this.fire("mousewheel",t)},Ph.mousemove=Ih(Ch,"mouseover",Mh),Ph.dragover=Ih("dragover","dragenter",Sh),Ph.mouseout=Uh(Mh),Ph.dragleave=Uh(Sh),Ph.mousedown=function(t){this._down=this._active,this.fire(Dh,t)},Ph.click=function(t){this._down===this._active&&(this.fire(Fh,t),this._down=null)},Ph.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},Ph.touchmove=function(t){this.fire("touchmove",t,!0)},Ph.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},Ph.fire=function(t,e,n){const r=n?this._touch:this._active,i=this._handlers[t];if(e.vegaType=t,t===zh&&r&&r.href?this.handleHref(e,r,r.href):t!==Nh&&t!==Th||this.handleTooltip(e,r,t!==Th),i)for(let t=0,n=i.length;t=0&&r.splice(i,1),this},Ph.pickEvent=function(t){const e=wh(t,this._canvas),n=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-n[0],e[1]-n[1])},Ph.pick=function(t,e,n,r,i){const o=this.context();return sh[t.marktype].pick.call(this,o,t,e,n,r,i)};var qh="undefined"!=typeof window&&window.devicePixelRatio||1;function Wh(t){Ah.call(this,t),this._options={},this._redraw=!1,this._dirty=new yf,this._tempb=new yf}const Hh=Object(K.y)(Wh,Ah),Yh=Ah.prototype;Hh.initialize=function(t,e,n,r,i,o){return this._options=o||{},this._canvas=this._options.externalContext?null:wf(1,1,this._options.type),t&&this._canvas&&(xh(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),Yh.initialize.call(this,t,e,n,r,i)},Hh.resize=function(t,e,n,r){if(Yh.resize.call(this,t,e,n,r),this._canvas)!function(t,e,n,r,i,o){const a="undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&null!=t.parentNode,s=t.getContext("2d"),u=a?qh:i;t.width=e*u,t.height=n*u;for(const t in o)s[t]=o[t];a&&1!==u&&(t.style.width=e+"px",t.style.height=n+"px"),s.pixelRatio=u,s.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{const t=this._options.externalContext;t||Object(K.n)("CanvasRenderer is missing a valid canvas or context"),t.scale(this._scale,this._scale),t.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this},Hh.canvas=function(){return this._canvas},Hh.context=function(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)},Hh.dirty=function(t){let e=this._tempb.clear().union(t.bounds),n=t.mark.group;for(;n;)e.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(e)};function Gh(t,e){Oh.call(this,t,e);const n=this;n._hrefHandler=Zh(n,(t,e)=>{e&&e.href&&n.handleHref(t,e,e.href)}),n._tooltipHandler=Zh(n,(t,e)=>{n.handleTooltip(t,e,t.type!==Th)})}Hh._render=function(t){const e=this.context(),n=this._origin,r=this._width,i=this._height,o=this._dirty,a=((t,e,n)=>(new yf).set(0,0,e,n).translate(-t[0],-t[1]))(n,r,i);e.save();const s=this._redraw||o.empty()?(this._redraw=!1,a.expand(1)):function(t,e,n){return e.expand(1).round(),t.pixelRatio%1&&e.scale(t.pixelRatio).round().scale(1/t.pixelRatio),e.translate(-n[0]%1,-n[1]%1),t.beginPath(),t.rect(e.x1,e.y1,e.width(),e.height()),t.clip(),e}(e,a.intersect(o),n);return this.clear(-n[0],-n[1],r,i),this.draw(e,t,s),e.restore(),o.clear(),this},Hh.draw=function(t,e,n){const r=sh[e.marktype];e.clip&&function(t,e){var n=e.clip;t.save(),Object(K.D)(n)?(t.beginPath(),n(t),t.clip()):bd(t,e.group)}(t,e),r.draw.call(this,t,e,n),e.clip&&t.restore()},Hh.clear=function(t,e,n,r){const i=this._options,o=this.context();"pdf"===i.type||i.externalContext||o.clearRect(t,e,n,r),null!=this._bgcolor&&(o.fillStyle=this._bgcolor,o.fillRect(t,e,n,r))};const Vh=Object(K.y)(Gh,Oh);Vh.initialize=function(t,e,n){let r=this._svg;return r&&(r.removeEventListener(zh,this._hrefHandler),r.removeEventListener(Nh,this._tooltipHandler),r.removeEventListener(Th,this._tooltipHandler)),this._svg=r=t&&yh(t,"svg"),r&&(r.addEventListener(zh,this._hrefHandler),r.addEventListener(Nh,this._tooltipHandler),r.addEventListener(Th,this._tooltipHandler)),Oh.prototype.initialize.call(this,t,e,n)},Vh.canvas=function(){return this._svg};const Zh=(t,e)=>n=>{let r=n.target.__data__;r=Array.isArray(r)?r[0]:r,n.vegaType=n.type,e.call(t._obj,n,r)};Vh.on=function(t,e){const n=this.eventName(t),r=this._handlers;if(this._handlerIndex(r[n],t,e)<0){const i={type:t,handler:e,listener:Zh(this,e)};(r[n]||(r[n]=[])).push(i),this._svg&&this._svg.addEventListener(n,i.listener)}return this},Vh.off=function(t,e){const n=this.eventName(t),r=this._handlers[n],i=this._handlerIndex(r,t,e);return i>=0&&(this._svg&&this._svg.removeEventListener(n,r[i].listener),r.splice(i,1)),this};var Xh=function(t,e,n){var r=t-e+2*n;return t?r>0?r:1:0};const Jh="linear",Qh="log",Kh="pow",tp="sqrt",ep="symlog",np="time",rp="utc",ip="sequential",op="diverging",ap="quantile",sp="quantize",up="threshold",lp="ordinal",cp="point",fp="band",dp="bin-ordinal",hp="continuous",pp="discrete",gp="discretizing",mp="interpolating",vp="temporal";var yp=function(t){return function(e){var n,r=e[0],i=e[1];return i=s&&a[i]<=u&&(l<0&&(l=i),n=i);if(!(l<0))return s=t.invertExtent(a[l]),u=t.invertExtent(a[n]),[void 0===s[0]?s[1]:s[0],void 0===u[1]?u[0]:u[1]]}},xp=Mr(Cr),_p=xp.right,wp=xp.left,Op=_p;function jp(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}function kp(t,e){switch(arguments.length){case 0:break;case 1:"function"==typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"==typeof e?this.interpolator(e):this.range(e)}return this}const Ap=Symbol("implicit");function Ep(){var t=new Map,e=[],n=[],r=Ap;function i(i){var o=i+"",a=t.get(o);if(!a){if(r!==Ap)return r;t.set(o,a=e.push(i))}return n[(a-1)%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=new Map;for(const r of n){const n=r+"";t.has(n)||t.set(n,e.push(r))}return i},i.range=function(t){return arguments.length?(n=Array.from(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return Ep(e,n).unknown(r)},jp.apply(i,arguments),i}function Sp(){var t,e,n=Ep().unknown(void 0),r=n.domain,i=n.range,o=[0,1],a=!1,s=0,u=0,l=.5;function c(){var n=r().length,c=o[1]o[1-c])))return n=Math.max(0,_p(f,u)-1),a=u===l?n:_p(f,l)-1,u-f[n]>e+1e-10&&++n,c&&(s=n,n=d-a,a=d-s),n>a?void 0:r().slice(n,a+1)}},n.invert=function(t){var e=n.invertRange([t,t]);return e?e[0]:e},n.copy=function(){return Sp().domain(r()).range(o).round(a).paddingInner(s).paddingOuter(u).align(l)},c()}var Dp=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Cp(t){if(!(e=Dp.exec(t)))throw new Error("invalid format: "+t);var e;return new Mp({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Mp(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}Cp.prototype=Mp.prototype,Mp.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 Fp,$p,Np,Tp,zp=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]},Rp=function(t){return(t=zp(Math.abs(t)))?t[1]:NaN},Pp=function(t){t:for(var e,n=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t},Lp=function(t,e){var n=zp(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},Bp={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Lp(100*t,e)},r:Lp,s:function(t,e){var n=zp(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(Fp=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+zp(t,Math.max(0,e+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Ip=function(t){return t},Up=Array.prototype.map,qp=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],Wp=function(t){var e=void 0===t.grouping||void 0===t.thousands?Ip:function(t,e){return function(n,r){for(var i=n.length,o=[],a=0,s=t[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),o.push(n.substring(i-=s,i+s)),!((u+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(e)}}(Up.call(t.grouping,Number),t.thousands+""),n=void 0===t.currency?"":t.currency[0]+"",r=void 0===t.currency?"":t.currency[1]+"",i=void 0===t.decimal?".":t.decimal+"",o=void 0===t.numerals?Ip:function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}(Up.call(t.numerals,String)),a=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"-":t.minus+"",u=void 0===t.nan?"NaN":t.nan+"";function l(t){var l=(t=Cp(t)).fill,c=t.align,f=t.sign,d=t.symbol,h=t.zero,p=t.width,g=t.comma,m=t.precision,v=t.trim,y=t.type;"n"===y?(g=!0,y="g"):Bp[y]||(void 0===m&&(m=12),v=!0,y="g"),(h||"0"===l&&"="===c)&&(h=!0,l="0",c="=");var b="$"===d?n:"#"===d&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",x="$"===d?r:/[%p]/.test(y)?a:"",_=Bp[y],w=/[defgprs%]/.test(y);function O(t){var n,r,a,d=b,O=x;if("c"===y)O=_(t)+O,t="";else{var j=(t=+t)<0||1/t<0;if(t=isNaN(t)?u:_(Math.abs(t),m),v&&(t=Pp(t)),j&&0==+t&&"+"!==f&&(j=!1),d=(j?"("===f?f:s:"-"===f||"("===f?"":f)+d,O=("s"===y?qp[8+Fp/3]:"")+O+(j&&"("===f?")":""),w)for(n=-1,r=t.length;++n(a=t.charCodeAt(n))||a>57){O=(46===a?i+t.slice(n+1):t.slice(n))+O,t=t.slice(0,n);break}}g&&!h&&(t=e(t,1/0));var k=d.length+t.length+O.length,A=k>1)+d+t+O+A.slice(k);break;default:t=A+d+t+O}return o(t)}return m=void 0===m?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),O.toString=function(){return t+""},O}return{format:l,formatPrefix:function(t,e){var n=l(((t=Cp(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Rp(e)/3))),i=Math.pow(10,-r),o=qp[8+r/3];return function(t){return n(i*t)+o}}}};!function(t){$p=Wp(t),Np=$p.format,Tp=$p.formatPrefix}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});var Hp=function(t,e,n,r){var i,o=be(t,e,n);switch((r=Cp(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Rp(e)/3)))-Rp(Math.abs(t)))}(o,a))||(r.precision=i),Tp(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Rp(e)-Rp(t))+1}(o,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-Rp(Math.abs(t)))}(o))||(r.precision=i-2*("%"===r.type))}return Np(r)},Yp=Array.prototype.map;var Gp=Array.prototype.slice;var Vp=function(t,e,n){t.prototype=e.prototype=n,n.constructor=t};function Zp(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Xp(){}var Jp="\\s*([+-]?\\d+)\\s*",Qp="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Kp="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tg=/^#([0-9a-f]{3,8})$/,eg=new RegExp("^rgb\\("+[Jp,Jp,Jp]+"\\)$"),ng=new RegExp("^rgb\\("+[Kp,Kp,Kp]+"\\)$"),rg=new RegExp("^rgba\\("+[Jp,Jp,Jp,Qp]+"\\)$"),ig=new RegExp("^rgba\\("+[Kp,Kp,Kp,Qp]+"\\)$"),og=new RegExp("^hsl\\("+[Qp,Kp,Kp]+"\\)$"),ag=new RegExp("^hsla\\("+[Qp,Kp,Kp,Qp]+"\\)$"),sg={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 ug(){return this.rgb().formatHex()}function lg(){return this.rgb().formatRgb()}function cg(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=tg.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?fg(e):3===n?new gg(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?dg(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?dg(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=eg.exec(t))?new gg(e[1],e[2],e[3],1):(e=ng.exec(t))?new gg(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=rg.exec(t))?dg(e[1],e[2],e[3],e[4]):(e=ig.exec(t))?dg(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=og.exec(t))?bg(e[1],e[2]/100,e[3]/100,1):(e=ag.exec(t))?bg(e[1],e[2]/100,e[3]/100,e[4]):sg.hasOwnProperty(t)?fg(sg[t]):"transparent"===t?new gg(NaN,NaN,NaN,0):null}function fg(t){return new gg(t>>16&255,t>>8&255,255&t,1)}function dg(t,e,n,r){return r<=0&&(t=e=n=NaN),new gg(t,e,n,r)}function hg(t){return t instanceof Xp||(t=cg(t)),t?new gg((t=t.rgb()).r,t.g,t.b,t.opacity):new gg}function pg(t,e,n,r){return 1===arguments.length?hg(t):new gg(t,e,n,null==r?1:r)}function gg(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function mg(){return"#"+yg(this.r)+yg(this.g)+yg(this.b)}function vg(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function yg(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function bg(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new wg(t,e,n,r)}function xg(t){if(t instanceof wg)return new wg(t.h,t.s,t.l,t.opacity);if(t instanceof Xp||(t=cg(t)),!t)return new wg;if(t instanceof wg)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,u=(o+i)/2;return s?(a=e===o?(n-r)/s+6*(n0&&u<1?0:a,new wg(a,s,u,t.opacity)}function _g(t,e,n,r){return 1===arguments.length?xg(t):new wg(t,e,n,null==r?1:r)}function wg(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Og(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function jg(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}Vp(Xp,cg,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:ug,formatHex:ug,formatHsl:function(){return xg(this).formatHsl()},formatRgb:lg,toString:lg}),Vp(gg,pg,Zp(Xp,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new gg(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new gg(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){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:mg,formatHex:mg,formatRgb:vg,toString:vg})),Vp(wg,_g,Zp(Xp,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new wg(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new wg(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new gg(Og(t>=240?t-240:t+120,i,r),Og(t,i,r),Og(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var kg=function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,s=r180||n<-180?n-360*Math.round(n/360):n):Eg(isNaN(t)?e:t)}function Cg(t){return 1==(t=+t)?Mg:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):Eg(isNaN(e)?n:e)}}function Mg(t,e){var n=e-t;return n?Sg(t,n):Eg(isNaN(t)?e:t)}var Fg=function t(e){var n=Cg(e);function r(t,e){var r=n((t=pg(t)).r,(e=pg(e)).r),i=n(t.g,e.g),o=n(t.b,e.b),a=Mg(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=o(e),t.opacity=a(e),t+""}}return r.gamma=t,r}(1);function $g(t){return function(e){var n,r,i=e.length,o=new Array(i),a=new Array(i),s=new Array(i);for(n=0;no&&(i=e.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,u.push({i:a,x:Ig(n,r)})),o=Wg.lastIndex;return oe&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}(a[0],a[t-1])),r=t>2?tm:Kg,i=o=null,f}function f(e){return isNaN(e=+e)?n:(i||(i=r(a.map(t),s,u)))(t(l(e)))}return f.invert=function(n){return l(e((o||(o=r(s,a.map(t),Ig)))(n)))},f.domain=function(t){return arguments.length?(a=Array.from(t,Zg),c()):a.slice()},f.range=function(t){return arguments.length?(s=Array.from(t),c()):s.slice()},f.rangeRound=function(t){return s=Array.from(t),u=Gg,c()},f.clamp=function(t){return arguments.length?(l=!!t||Jg,c()):l!==Jg},f.interpolate=function(t){return arguments.length?(u=t,c()):u},f.unknown=function(t){return arguments.length?(n=t,f):n},function(n,r){return t=n,e=r,c()}}function rm(){return nm()(Jg,Jg)}function im(t){var e=t.domain;return t.ticks=function(t){var n=e();return ve(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return Hp(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i=e(),o=0,a=i.length-1,s=i[o],u=i[a];return u0?r=ye(s=Math.floor(s/r)*r,u=Math.ceil(u/r)*r,n):r<0&&(r=ye(s=Math.ceil(s*r)/r,u=Math.floor(u*r)/r,n)),r>0?(i[o]=Math.floor(s/r)*r,i[a]=Math.ceil(u/r)*r,e(i)):r<0&&(i[o]=Math.ceil(s*r)/r,i[a]=Math.floor(u*r)/r,e(i)),t},t}var om=function(t,e){var n,r=0,i=(t=t.slice()).length-1,o=t[r],a=t[i];return a0){for(;d<=h;++d)for(c=1,l=n(d);cu)break;g.push(f)}}else for(;d<=h;++d)for(c=o-1,l=n(d);c>=1;--c)if(!((f=l*c)u)break;g.push(f)}2*g.length1?(Pm[t]=function(t,e,n){const r=function(){var n=e();return n.invertRange||(n.invertRange=n.invert?yp(n):n.invertExtent?bp(n):void 0),n.type=t,n};return r.metadata=Object(K.db)(Object(K.i)(n)),r}(t,e,n),this):Bm(t)?Pm[t]:void 0}function Bm(t){return Object(K.v)(Pm,t)}function Im(t,e){const n=Pm[t];return n&&n.metadata[e]}function Um(t){return Im(t,hp)}function qm(t){return Im(t,pp)}function Wm(t){return Im(t,gp)}function Hm(t){return Im(t,Qh)}function Ym(t){return Im(t,mp)}function Gm(t){return Im(t,ap)}Lm("identity",function t(e){var n;function r(t){return isNaN(t=+t)?n:t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(e=Array.from(t,Zg),r):e.slice()},r.unknown=function(t){return arguments.length?(n=t,r):n},r.copy=function(){return t(e).unknown(n)},e=arguments.length?Array.from(e,Zg):[0,1],im(r)}),Lm(Jh,function t(){var e=rm();return e.copy=function(){return em(e,t())},jp.apply(e,arguments),im(e)},hp),Lm(Qh,function t(){var e=dm(nm()).domain([1,10]);return e.copy=function(){return em(e,t()).base(e.base())},jp.apply(e,arguments),e},[hp,Qh]),Lm(Kh,vm,hp),Lm(tp,function(){return vm.apply(null,arguments).exponent(.5)},hp),Lm(ep,function t(){var e=xm(nm());return e.copy=function(){return em(e,t()).constant(e.constant())},jp.apply(e,arguments)},hp),Lm(np,function(){return jp.apply(Cm(er,rr,gn,hn,or,sr,lr,fr,Yr).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},[hp,vp]),Lm(rp,function(){return jp.apply(Cm(hr,gr,kn,On,vr,br,lr,fr,Vr).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[hp,vp]),Lm(ip,$m,[hp,mp]),Lm(`${ip}-${Jh}`,$m,[hp,mp]),Lm(`${ip}-${Qh}`,function t(){var e=dm(Mm()).domain([1,10]);return e.copy=function(){return Fm(e,t()).base(e.base())},kp.apply(e,arguments)},[hp,mp,Qh]),Lm(`${ip}-${Kh}`,Nm,[hp,mp]),Lm(`${ip}-${tp}`,function(){return Nm.apply(null,arguments).exponent(.5)},[hp,mp]),Lm(`${ip}-${ep}`,function t(){var e=xm(Mm());return e.copy=function(){return Fm(e,t()).constant(e.constant())},kp.apply(e,arguments)},[hp,mp]),Lm(`${op}-${Jh}`,function t(){var e=im(zm()(Jg));return e.copy=function(){return Fm(e,t())},kp.apply(e,arguments)},[hp,mp]),Lm(`${op}-${Qh}`,function t(){var e=dm(zm()).domain([.1,1,10]);return e.copy=function(){return Fm(e,t()).base(e.base())},kp.apply(e,arguments)},[hp,mp,Qh]),Lm(`${op}-${Kh}`,Rm,[hp,mp]),Lm(`${op}-${tp}`,function(){return Rm.apply(null,arguments).exponent(.5)},[hp,mp]),Lm(`${op}-${ep}`,function t(){var e=xm(zm());return e.copy=function(){return Fm(e,t()).constant(e.constant())},kp.apply(e,arguments)},[hp,mp]),Lm(ap,function t(){var e,n=[],r=[],i=[];function o(){var t=0,e=Math.max(1,r.length);for(i=new Array(e-1);++t0?i[e-1]:n[0],e=i?[o[i-1],r]:[o[e-1],o[e]]},s.unknown=function(t){return arguments.length?(e=t,s):s},s.thresholds=function(){return o.slice()},s.copy=function(){return t().domain([n,r]).range(a).unknown(e)},jp.apply(im(s),arguments)},gp),Lm(up,function t(){var e,n=[.5],r=[0,1],i=1;function o(t){return t<=t?r[Op(n,t,0,i)]:e}return o.domain=function(t){return arguments.length?(n=Array.from(t),i=Math.min(n.length,r.length-1),o):n.slice()},o.range=function(t){return arguments.length?(r=Array.from(t),i=Math.min(n.length,r.length-1),o):r.slice()},o.invertExtent=function(t){var e=r.indexOf(t);return[n[e-1],n[e]]},o.unknown=function(t){return arguments.length?(e=t,o):e},o.copy=function(){return t().domain(n).range(r).unknown(e)},jp.apply(o,arguments)},gp),Lm(dp,function t(){var e=[],n=[];function r(t){return null==t||t!=t?void 0:n[(Op(e,t)-1)%n.length]}return r.domain=function(t){return arguments.length?(e=function(t){return Yp.call(t,function(t){return+t})}(t),r):e.slice()},r.range=function(t){return arguments.length?(n=Gp.call(t),r):n.slice()},r.tickFormat=function(t,n){return Hp(e[0],Object(K.U)(e),null==t?10:t,n)},r.copy=function(){return t().domain(r.domain()).range(r.range())},r},[pp,gp]),Lm(lp,Ep,pp),Lm(fp,Sp,pp),Lm(cp,function(){return function t(e){var n=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return t(n())},e}(Sp().paddingInner(1))},pp);var Vm,Zm,Xm,Jm,Qm=function(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}},Km=function(t,e){var n=Dg(+t,+e);return function(t){var e=n(t);return e-360*Math.floor(e/360)}},tv=180/Math.PI,ev={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},nv=function(t,e,n,r,i,o){var a,s,u;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(u=t*n+e*r)&&(n-=t*u,r-=e*u),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,u/=s),t*r180?e+=360:e-t>180&&(t+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Ig(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(o.rotate,a.rotate,s,u),function(t,e,n,o){t!==e?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Ig(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(o.skewX,a.skewX,s,u),function(t,e,n,r,o,a){if(t!==n||e!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:Ig(t,n)},{i:s-2,x:Ig(e,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,s,u),o=a=null,function(t){for(var e,n=-1,r=u.length;++nxv?Math.pow(t,1/3):t/bv+vv}function kv(t){return t>yv?t*t*t:bv*(t-vv)}function Av(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Ev(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Sv(t){if(t instanceof Cv)return new Cv(t.h,t.c,t.l,t.opacity);if(t instanceof Ov||(t=_v(t)),0===t.a&&0===t.b)return new Cv(NaN,0t[e]?o[e](t[e]()):0),o):Object(K.l)(.5)}function Kv(t,e){var n=a[function(t){return"interpolate"+t.toLowerCase().split("-").map(function(t){return t[0].toUpperCase()+t.slice(1)}).join("")}(t)];return null!=e&&n&&n.gamma?n.gamma(e):n}function ty(t){for(var e=t.length/6|0,n=new Array(e),r=0;r1?(ny[t]=e,this):ny[t]}ey({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"},ty),ey({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:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",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"},t=>Xv(ty(t)));var iy="symbol",oy="discrete";const ay=t=>Object(K.A)(t)?t.map(t=>String(t)):String(t),sy=(t,e)=>t[1]-e[1],uy=(t,e)=>e[1]-t[1];function ly(t,e,n){var r;return Object(K.E)(e)&&(t.bins&&(e=Math.max(e,t.bins.length)),null!=n&&(e=Math.min(e,Math.floor(Object(K.X)(t.domain())/n||1)))),Object(K.F)(e)&&(r=e.step,e=e.interval),Object(K.H)(e)&&(e=t.type===np?wr(e):t.type==rp?Or(e):Object(K.n)("Only time and utc scales accept interval strings."),r&&(e=e.every(r))),e}function cy(t,e,n){let r=t.range(),i=r[0],o=Object(K.U)(r),a=sy;if(i>o&&(r=o,o=i,i=r,a=uy),i=Math.floor(i),o=Math.ceil(o),e=e.map(e=>[e,t(e)]).filter(t=>i<=t[1]&&t[1]<=o).sort(a).map(t=>t[0]),n>0&&e.length>1){const t=[e[0],Object(K.U)(e)];for(;e.length>n&&e.length>=3;)e=e.filter((t,e)=>!(e%2));e.length<3&&(e=t)}return e}function fy(t,e){return t.bins?cy(t,t.bins):t.ticks?t.ticks(e):t.domain()}function dy(t,e,n,r,i,o){var a=e.type;let s=ay;if(a===np||i===np)s=t.timeFormat(r);else if(a===rp||i===rp)s=t.utcFormat(r);else if(Hm(a)){const i=t.formatFloat(r);if(o||e.bins)s=i;else{const t=hy(e,n,!1);s=(e=>t(e)?i(e):"")}}else if(e.tickFormat){const i=e.domain();s=t.formatSpan(i[0],i[i.length-1],n,r)}else r&&(s=t.format(r));return s}function hy(t,e,n){const r=fy(t,e),i=t.base(),o=Math.log(i),a=Math.max(1,i*e/r.length),s=t=>{let e=t/Math.pow(i,Math.round(Math.log(t)/o));return e*i1?i[1]-i[0]:i[0];for(r=1;r{var i=yy(r[n+1],yy(r.max,1/0)),o=by(e,t),a=by(i,t);return o&&a?o+" – "+a:a?"< "+a:"≥ "+o}}(s):r===oy?function(t){return(e,n)=>n?t(e):null}(s):function(t){return e=>t(e)}(s)}function yy(t,e){return null!=t?t:e}function by(t,e){return Number.isFinite(t)?e(t):null}function xy(t,e,n,r){const i=r||e.type;return Object(K.H)(n)&&function(t){return Im(t,vp)}(i)&&(n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")),n||i!==np?n||i!==rp?vy(t,e,5,null,n,r,!0):t.utcFormat("%A, %d %B %Y, %X UTC"):t.timeFormat("%A, %d %B %Y, %X")}function _y(t,e,n){n=n||{};const r=Math.max(3,n.maxlen||7),i=xy(t,e,n.format,n.formatType);if(Wm(e.type)){const t=my(e).slice(1).map(i),n=t.length;return`${n} boundar${1===n?"y":"ies"}: ${t.join(", ")}`}if(qm(e.type)){const t=e.domain(),n=t.length,o=n>r?t.slice(0,r-2).map(i).join(", ")+", ending with "+t.slice(-1).map(i):t.map(i).join(", ");return`${n} value${1===n?"":"s"}: ${o}`}{const t=e.domain();return`values from ${i(t[0])} to ${i(Object(K.U)(t))}`}}const wy="aria-hidden",Oy="aria-label",jy="role",ky="aria-roledescription",Ay="graphics-object",Ey="graphics-symbol",Sy=(t,e,n)=>({[jy]:t,[ky]:e,[Oy]:n||void 0}),Dy=Object(K.db)(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),Cy={axis:{desc:"axis",caption:function(t){const e=t.datum,n=t.orient,r=e.title?Ty(t):null,i=t.context,o=i.scales[e.scale].value,a=i.dataflow.locale(),s=o.type;return`${"left"===n||"right"===n?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${qm(s)?"discrete":s} scale`+` with ${_y(a,o,t)}`}},legend:{desc:"legend",caption:function(t){const e=t.datum,n=e.title?Ty(t):null,r=`${e.type||""} legend`.trim(),i=e.scales,o=Object.keys(i),a=t.context,s=a.scales[i[o[0]]].value,u=a.dataflow.locale();return function(t){return t.length?t[0].toUpperCase()+t.slice(1):t}(r)+(n?` titled '${n}'`:"")+` for ${function(t){return(t=t.map(t=>t+("fill"===t||"stroke"===t?" color":""))).length<2?t[0]:t.slice(0,-1).join(", ")+" and "+Object(K.U)(t)}(o)}`+` with ${_y(u,s,t)}`}},"title-text":{desc:"title",caption:t=>`Title text '${Ny(t)}'`},"title-subtitle":{desc:"subtitle",caption:t=>`Subtitle text '${Ny(t)}'`}},My={ariaRole:jy,ariaRoleDescription:ky,description:Oy};function Fy(t,e){const n=!1===e.aria;if(t(wy,n||void 0),n||null==e.description)for(const e in My)t(My[e],void 0);else{const n=e.mark.marktype;t(Oy,e.description),t(jy,e.ariaRole||("group"===n?Ay:Ey)),t(ky,e.ariaRoleDescription||`${n} mark`)}}function $y(t){return!1===t.aria?{[wy]:!0}:Dy[t.role]?null:Cy[t.role]?function(t,e){try{const n=t.items[0],r=e.caption||(()=>"");return Sy(e.role||Ey,e.desc,n.description||r(n))}catch(t){return null}}(t,Cy[t.role]):function(t){const e=t.marktype,n="group"===e||"text"===e||t.items.some(t=>null!=t.description&&!1!==t.aria);return Sy(n?Ay:Ey,`${e} mark container`,t.description)}(t)}function Ny(t){return Object(K.i)(t.text).join(" ")}function Ty(t){try{return Object(K.i)(Object(K.U)(t.items).items[0].text).join(" ")}catch(t){return null}}const zy=t=>(t+"").replace(/&/g,"&").replace(/"/g,""");function Ry(t,e,n){var r,i,o="<"+t;if(e)for(r in e)null!=(i=e[r])&&(o+=" "+r+'="'+zy(i)+'"');return n&&(o+=" "+n),o+">"}function Py(t){return""}const Ly={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",blend:"mix-blend-mode"},By={fill:"none","stroke-miterlimit":10},Iy=Ad.xmlns;function Uy(t){Ah.call(this,t),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}var qy=Object(K.y)(Uy,Ah),Wy=Ah.prototype;function Hy(t,e,n){var r,i,o;if("radial"===e.gradient){var a=bh(t,n++,"pattern",Iy);a.setAttribute("id",ll+e.id),a.setAttribute("viewBox","0,0,1,1"),a.setAttribute("width","100%"),a.setAttribute("height","100%"),a.setAttribute("preserveAspectRatio","xMidYMid slice"),(a=bh(a,0,"rect",Iy)).setAttribute("width","1"),a.setAttribute("height","1"),a.setAttribute("fill","url("+eb()+"#"+e.id+")"),(t=bh(t,n++,"radialGradient",Iy)).setAttribute("id",e.id),t.setAttribute("fx",e.x1),t.setAttribute("fy",e.y1),t.setAttribute("fr",e.r1),t.setAttribute("cx",e.x2),t.setAttribute("cy",e.y2),t.setAttribute("r",e.r2)}else(t=bh(t,n++,"linearGradient",Iy)).setAttribute("id",e.id),t.setAttribute("x1",e.x1),t.setAttribute("x2",e.x2),t.setAttribute("y1",e.y1),t.setAttribute("y2",e.y2);for(r=0,i=e.stops.length;r1&&t.previousSibling!=e}(a,n))&&e.insertBefore(a,n?n.nextSibling:e.firstChild),a}qy.initialize=function(t,e,n,r){if(this._defs={gradient:{},clipping:{}},t){this._svg=bh(t,0,"svg",Iy),this._svg.setAttribute("class","marks"),xh(t,1),this._root=bh(this._svg,0,"g",Iy);for(const t in By)this._root.setAttribute(t,By[t]);xh(this._svg,1)}return this.background(this._bgcolor),Wy.initialize.call(this,t,e,n,r)},qy.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),Wy.background.apply(this,arguments)},qy.resize=function(t,e,n,r){return Wy.resize.call(this,t,e,n,r),this._svg&&(this._svg.setAttribute("width",this._width*this._scale),this._svg.setAttribute("height",this._height*this._scale),this._svg.setAttribute("viewBox","0 0 "+this._width+" "+this._height),this._root.setAttribute("transform","translate("+this._origin+")")),this._dirty=[],this},qy.canvas=function(){return this._svg},qy.svg=function(){if(!this._svg)return null;var t={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var e in Ad)t[e]=Ad[e];var n=this._bgcolor?Ry("rect",{width:this._width,height:this._height,fill:this._bgcolor})+Py("rect"):"";return Ry("svg",t)+(this._defs.el?this._defs.el.outerHTML:"")+n+this._root.outerHTML+Py("svg")},qy._render=function(t){return this._dirtyCheck()&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t),xh(this._root,1)),this.updateDefs(),this._dirty=[],++this._dirtyID,this},qy.updateDefs=function(){const t=this._svg,e=this._defs;let n=e.el,r=0;for(const i in e.gradient)n||(e.el=n=bh(t,0,"defs",Iy)),r=Hy(n,e.gradient[i],r);for(const i in e.clipping)n||(e.el=n=bh(t,0,"defs",Iy)),r=Yy(n,e.clipping[i],r);n&&(0===r?(t.removeChild(n),e.el=null):xh(n,r))},qy._resetDefs=function(){var t=this._defs;t.gradient={},t.clipping={}},qy.dirty=function(t){t.dirty!==this._dirtyID&&(t.dirty=this._dirtyID,this._dirty.push(t))},qy.isDirty=function(t){return this._dirtyAll||!t._svg||t.dirty===this._dirtyID},qy._dirtyCheck=function(){this._dirtyAll=!0;var t=this._dirty;if(!t.length||!this._dirtyID)return!0;var e,n,r,i,o,a,s,u=++this._dirtyID;for(o=0,a=t.length;o{const e=this.isDirty(t),n=Vy(t,r,u,o.tag,i);e&&(this._update(o,n,t),s&&function(t,e,n){e=e.lastChild.previousSibling;let r,i=0;id(n,n=>{r=t.draw(e,n,r),++i}),xh(e,1+i)}(this,n,t)),u=n,++l};return o.nested?e.items.length&&f(e.items[0]):id(e,f),xh(r,l),r};var Zy=null,Xy=null,Jy={group:function(t,e,n){const r=Zy=e.childNodes[2];Xy=r.__values__,t.foreground(Ky,n,this),Xy=e.__values__,Zy=e.childNodes[1],t.content(Ky,n,this);const i=Zy=e.childNodes[0];t.background(Ky,n,this);const o=!1===n.mark.interactive?"none":null;if(o!==Xy.events&&(tb(r,"pointer-events",o),tb(i,"pointer-events",o),Xy.events=o),n.strokeForeground&&n.stroke){const t=n.fill;tb(r,"display",null),this.style(i,n),tb(i,"stroke",null),t&&(n.fill=null),Xy=r.__values__,this.style(r,n),t&&(n.fill=t),Zy=null}else tb(r,"display","none")},image:function(t,e,n){!1===n.smooth?(Qy(e,"image-rendering","optimizeSpeed"),Qy(e,"image-rendering","pixelated")):Qy(e,"image-rendering",null)},text:function(t,e,n){let r,i,o,a,s=Jd(n);Object(K.A)(s)?(r=(i=s.map(t=>Kd(n,t))).join("\n"))!==Xy.text&&(xh(e,0),o=e.ownerDocument,a=Xd(n),i.forEach((t,r)=>{const i=vh(o,"tspan",Iy);i.__data__=n,i.textContent=t,r&&(i.setAttribute("x",0),i.setAttribute("dy",a)),e.appendChild(i)}),Xy.text=r):(i=Kd(n,s))!==Xy.text&&(e.textContent=i,Xy.text=i),tb(e,"font-family",th(n)),tb(e,"font-size",Zd(n)+"px"),tb(e,"font-style",n.fontStyle),tb(e,"font-variant",n.fontVariant),tb(e,"font-weight",n.fontWeight)}};function Qy(t,e,n){n!==Xy[e]&&(null==n?t.style.removeProperty(e):t.style.setProperty(e,n+""),Xy[e]=n)}function Ky(t,e,n){e!==Xy[t]&&(n?function(t,e,n,r){null!=n?t.setAttributeNS(r,e,n):t.removeAttributeNS(r,e)}(Zy,t,e,n):tb(Zy,t,e),Xy[t]=e)}function tb(t,e,n){null!=n?t.setAttribute(e,n):t.removeAttribute(e)}function eb(){let t;return"undefined"==typeof window?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}function nb(t){Ah.call(this,t),this._text={head:"",bg:"",root:"",foot:"",defs:"",body:""},this._defs={gradient:{},clipping:{}}}qy._update=function(t,e,n){Zy=e,Xy=e.__values__,Fy(Ky,n),t.attr(Ky,n,this);const r=Jy[t.type];r&&r.call(this,t,e,n),Zy&&this.style(Zy,n)},qy.style=function(t,e){if(null!=e)for(const n in Ly){let r="font"===n?th(e):e[n];if(r===Xy[n])continue;const i=Ly[n];null==r?t.removeAttribute(i):(cl(r)&&(r=fl(r,this._defs.gradient,eb())),t.setAttribute(i,r+"")),Xy[n]=r}};var rb=Object(K.y)(nb,Ah),ib=Ah.prototype;function ob(t){return t.replace(/&/g,"&").replace(//g,">")}rb.resize=function(t,e,n,r){ib.resize.call(this,t,e,n,r);var i=this._origin,o=this._text,a={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var s in Ad)a[s]=Ad[s];o.head=Ry("svg",a);var u=this._bgcolor;return"transparent"!==u&&"none"!==u||(u=null),o.bg=u?Ry("rect",{width:this._width,height:this._height,fill:u})+Py("rect"):"",o.root=Ry("g",Object(K.o)({},By,{transform:"translate("+i+")"})),o.foot=Py("g")+Py("svg"),this},rb.background=function(){var t=ib.background.apply(this,arguments);return arguments.length&&this._text.head&&this.resize(this._width,this._height,this._origin,this._scale),t},rb.svg=function(){var t=this._text;return t.head+t.defs+t.bg+t.root+t.body+t.foot},rb._render=function(t){return this._text.body=this.mark(t),this._text.defs=this.buildDefs(),this},rb.buildDefs=function(){let t,e="";for(const n in this._defs.gradient){const r=this._defs.gradient[n],i=r.stops;"radial"===r.gradient?(e+=Ry(t="pattern",{id:ll+n,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),e+=Ry("rect",{width:"1",height:"1",fill:"url(#"+n+")"})+Py("rect"),e+=Py(t),e+=Ry(t="radialGradient",{id:n,fx:r.x1,fy:r.y1,fr:r.r1,cx:r.x2,cy:r.y2,r:r.r2})):e+=Ry(t="linearGradient",{id:n,x1:r.x1,x2:r.x2,y1:r.y1,y2:r.y2});for(let t=0;t{i[r||t]=e};return Array.isArray(n)?n.forEach(t=>t(o,e,this)):n(o,e,this),r&&function(t,e,n,r,i){if(null==e)return t;"bgrect"===r&&!1===n.interactive&&(t["pointer-events"]="none");if("bgfore"===r&&(!1===n.interactive&&(t["pointer-events"]="none"),t.display="none",null!==e.fill))return t;"image"===r&&!1===e.smooth&&(t.style="image-rendering: optimizeSpeed; image-rendering: pixelated;");"text"===r&&(t["font-family"]=th(e),t["font-size"]=Zd(e)+"px",e.fontStyle&&(t["font-style"]=e.fontStyle),e.fontVariant&&(t["font-variant"]=e.fontVariant),e.fontWeight&&(t["font-weight"]=e.fontWeight));for(const n in Ly){let r=e[n];const o=Ly[n];("transparent"!==r||"fill"!==o&&"stroke"!==o)&&null!=r&&(cl(r)&&(r=fl(r,i.gradient,"")),t[o]=r)}}(i,e,t,r,this._defs),i},rb.href=function(t){var e,n=this,r=t.href;if(r){if(e=n._hrefs&&n._hrefs[r])return e;n.sanitizeURL(r).then(t=>{t["xlink:href"]=t.href,t.href=null,(n._hrefs||(n._hrefs={}))[r]=t})}return null},rb.mark=function(t){const e=sh[t.marktype],n=e.tag,r=[Fy,e.attr];let i="";i+=Ry("g",Object(K.o)({class:_h(t),"clip-path":t.clip?vf(this,t,t.group):null},$y(t),{"pointer-events":"g"!==n&&!1===t.interactive?"none":null}));const o=o=>{const a=this.href(o);if(a&&(i+=Ry("a",a)),i+=Ry(n,this.attr(t,o,r,"g"!==n?n:null)),"text"===n){const t=Jd(o);if(Object(K.A)(t)){const e={x:0,dy:Xd(o)};for(let n=0;n{e+=this.mark(t)}),e};var ab={Canvas:"canvas",PNG:"png",SVG:"svg",None:"none"},sb={};function ub(t,e){return t=String(t||"").toLowerCase(),arguments.length>1?(sb[t]=e,this):sb[t]}function lb(t,e,n){const r=[],i=(new yf).union(e),o=t.marktype;return o?cb(t,i,n,r):"group"===o?fb(t,i,n,r):Object(K.n)("Intersect scene must be mark node or group item.")}function cb(t,e,n,r){if(function(t,e,n){return t.bounds&&e.intersects(t.bounds)&&("group"===t.marktype||!1!==t.interactive&&(!n||n(t)))}(t,e,n)){const i=t.items,o=t.marktype,a=i.length;let s=0;if("group"===o)for(;s=0;r--)if(i[r]!=o[r])return!1;for(r=i.length-1;r>=0;r--)if(n=i[r],!mb(t[n],e[n],n))return!1;return typeof t==typeof e}(t,e):t==e)}function vb(t,e){return mb(cc(t),cc(e))}function yb(){mf(),ul=0}function bb(t){Po.call(this,null,t)}function xb(t,e,n){return e(t.bounds.clear(),t,n)}Object(K.y)(bb,Po).transform=function(t,e){var n,r=e.dataflow,i=t.mark,o=i.marktype,a=sh[o],s=a.bound,u=i.bounds;if(a.nested)i.items.length&&r.dirty(i.items[0]),u=xb(i,s),i.items.forEach(function(t){t.bounds.clear().union(u)});else if(o===Pu||t.modified())switch(e.visit(e.MOD,t=>r.dirty(t)),u.clear(),i.items.forEach(t=>u.union(xb(t,s))),i.role){case Lu:case qu:case Bu:e.reflow()}else n=e.changed(e.REM),e.visit(e.ADD,t=>{u.union(xb(t,s))}),e.visit(e.MOD,t=>{n=n||u.alignsWith(t.bounds),r.dirty(t),u.union(xb(t,s))}),n&&(u.clear(),i.items.forEach(t=>u.union(t.bounds)));return pb(i),e.modifies("bounds")};var _b=":vega_identifier:";function wb(t){Po.call(this,0,t)}function Ob(t){Po.call(this,null,t)}function jb(t){Po.call(this,null,t)}wb.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},Object(K.y)(wb,Po).transform=function(t,e){var n=function(t){var e=t._signals[_b];e||(t._signals[_b]=e=t.add(0));return e}(e.dataflow),r=n.value,i=t.as;return e.visit(e.ADD,t=>{t[i]||(t[i]=++r)}),n.set(this.value=r),e},Object(K.y)(Ob,Po).transform=function(t,e){var n=this.value;n||((n=e.dataflow.scenegraph().mark(t.markdef,function(t){var e=t.groups,n=t.parent;return e&&1===e.size?e.get(Object.keys(e.object)[0]):e&&n?e.lookup(n):null}(t),t.index)).group.context=t.context,t.context.group||(t.context.group=n.group),n.source=this.source,n.clip=t.clip,n.interactive=t.interactive,this.value=n);var r=n.marktype===Pu?_f:xf;return e.visit(e.ADD,t=>r.call(t,n)),(t.modified("clip")||t.modified("interactive"))&&(n.clip=t.clip,n.interactive=!!t.interactive,n.zdirty=!0,e.reflow()),n.items=e.source,e};var kb={parity:t=>t.filter((t,e)=>e%2?t.opacity=0:1),greedy:(t,e)=>{var n;return t.filter((t,r)=>r&&Ab(n.bounds,t.bounds,e)?t.opacity=0:(n=t,1))}};function Ab(t,e,n){return n>Math.max(e.x1-t.x2,t.x1-e.x2,e.y1-t.y2,t.y1-e.y2)}function Eb(t,e){for(var n,r=1,i=t.length,o=t[0].bounds;r1&&e.height()>1}function Db(t){return t.forEach(t=>t.opacity=1),t}function Cb(t,e){return t.reflow(e.modified()).modifies("opacity")}function Mb(t){Po.call(this,null,t)}Object(K.y)(jb,Po).transform=function(t,e){var n,r,i,o=kb[t.method]||kb.parity,a=e.materialize(e.SOURCE).source,s=t.separation||0;if(a&&a.length){if(!t.method)return t.modified("method")&&(Db(a),e=Cb(e,t)),e;if((a=a.filter(Sb)).length){if(t.sort&&(a=a.slice().sort(t.sort)),n=Db(a),e=Cb(e,t),n.length>=3&&Eb(n,s)){do{n=o(n,s)}while(n.length>=3&&Eb(n,s));n.length<3&&!Object(K.U)(a).opacity&&(n.length>1&&(Object(K.U)(n).opacity=0),Object(K.U)(a).opacity=1)}return t.boundScale&&t.boundTolerance>=0&&(r=function(t,e,n){var r=t.range(),i=new yf;return e===ku||e===Su?i.set(r[0],-1/0,r[1],1/0):i.set(-1/0,r[0],1/0,r[1]),i.expand(n||1),t=>i.encloses(t.bounds)}(t.boundScale,t.boundOrient,+t.boundTolerance),a.forEach(t=>{r(t)||(t.opacity=0)})),i=n[0].mark.bounds.clear(),a.forEach(t=>{t.opacity&&i.union(t.bounds)}),e}}},Object(K.y)(Mb,Po).transform=function(t,e){var n=e.dataflow;if(e.visit(e.ALL,t=>n.dirty(t)),e.fields&&e.fields.zindex){var r=e.source&&e.source[0];r&&(r.mark.zdirty=!0)}};const Fb=new yf;function $b(t,e,n){return t[e]===n?0:(t[e]=n,1)}function Nb(t){var e=t.items[0].orient;return e===Au||e===Eu}function Tb(t,e,n,r){var i,o,a=e.items[0],s=a.datum,u=null!=a.translate?a.translate:.5,l=a.orient,c=function(t){var e=+t.grid;return[t.ticks?e++:-1,t.labels?e++:-1,e+ +t.domain]}(s),f=a.range,d=a.offset,h=a.position,p=a.minExtent,g=a.maxExtent,m=s.title&&a.items[c[2]].items[0],v=a.titlePadding,y=a.bounds,b=m&&Qd(m),x=0,_=0;switch(Fb.clear().union(y),y.clear(),(i=c[0])>-1&&y.union(a.items[i].bounds),(i=c[1])>-1&&y.union(a.items[i].bounds),l){case ku:x=h||0,_=-d,o=Math.max(p,Math.min(g,-y.y1)),y.add(0,-o).add(f,0),m&&zb(t,m,o,v,b,0,-1,y);break;case Au:x=-d,_=h||0,o=Math.max(p,Math.min(g,-y.x1)),y.add(-o,0).add(0,f),m&&zb(t,m,o,v,b,1,-1,y);break;case Eu:x=n+d,_=h||0,o=Math.max(p,Math.min(g,y.x2)),y.add(0,0).add(o,f),m&&zb(t,m,o,v,b,1,1,y);break;case Su:x=h||0,_=r+d,o=Math.max(p,Math.min(g,y.y2)),y.add(0,0).add(f,o),m&&zb(t,m,o,v,0,0,1,y);break;default:x=a.x,_=a.y}return Sf(y.translate(x,_),a),$b(a,"x",x+u)|$b(a,"y",_+u)&&(a.bounds=Fb,t.dirty(a),a.bounds=y,t.dirty(a)),a.mark.bounds.clear().union(y)}function zb(t,e,n,r,i,o,a,s){const u=e.bounds;if(e.auto){const s=a*(n+i+r);let l=0,c=0;t.dirty(e),o?l=(e.x||0)-(e.x=s):c=(e.y||0)-(e.y=s),e.mark.bounds.clear().union(u.translate(-l,-c)),t.dirty(e)}s.union(u)}const Rb=(t,e)=>Math.floor(Math.min(t,e)),Pb=(t,e)=>Math.ceil(Math.max(t,e));function Lb(t){return(new yf).set(0,0,t.width||0,t.height||0)}function Bb(t){var e=t.bounds.clone();return e.empty()?e.set(0,0,0,0):e.translate(-(t.x||0),-(t.y||0))}function Ib(t,e,n){var r=Object(K.F)(t)?t[e]:t;return null!=r?r:void 0!==n?n:0}function Ub(t){return t<0?Math.ceil(-t):0}function qb(t,e,n){var r,i,o,a,s,u,l,c,f,d,h,p=!n.nodirty,g=n.bounds===ol?Lb:Bb,m=Fb.set(0,0,0,0),v=Ib(n.align,al),y=Ib(n.align,sl),b=Ib(n.padding,al),x=Ib(n.padding,sl),_=n.columns||e.length,w=_<=0?1:Math.ceil(e.length/_),O=e.length,j=Array(O),k=Array(_),A=0,E=Array(O),S=Array(w),D=0,C=Array(O),M=Array(O),F=Array(O);for(i=0;i<_;++i)k[i]=0;for(i=0;i1)for(i=0;i0&&(C[i]+=f/2);if(y&&Ib(n.center,sl)&&1!==_)for(i=0;i0&&(M[i]+=d/2);for(i=0;ii&&(t.warn("Grid headers exceed limit: "+i),e=e.slice(0,i)),j+=o,g=0,v=e.length;g=0&&null==(x=n[m]);m-=d);s?(_=null==h?x.x:Math.round(x.bounds.x1+h*x.bounds.width()),w=j):(_=j,w=null==h?x.y:Math.round(x.bounds.y1+h*x.bounds.height())),y.union(b.bounds.translate(_-(b.x||0),w-(b.y||0))),b.x=_,b.y=w,t.dirty(b),k=a(k,y[l])}return k}function Vb(t,e,n,r,i,o){if(e){t.dirty(e);var a=n,s=n;r?a=Math.round(i.x1+o*i.width()):s=Math.round(i.y1+o*i.height()),e.bounds.translate(a-(e.x||0),s-(e.y||0)),e.mark.bounds.clear().union(e.bounds),e.x=a,e.y=s,t.dirty(e)}}function Zb(t,e,n,r,i,o,a){const s=function(t,e){const n=t[e]||{};return(e,r)=>null!=n[e]?n[e]:null!=t[e]?t[e]:r}(n,e),u=function(t,e){var n=-1/0;return t.forEach(t=>{null!=t.offset&&(n=Math.max(n,t.offset))}),n>-1/0?n:e}(t,s("offset",0)),l=s("anchor",$u),c=l===Tu?1:l===Nu?.5:0,f={align:il,bounds:s("bounds",ol),columns:"vertical"===s("direction")?1:t.length,padding:s("margin",8),center:s("center"),nodirty:!0};switch(e){case Au:f.anchor={x:Math.floor(r.x1)-u,column:Tu,y:c*(a||r.height()+2*r.y1),row:l};break;case Eu:f.anchor={x:Math.ceil(r.x2)+u,y:c*(a||r.height()+2*r.y1),row:l};break;case ku:f.anchor={y:Math.floor(i.y1)-u,row:Tu,x:c*(o||i.width()+2*i.x1),column:l};break;case Su:f.anchor={y:Math.ceil(i.y2)+u,x:c*(o||i.width()+2*i.x1),column:l};break;case Du:f.anchor={x:u,y:u};break;case Cu:f.anchor={x:o-u,y:u,column:Tu};break;case Mu:f.anchor={x:u,y:a-u,row:Tu};break;case Fu:f.anchor={x:o-u,y:a-u,column:Tu,row:Tu}}return f}function Xb(t,e){var n,r,i=e.items[0],o=i.datum,a=i.orient,s=i.bounds,u=i.x,l=i.y;return i._bounds?i._bounds.clear().union(s):i._bounds=s.clone(),s.clear(),function(t,e,n){var r=e.padding,i=r-n.x,o=r-n.y;if(e.datum.title){var a=e.items[1].items[0],s=a.anchor,u=e.titlePadding||0,l=r-a.x,c=r-a.y;switch(a.orient){case Au:i+=Math.ceil(a.bounds.width())+u;break;case Eu:case Su:break;default:o+=a.bounds.height()+u}switch((i||o)&&Qb(t,n,i,o),a.orient){case Au:c+=Jb(e,n,a,s,1,1);break;case Eu:l+=Jb(e,n,a,Tu,0,0)+u,c+=Jb(e,n,a,s,1,1);break;case Su:l+=Jb(e,n,a,s,0,0),c+=Jb(e,n,a,Tu,-1,0,1)+u;break;default:l+=Jb(e,n,a,s,0,0)}(l||c)&&Qb(t,a,l,c),(l=Math.round(a.bounds.x1-r))<0&&(Qb(t,n,-l,0),Qb(t,a,-l,0))}else(i||o)&&Qb(t,n,i,o)}(t,i,i.items[0].items[0]),s=function(t,e){return t.items.forEach(t=>e.union(t.bounds)),e.x1=t.padding,e.y1=t.padding,e}(i,s),n=2*i.padding,r=2*i.padding,s.empty()||(n=Math.ceil(s.width()+n),r=Math.ceil(s.height()+r)),o.type===Ju&&function(t){var e=t.reduce((t,e)=>(t[e.column]=Math.max(e.bounds.x2-e.x,t[e.column]||0),t),{});t.forEach(t=>{t.width=e[t.column],t.height=t.bounds.y2-t.y})}(i.items[0].items[0].items[0].items),a!==nl&&(i.x=u=0,i.y=l=0),i.width=n,i.height=r,Sf(s.set(u,l,u+n,l+r),i),i.mark.bounds.clear().union(s),i}function Jb(t,e,n,r,i,o,a){const s="symbol"!==t.datum.type,u=n.datum.vgrad,l=(!s||!o&&u||a?e:e.items[0]).bounds[i?"y2":"x2"]-t.padding,c=u&&o?l:0,f=u&&o?0:l,d=i<=0?0:Qd(n);return Math.round(r===$u?c:r===Tu?f-d:.5*(l-d))}function Qb(t,e,n,r){e.x+=n,e.y+=r,e.bounds.translate(n,r),e.mark.bounds.translate(n,r),t.dirty(e)}function Kb(t){Po.call(this,null,t)}function tx(t){Po.call(this,null,t)}function ex(t){Po.call(this,null,t)}function nx(){return st({})}function rx(t){Po.call(this,null,t)}function ix(t){Po.call(this,[],t)}Object(K.y)(Kb,Po).transform=function(t,e){var n=e.dataflow;return t.mark.items.forEach(e=>{t.layout&&Wb(n,e,t.layout),function(t,e,n){var r,i,o,a,s,u=e.items,l=Math.max(0,e.width||0),c=Math.max(0,e.height||0),f=(new yf).set(0,0,l,c),d=f.clone(),h=f.clone(),p=[];for(a=0,s=u.length;a{(o=t.orient||Eu)!==nl&&(e[o]||(e[o]=[])).push(t)});for(let r in e){const i=e[r];qb(t,i,Zb(i,r,n.legends,d,h,l,c))}p.forEach(e=>{const r=e.bounds;if(r.equals(e._bounds)||(e.bounds=e._bounds,t.dirty(e),e.bounds=r,t.dirty(e)),n.autosize&&n.autosize.type===Qu)switch(e.orient){case Au:case Eu:f.add(r.x1,0).add(r.x2,0);break;case ku:case Su:f.add(0,r.y1).add(0,r.y2)}else f.union(r)})}f.union(d).union(h),r&&f.union(function(t,e,n,r,i){var o,a=e.items[0],s=a.frame,u=a.orient,l=a.anchor,c=a.offset,f=a.padding,d=a.items[0].items[0],h=a.items[1]&&a.items[1].items[0],p=u===Au||u===Eu?r:n,g=0,m=0,v=0,y=0,b=0;if(s!==Pu?u===Au?(g=i.y2,p=i.y1):u===Eu?(g=i.y1,p=i.y2):(g=i.x1,p=i.x2):u===Au&&(g=r,p=0),o=l===$u?g:l===Tu?p:(g+p)/2,h&&h.text){switch(u){case ku:case Su:b=d.bounds.height()+f;break;case Au:y=d.bounds.width()+f;break;case Eu:y=-d.bounds.width()-f}Fb.clear().union(h.bounds),Fb.translate(y-(h.x||0),b-(h.y||0)),$b(h,"x",y)|$b(h,"y",b)&&(t.dirty(h),h.bounds.clear().union(Fb),h.mark.bounds.clear().union(Fb),t.dirty(h)),Fb.clear().union(h.bounds)}else Fb.clear();switch(Fb.union(d.bounds),u){case ku:m=o,v=i.y1-Fb.height()-c;break;case Au:m=i.x1-Fb.width()-c,v=o;break;case Eu:m=i.x2+Fb.width()+c,v=o;break;case Su:m=o,v=i.y2+c;break;default:m=a.x,v=a.y}return $b(a,"x",m)|$b(a,"y",v)&&(Fb.translate(m,v),t.dirty(a),a.bounds.clear().union(Fb),e.bounds.clear().union(Fb),t.dirty(a)),a.bounds}(t,r,l,c,f));e.clip&&f.set(0,0,e.width||0,e.height||0);!function(t,e,n,r){const i=r.autosize||{},o=i.type;if(t._autosize<1||!o)return;let a=t._width,s=t._height,u=Math.max(0,e.width||0),l=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,Math.ceil(n.x2-u)),f=Math.max(0,e.height||0),d=Math.max(0,Math.ceil(-n.y1)),h=Math.max(0,Math.ceil(n.y2-f));if(i.contains===Xu){const e=t.padding();a-=e.left+e.right,s-=e.top+e.bottom}o===nl?(l=0,d=0,u=a,f=s):o===Qu?(u=Math.max(0,a-l-c),f=Math.max(0,s-d-h)):o===Ku?(u=Math.max(0,a-l-c),s=f+d+h):o===tl?(a=u+l+c,f=Math.max(0,s-d-h)):o===el&&(a=u+l+c,s=f+d+h);t._resizeView(a,s,u,f,[l,d],i.resize)}(t,e,f,n)}(n,e,t)}),function(t){return t&&"legend-entry"!==t.mark.role}(t.mark.group)?e.reflow():e},Object(K.y)(tx,Po).transform=function(t,e){if(this.value&&!t.modified())return e.StopPropagation;var n=e.dataflow.locale(),r=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=this.value,o=t.scale,a=ly(o,null==t.count?t.values?t.values.length:10:t.count,t.minstep),s=t.format||dy(n,o,a,t.formatSpecifier,t.formatType,!!t.values),u=t.values?cy(o,t.values,a):fy(o,a);return i&&(r.rem=i),i=u.map(function(t,e){return st({index:e/(u.length-1||1),value:t,label:s(t)})}),t.extra&&i.length&&i.push(st({index:-1,extra:{value:i[0].value},label:""})),r.source=i,r.add=i,this.value=i,r},Object(K.y)(ex,Po).transform=function(t,e){var n=e.dataflow,r=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=t.item||nx,o=t.key||ot,a=this.value;return Object(K.A)(r.encode)&&(r.encode=null),a&&(t.modified("key")||e.modified(o))&&Object(K.n)("DataJoin does not support modified key function or fields."),a||(e=e.addAll(),this.value=a=function(t){const e=Object(K.s)().test(t=>t.exit);return e.lookup=(n=>e.get(t(n))),e}(o)),e.visit(e.ADD,t=>{const e=o(t);let n=a.get(e);n?n.exit?(a.empty--,r.add.push(n)):r.mod.push(n):(n=i(t),a.set(e,n),r.add.push(n)),n.datum=t,n.exit=!1}),e.visit(e.MOD,t=>{const e=o(t),n=a.get(e);n&&(n.datum=t,r.mod.push(n))}),e.visit(e.REM,t=>{const e=o(t),n=a.get(e);t!==n.datum||n.exit||(r.rem.push(n),n.exit=!0,++a.empty)}),e.changed(e.ADD_MOD)&&r.modifies("datum"),(e.clean()||t.clean&&a.empty>n.cleanThreshold)&&n.runAfter(a.clean),r},Object(K.y)(rx,Po).transform=function(t,e){var n=e.fork(e.ADD_REM),r=t.mod||!1,i=t.encoders,o=e.encode;if(Object(K.A)(o)){if(!n.changed()&&!o.every(function(t){return i[t]}))return e.StopPropagation;o=o[0],n.encode=null}var a="enter"===o,s=i.update||K.r,u=i.enter||K.r,l=i.exit||K.r,c=(o&&!a?i[o]:s)||K.r;if(e.changed(e.ADD)&&(e.visit(e.ADD,function(e){u(e,t),s(e,t)}),n.modifies(u.output),n.modifies(s.output),c!==K.r&&c!==s&&(e.visit(e.ADD,function(e){c(e,t)}),n.modifies(c.output))),e.changed(e.REM)&&l!==K.r&&(e.visit(e.REM,function(e){l(e,t)}),n.modifies(l.output)),a||c!==K.r){var f=e.MOD|(t.modified()?e.REFLOW:0);a?(e.visit(f,function(e){var i=u(e,t)||r;(c(e,t)||i)&&n.mod.push(e)}),n.mod.length&&n.modifies(u.output)):e.visit(f,function(e){(c(e,t)||r)&&n.mod.push(e)}),n.mod.length&&n.modifies(c.output)}return n.changed()?n:e.StopPropagation},Object(K.y)(ix,Po).transform=function(t,e){if(null!=this.value&&!t.modified())return e.StopPropagation;var n,r,i,o,a,s=e.dataflow.locale(),u=e.fork(e.NO_SOURCE|e.NO_FIELDS),l=this.value,c=t.type||iy,f=t.scale,d=+t.limit,h=ly(f,null==t.count?5:t.count,t.minstep),p=!!t.values||c===iy,g=t.format||vy(s,f,h,c,t.formatSpecifier,t.formatType,p),m=t.values||my(f,h);return l&&(u.rem=l),c===iy?(d&&m.length>d?(e.dataflow.warn("Symbol legend count exceeds limit, filtering items."),l=m.slice(0,d-1),a=!0):l=m,Object(K.D)(i=t.size)?(t.values||0!==f(l[0])||(l=l.slice(1)),o=l.reduce(function(e,n){return Math.max(e,i(n,t))},0)):i=Object(K.l)(o=i||8),l=l.map(function(e,n){return st({index:n,label:g(e,n,l),value:e,offset:o,size:i(e,t)})}),a&&(a=m[l.length],l.push(st({index:l.length,label:`…${m.length-l.length} entries`,value:a,offset:o,size:i(a,t)})))):"gradient"===c?(n=f.domain(),r=Qv(f,n[0],Object(K.U)(n)),m.length<3&&!t.values&&n[0]!==Object(K.U)(n)&&(m=[n[0],Object(K.U)(n)]),l=m.map(function(t,e){return st({index:e,label:g(t,e,m),value:t,perc:r(t)})})):(i=m.length-1,r=function(t){var e=t.domain(),n=e.length-1,r=+e[0],i=+Object(K.U)(e),o=i-r;if(t.type===up){const t=n?o/n:.1;o=(i+=t)-(r-=t)}return t=>(t-r)/o}(f),l=m.map(function(t,e){return st({index:e,label:g(t,e,m),value:t,perc:e?r(t):0,perc2:e===i?1:r(m[e+1])})})),u.source=l,u.add=l,this.value=l,u};var ox=Object(K.s)({line:fx,"line-radial":function(t,e,n,r){return fx(e*Math.cos(t),e*Math.sin(t),r*Math.cos(n),r*Math.sin(n))},arc:dx,"arc-radial":function(t,e,n,r){return dx(e*Math.cos(t),e*Math.sin(t),r*Math.cos(n),r*Math.sin(n))},curve:hx,"curve-radial":function(t,e,n,r){return hx(e*Math.cos(t),e*Math.sin(t),r*Math.cos(n),r*Math.sin(n))},"orthogonal-horizontal":function(t,e,n,r){return"M"+t+","+e+"V"+r+"H"+n},"orthogonal-vertical":function(t,e,n,r){return"M"+t+","+e+"H"+n+"V"+r},"orthogonal-radial":function(t,e,n,r){var i=Math.cos(t),o=Math.sin(t),a=Math.cos(n),s=Math.sin(n),u=Math.abs(n-t)>Math.PI?n<=t:n>t;return"M"+e*i+","+e*o+"A"+e+","+e+" 0 0,"+(u?1:0)+" "+e*a+","+e*s+"L"+r*a+","+r*s},"diagonal-horizontal":function(t,e,n,r){var i=(t+n)/2;return"M"+t+","+e+"C"+i+","+e+" "+i+","+r+" "+n+","+r},"diagonal-vertical":function(t,e,n,r){var i=(e+r)/2;return"M"+t+","+e+"C"+t+","+i+" "+n+","+i+" "+n+","+r},"diagonal-radial":function(t,e,n,r){var i=Math.cos(t),o=Math.sin(t),a=Math.cos(n),s=Math.sin(n),u=(e+r)/2;return"M"+e*i+","+e*o+"C"+u*i+","+u*o+" "+u*a+","+u*s+" "+r*a+","+r*s}});function ax(t){return t.source.x}function sx(t){return t.source.y}function ux(t){return t.target.x}function lx(t){return t.target.y}function cx(t){Po.call(this,{},t)}function fx(t,e,n,r){return"M"+t+","+e+"L"+n+","+r}function dx(t,e,n,r){var i=n-t,o=r-e,a=Math.sqrt(i*i+o*o)/2;return"M"+t+","+e+"A"+a+","+a+" "+180*Math.atan2(o,i)/Math.PI+" 0 1 "+n+","+r}function hx(t,e,n,r){var i=n-t,o=r-e,a=.2*(i+o),s=.2*(o-i);return"M"+t+","+e+"C"+(t+a)+","+(e+s)+" "+(n+s)+","+(r-a)+" "+n+","+r}function px(t,e){let n=0;if(void 0===e)for(let e of t)(e=+e)&&(n+=e);else{let r=-1;for(let i of t)(i=+e(i,++r,t))&&(n+=i)}return n}function gx(t){Po.call(this,null,t)}cx.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"}]},Object(K.y)(cx,Po).transform=function(t,e){var n=t.sourceX||ax,r=t.sourceY||sx,i=t.targetX||ux,o=t.targetY||lx,a=t.as||"path",s=t.orient||"vertical",u=t.shape||"line",l=ox.get(u+"-"+s)||ox.get(u);return l||Object(K.n)("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:"")),e.visit(e.SOURCE,function(t){t[a]=l(n(t),r(t),i(t),o(t))}),e.reflow(t.modified()).modifies(a)},gx.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"]}]},Object(K.y)(gx,Po).transform=function(t,e){var n,r,i,o=t.as||["startAngle","endAngle"],a=o[0],s=o[1],u=t.field||K.O,l=t.startAngle||0,c=null!=t.endAngle?t.endAngle:2*Math.PI,f=e.source,d=f.map(u),h=d.length,p=l,g=(c-l)/px(d),m=ou(h);for(t.sort&&m.sort(function(t,e){return d[t]-d[e]}),n=0;n0?1:0)},0))!==e.length&&n.warn("Log scale domain includes zero: "+Object(K.Z)(e)));return e}function _x(t,e,n){return Object(K.D)(t)&&(e||n)?Zv(t,wx(e||[0,1],n)):t}function wx(t,e){return e?t.slice().reverse():t}function Ox(t){Po.call(this,null,t)}Object(K.y)(bx,Po).transform=function(t,e){var n=e.dataflow,r=this.value,i=function(t){var e,n=t.type,r="";if(n===ip)return ip+"-"+Jh;(function(t){const e=t.type;return Um(e)&&e!==np&&e!==rp&&(t.scheme||t.range&&t.range.length&&t.range.every(K.H))})(t)&&(e=t.rawDomain?t.rawDomain.length:t.domain?t.domain.length+ +(null!=t.domainMid):0,r=2===e?ip+"-":3===e?op+"-":"");return(r+n||Jh).toLowerCase()}(t);for(i in r&&i===r.type||(this.value=r=Lm(i)()),t)if(!yx[i]){if("padding"===i&&vx(r.type))continue;Object(K.D)(r[i])?r[i](t[i]):n.warn("Unsupported scale property: "+i)}return function(t,e,n){var r=t.type,i=e.round||!1,o=e.range;if(null!=e.rangeStep)o=function(t,e,n){t!==fp&&t!==cp&&Object(K.n)("Only band and point scales support rangeStep.");var r=(null!=e.paddingOuter?e.paddingOuter:e.padding)||0,i=t===cp?1:(null!=e.paddingInner?e.paddingInner:e.padding)||0;return[0,e.rangeStep*Xh(n,i,r)]}(r,e,n);else if(e.scheme&&(o=function(t,e,n){var r,i,o=e.schemeExtent;Object(K.A)(e.scheme)?i=Xv(e.scheme,e.interpolate,e.interpolateGamma):(r=e.scheme.toLowerCase(),(i=ry(r))||Object(K.n)(`Unrecognized scheme name: ${e.scheme}`));return n=t===up?n+1:t===dp?n-1:t===ap||t===sp?+e.schemeCount||mx:n,Ym(t)?_x(i,o,e.reverse):Object(K.D)(i)?Jv(_x(i,o),n):t===lp?i:i.slice(0,n)}(r,e,n),Object(K.D)(o))){if(t.interpolator)return t.interpolator(o);Object(K.n)(`Scale type ${r} does not support interpolating color schemes.`)}if(o&&Ym(r))return t.interpolator(Xv(wx(o,e.reverse),e.interpolate,e.interpolateGamma));o&&e.interpolate&&t.interpolate?t.interpolate(Kv(e.interpolate,e.interpolateGamma)):Object(K.D)(t.round)?t.round(i):Object(K.D)(t.rangeRound)&&t.interpolate(i?Gg:Yg);o&&t.range(wx(o,e.reverse))}(r,t,function(t,e,n){let r=e.bins;if(r&&!Object(K.A)(r)){let e=t.domain(),n=e[0],i=Object(K.U)(e),o=null==r.start?n:r.start,a=null==r.stop?i:r.stop,s=r.step;s||Object(K.n)("Scale bins parameter missing step property."),oi&&(a=s*Math.floor(i/s)),r=ou(o,a+s/2,s)}r?t.bins=r:t.bins&&delete t.bins;t.type===dp&&(r?e.domain||e.domainRaw||(t.domain(r),n=r.length):t.bins=t.domain());return n}(r,t,function(t,e,n){var r=function(t,e,n){return e?(t.domain(xx(t.type,e,n)),e.length):-1}(t,e.domainRaw,n);if(r>-1)return r;var i,o,a=e.domain,s=t.type,u=e.zero||void 0===e.zero&&function(t){const e=t.type;return!t.bins&&(e===Jh||e===Kh||e===tp)}(t);if(!a)return 0;vx(s)&&e.padding&&a[0]!==Object(K.U)(a)&&(a=function(t,e,n,r,i,o){var a=Math.abs(Object(K.U)(n)-n[0]),s=a/(a-2*r),u=t===Qh?Object(K.mb)(e,null,s):t===tp?Object(K.nb)(e,null,s,.5):t===Kh?Object(K.nb)(e,null,s,i||1):t===ep?Object(K.ob)(e,null,s,o||1):Object(K.lb)(e,null,s);return(e=e.slice())[0]=u[0],e[e.length-1]=u[1],e}(s,a,e.range,e.padding,e.exponent,e.constant));if((u||null!=e.domainMin||null!=e.domainMax||null!=e.domainMid)&&(i=(a=a.slice()).length-1||1,u&&(a[0]>0&&(a[0]=0),a[i]<0&&(a[i]=0)),null!=e.domainMin&&(a[0]=e.domainMin),null!=e.domainMax&&(a[i]=e.domainMax),null!=e.domainMid)){const t=(o=e.domainMid)>a[i]?i+1:od&&(d=f),n&&c.sort(n)}return h.max=d,h}(e.source,t.groupby,l,c),r=0,i=n.length,o=n.max;ri(t,e))}function i(r,i){var a=[],s=[];return function(n,r,i){var a,s,u,l,c,f,d=new Array,h=new Array;a=s=-1,l=n[0]>=r,Cx[l<<1].forEach(p);for(;++a=r,Cx[u|l<<1].forEach(p);Cx[l<<0].forEach(p);for(;++s=r,c=n[s*t]>=r,Cx[l<<1|c<<2].forEach(p);++a=r,f=c,c=n[s*t+a+1]>=r,Cx[u|l<<1|c<<2|f<<3].forEach(p);Cx[l|c<<3].forEach(p)}a=-1,c=n[s*t]>=r,Cx[c<<2].forEach(p);for(;++a=r,Cx[c<<2|f<<3].forEach(p);function p(t){var e,n,r=[t[0][0]+a,t[0][1]+s],u=[t[1][0]+a,t[1][1]+s],l=o(r),c=o(u);(e=h[l])?(n=d[c])?(delete h[e.end],delete d[n.start],e===n?(e.ring.push(u),i(e.ring)):d[e.start]=h[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete h[e.end],e.ring.push(u),h[e.end=c]=e):(e=d[c])?(n=h[l])?(delete d[e.start],delete h[n.end],e===n?(e.ring.push(u),i(e.ring)):d[n.start]=h[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete d[e.start],e.ring.unshift(r),d[e.start=l]=e):d[l]=h[c]={start:l,end:c,ring:[r,u]}}Cx[c<<3].forEach(p)}(r,i,function(t){n(t,r,i),function(t){var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];for(;++e0?a.push([t]):s.push(t)}),s.forEach(function(t){for(var e,n=0,r=a.length;n0&&a0&&s=0&&o>=0||Object(K.n)("invalid size"),t=i,e=o,r},r.smooth=function(t){return arguments.length?(n=t?a:Dx,r):n===a},r};function Fx(t,e){for(var n,r=-1,i=e.length;++rr!=h>r&&n<(d-l)*(r-c)/(h-c)+l&&(i=-i)}return i}function Nx(t,e,n){var r;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&function(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}(t[r=+(t[0]===e[0])],n[r],e[r])}var Tx=function(t,e,n){return function(r){var i=Object(K.p)(r),o=n?Math.min(i[0],0):i[0],a=i[1],s=a-o,u=e?be(o,a,t):s/(t+1);return ou(u,a,u)}};function zx(t){Po.call(this,null,t)}function Rx(t,e,n,r,i){const o=t.x1||0,a=t.y1||0,s=e*n<0;function u(t){t.forEach(l)}function l(t){s&&t.reverse(),t.forEach(c)}function c(t){t[0]=(t[0]-o)*e+r,t[1]=(t[1]-a)*n+i}return function(t){return t.coordinates.forEach(u),t}}function Px(t,e,n){const r=t>=0?t:ca(e,n);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function Lx(t){return Object(K.D)(t)?t:Object(K.l)(+t)}zx.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"}]},Object(K.y)(zx,Po).transform=function(t,e){if(this.value&&!e.changed()&&!t.modified())return e.StopPropagation;var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=e.materialize(e.SOURCE).source,i=t.field||K.x,o=Mx().smooth(!1!==t.smooth),a=t.thresholds||function(t,e,n){const r=Tx(n.levels||10,n.nice,!1!==n.zero);return"shared"!==n.resolve?r:r(t.map(t=>ra(e(t).values)))}(r,i,t),s=null===t.as?null:t.as||"contour",u=[];return r.forEach(e=>{const n=i(e),r=o.size([n.width,n.height])(n.values,Object(K.A)(a)?a:a(n.values));!function(t,e,n,r){let i=r.scale||e.scale,o=r.translate||e.translate;Object(K.D)(i)&&(i=i(n,r));Object(K.D)(o)&&(o=o(n,r));if((1===i||null==i)&&!o)return;const a=(Object(K.E)(i)?i:i[0])||1,s=(Object(K.E)(i)?i:i[1])||1,u=o&&o[0]||0,l=o&&o[1]||0;t.forEach(Rx(e,a,s,u,l))}(r,n,e,t),r.forEach(t=>{u.push(lt(e,st(null!=s?{[s]:t}:t)))})}),this.value&&(n.rem=this.value),this.value=n.source=n.add=u,n};var Bx=function(){var t=t=>t[0],e=t=>t[1],n=K.O,r=[-1,-1],i=960,o=500,a=2;function s(s,u){const l=Px(r[0],s,t)>>a,c=Px(r[1],s,e)>>a,f=l?l+2:0,d=c?c+2:0,h=2*f+(i>>a),p=2*d+(o>>a),g=new Float32Array(h*p),m=new Float32Array(h*p);let v=g;s.forEach(r=>{const i=f+(+t(r)>>a),o=d+(+e(r)>>a);i>=0&&i=0&&o0&&c>0?(Ix(h,p,g,m,l),Ux(h,p,m,g,c),Ix(h,p,g,m,l),Ux(h,p,m,g,c),Ix(h,p,g,m,l),Ux(h,p,m,g,c)):l>0?(Ix(h,p,g,m,l),Ix(h,p,m,g,l),Ix(h,p,g,m,l),v=m):c>0&&(Ux(h,p,g,m,c),Ux(h,p,m,g,c),Ux(h,p,g,m,c),v=m);let y=u?Math.pow(2,-2*a):1/px(v);for(let t=0,e=h*p;t>a),y2:d+(o>>a)}}return s.x=function(e){return arguments.length?(t=Lx(e),s):t},s.y=function(t){return arguments.length?(e=Lx(t),s):e},s.weight=function(t){return arguments.length?(n=Lx(t),s):n},s.size=function(t){if(!arguments.length)return[i,o];var e=+t[0],n=+t[1];return e>=0&&n>=0||Object(K.n)("invalid size"),i=e,o=n,s},s.cellSize=function(t){return arguments.length?((t=+t)>=1||Object(K.n)("invalid cell size"),a=Math.floor(Math.log(t)/Math.LN2),s):1<=i&&(e>=o&&(s-=n[e-o+a*t]),r[e-i+a*t]=s/Math.min(e+1,t-1+o-e,o))}function Ux(t,e,n,r,i){const o=1+(i<<1);for(let a=0;a=i&&(s>=o&&(u-=n[a+(s-o)*t]),r[a+(s-i)*t]=u/Math.min(s+1,e-1+o-s,o))}function qx(t){Po.call(this,null,t)}qx.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"}]};const Wx=["x","y","weight","size","cellSize","bandwidth"];function Hx(t,e){return Wx.forEach(n=>null!=e[n]?t[n](e[n]):0),t}function Yx(t){Po.call(this,null,t)}Object(K.y)(qx,Po).transform=function(t,e){if(this.value&&!e.changed()&&!t.modified())return e.StopPropagation;var n,r=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=function(t,e){var n,r,i,o,a,s,u=[],l=t=>t(o);if(null==e)u.push(t);else for(n={},r=0,i=t.length;rst(function(t,e){for(let n=0;n0?1:t<0?-1:0},j_=Math.sqrt,k_=Math.tan;function A_(t){return t>1?0:t<-1?u_:Math.acos(t)}function E_(t){return t>1?l_:t<-1?-l_:Math.asin(t)}function S_(){}var D_,C_,M_,F_,$_=r_(),N_=r_(),T_={point:S_,lineStart:S_,lineEnd:S_,polygonStart:function(){T_.lineStart=z_,T_.lineEnd=L_},polygonEnd:function(){T_.lineStart=T_.lineEnd=T_.point=S_,$_.add(p_(N_)),N_.reset()},result:function(){var t=$_/2;return $_.reset(),t}};function z_(){T_.point=R_}function R_(t,e){T_.point=P_,D_=M_=t,C_=F_=e}function P_(t,e){N_.add(F_*t-M_*e),M_=t,F_=e}function L_(){P_(D_,C_)}var B_=T_,I_=1/0,U_=I_,q_=-I_,W_=q_;var H_,Y_,G_,V_,Z_={point:function(t,e){tq_&&(q_=t);eW_&&(W_=e)},lineStart:S_,lineEnd:S_,polygonStart:S_,polygonEnd:S_,result:function(){var t=[[I_,U_],[q_,W_]];return q_=W_=-(U_=I_=1/0),t}},X_=0,J_=0,Q_=0,K_=0,tw=0,ew=0,nw=0,rw=0,iw=0,ow={point:aw,lineStart:sw,lineEnd:cw,polygonStart:function(){ow.lineStart=fw,ow.lineEnd=dw},polygonEnd:function(){ow.point=aw,ow.lineStart=sw,ow.lineEnd=cw},result:function(){var t=iw?[nw/iw,rw/iw]:ew?[K_/ew,tw/ew]:Q_?[X_/Q_,J_/Q_]:[NaN,NaN];return X_=J_=Q_=K_=tw=ew=nw=rw=iw=0,t}};function aw(t,e){X_+=t,J_+=e,++Q_}function sw(){ow.point=uw}function uw(t,e){ow.point=lw,aw(G_=t,V_=e)}function lw(t,e){var n=t-G_,r=e-V_,i=j_(n*n+r*r);K_+=i*(G_+t)/2,tw+=i*(V_+e)/2,ew+=i,aw(G_=t,V_=e)}function cw(){ow.point=aw}function fw(){ow.point=hw}function dw(){pw(H_,Y_)}function hw(t,e){ow.point=pw,aw(H_=G_=t,Y_=V_=e)}function pw(t,e){var n=t-G_,r=e-V_,i=j_(n*n+r*r);K_+=i*(G_+t)/2,tw+=i*(V_+e)/2,ew+=i,nw+=(i=V_*t-G_*e)*(G_+t),rw+=i*(V_+e),iw+=3*i,aw(G_=t,V_=e)}var gw=ow;function mw(t){this._context=t}mw.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,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(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,f_)}},result:S_};var vw,yw,bw,xw,_w,ww=r_(),Ow={point:S_,lineStart:function(){Ow.point=jw},lineEnd:function(){vw&&kw(yw,bw),Ow.point=S_},polygonStart:function(){vw=!0},polygonEnd:function(){vw=null},result:function(){var t=+ww;return ww.reset(),t}};function jw(t,e){Ow.point=kw,yw=xw=t,bw=_w=e}function kw(t,e){xw-=t,_w-=e,ww.add(j_(xw*xw+_w*_w)),xw=t,_w=e}var Aw=Ow;function Ew(){this._string=[]}function Sw(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}Ew.prototype={_radius:4.5,_circle:Sw(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Sw(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Dw=function(t,e){var n,r,i=4.5;function o(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),n_(t,n(r))),r.result()}return o.area=function(t){return n_(t,n(B_)),B_.result()},o.measure=function(t){return n_(t,n(Aw)),Aw.result()},o.bounds=function(t){return n_(t,n(Z_)),Z_.result()},o.centroid=function(t){return n_(t,n(gw)),gw.result()},o.projection=function(e){return arguments.length?(n=null==e?(t=null,Xx):(t=e).stream,o):t},o.context=function(t){return arguments.length?(r=null==t?(e=null,new Ew):new mw(e=t),"function"!=typeof i&&r.pointRadius(i),o):e},o.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),o):i},o.projection(t).context(e)},Cw=function(){var t,e=[];return{point:function(e,n,r){t.push([e,n,r])},lineStart:function(){e.push(t=[])},lineEnd:S_,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},Mw=function(t,e){return p_(t[0]-e[0])=0;--o)i.point((c=l[o])[0],c[1]);else r(d.x,d.p.x,-1,i);d=d.p}l=(d=d.o).z,h=!h}while(!d.v);i.lineEnd()}}};function Nw(t){if(e=t.length){for(var e,n,r=0,i=t[0];++re?1:t>=e?0:NaN};var Hw=function(t){return 1===t.length&&(t=function(t){return function(e,n){return Ww(t(e),n)}}(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[o],n)<0?r=o+1:i=o}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[o],n)>0?i=o:r=o+1}return r}}}(Ww);Hw.right,Hw.left;var Yw=Array.prototype,Gw=(Yw.slice,Yw.map,function(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),o=new Array(i);++r=0;)for(e=(r=t[i]).length;--e>=0;)n[--a]=r[e];return n};var Zw=function(t,e,n,r){return function(i){var o,a,s,u=e(i),l=Cw(),c=e(l),f=!1,d={point:h,lineStart:g,lineEnd:m,polygonStart:function(){d.point=v,d.lineStart=y,d.lineEnd=b,a=[],o=[]},polygonEnd:function(){d.point=h,d.lineStart=g,d.lineEnd=m,a=Vw(a);var t=function(t,e){var n=qw(e),r=e[1],i=w_(r),o=[w_(n),-v_(n),0],a=0,s=0;Uw.reset(),1===i?r=l_+s_:-1===i&&(r=-l_-s_);for(var u=0,l=t.length;u=0?1:-1,k=j*O,A=k>u_,E=g*_;if(Uw.add(m_(E*j*w_(k),m*w+E*v_(k))),a+=A?O+j*f_:O,A^h>=n^b>=n){var S=Pw(zw(d),zw(y));Iw(S);var D=Pw(o,S);Iw(D);var C=(A^O>=0?-1:1)*E_(D[2]);(r>C||r===C&&(S[0]||S[1]))&&(s+=A^O>=0?1:-1)}}return(a<-s_||a0){for(f||(i.polygonStart(),f=!0),i.lineStart(),t=0;t1&&2&u&&d.push(d.pop().concat(d.shift())),a.push(d.filter(Xw))}return d}};function Xw(t){return t.length>1}function Jw(t,e){return((t=t.x)[0]<0?t[1]-l_-s_:l_-t[1])-((e=e.x)[0]<0?e[1]-l_-s_:l_-e[1])}var Qw=Zw(function(){return!0},function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,a){var s=o>0?u_:-u_,u=p_(o-n);p_(u-u_)0?l_:-l_),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(o,r),e=0):i!==s&&u>=u_&&(p_(n-i)s_?g_((w_(e)*(o=v_(r))*w_(n)-w_(r)*(i=v_(e))*w_(t))/(i*o*a)):(e+r)/2}(n,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),e=0),t.point(n=o,r=a),i=s},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}},function(t,e,n,r){var i;if(null==t)i=n*l_,r.point(-u_,i),r.point(0,i),r.point(u_,i),r.point(u_,0),r.point(u_,-i),r.point(0,-i),r.point(-u_,-i),r.point(-u_,0),r.point(-u_,i);else if(p_(t[0]-e[0])>s_){var o=t[0]u_?t+Math.round(-t/f_)*f_:t,e]}function eO(t,e,n){return(t%=f_)?e||n?Kw(rO(t),iO(e,n)):rO(t):e||n?iO(e,n):tO}function nO(t){return function(e,n){return[(e+=t)>u_?e-f_:e<-u_?e+f_:e,n]}}function rO(t){var e=nO(t);return e.invert=nO(-t),e}function iO(t,e){var n=v_(t),r=w_(t),i=v_(e),o=w_(e);function a(t,e){var a=v_(e),s=v_(t)*a,u=w_(t)*a,l=w_(e),c=l*n+s*r;return[m_(u*i-c*o,s*n-l*r),E_(c*i+u*o)]}return a.invert=function(t,e){var a=v_(e),s=v_(t)*a,u=w_(t)*a,l=w_(e),c=l*i-u*o;return[m_(u*i+l*o,s*n+c*r),E_(c*n-s*r)]},a}tO.invert=tO;var oO=function(t){function e(e){return(e=t(e[0]*h_,e[1]*h_))[0]*=d_,e[1]*=d_,e}return t=eO(t[0]*h_,t[1]*h_,t.length>2?t[2]*h_:0),e.invert=function(e){return(e=t.invert(e[0]*h_,e[1]*h_))[0]*=d_,e[1]*=d_,e},e};function aO(t,e,n,r,i,o){if(n){var a=v_(e),s=w_(e),u=r*n;null==i?(i=e+r*f_,o=e-u/2):(i=sO(a,i),o=sO(a,o),(r>0?io)&&(i+=r*f_));for(var l,c=i;r>0?c>o:c0,i=p_(e)>s_;function o(t,n){return v_(t)*v_(n)>e}function a(t,n,r){var i=[1,0,0],o=Pw(zw(t),zw(n)),a=Rw(o,o),s=o[0],u=a-s*s;if(!u)return!r&&t;var l=e*a/u,c=-e*s/u,f=Pw(i,o),d=Bw(i,l);Lw(d,Bw(o,c));var h=f,p=Rw(d,h),g=Rw(h,h),m=p*p-g*(Rw(d,d)-1);if(!(m<0)){var v=j_(m),y=Bw(h,(-p-v)/g);if(Lw(y,d),y=Tw(y),!r)return y;var b,x=t[0],_=n[0],w=t[1],O=n[1];_0^y[1]<(p_(y[0]-x)u_^(x<=y[0]&&y[0]<=_)){var A=Bw(h,(-p+v)/g);return Lw(A,d),[y,Tw(A)]}}}function s(e,n){var i=r?t:u_-t,o=0;return e<-i?o|=1:e>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return Zw(o,function(t){var e,n,u,l,c;return{lineStart:function(){l=u=!1,c=1},point:function(f,d){var h,p=[f,d],g=o(f,d),m=r?g?0:s(f,d):g?s(f+(f<0?u_:-u_),d):0;if(!e&&(l=u=g)&&t.lineStart(),g!==u&&(!(h=a(e,p))||Mw(e,h)||Mw(p,h))&&(p[2]=1),g!==u)c=0,g?(t.lineStart(),h=a(p,e),t.point(h[0],h[1])):(h=a(e,p),t.point(h[0],h[1],2),t.lineEnd()),e=h;else if(i&&e&&r^g){var v;m&n||!(v=a(p,e,!0))||(c=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1],3)))}!g||e&&Mw(e,p)||t.point(p[0],p[1]),e=p,u=g,n=m},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return c|(l&&u)<<1}}},function(e,r,i,o){aO(o,t,n,i,e,r)},r?[0,-t]:[-u_,t-u_])},lO=function(t,e,n,r,i,o){var a,s=t[0],u=t[1],l=0,c=1,f=e[0]-s,d=e[1]-u;if(a=n-s,f||!(a>0)){if(a/=f,f<0){if(a0){if(a>c)return;a>l&&(l=a)}if(a=i-s,f||!(a<0)){if(a/=f,f<0){if(a>c)return;a>l&&(l=a)}else if(f>0){if(a0)){if(a/=d,d<0){if(a0){if(a>c)return;a>l&&(l=a)}if(a=o-u,d||!(a<0)){if(a/=d,d<0){if(a>c)return;a>l&&(l=a)}else if(d>0){if(a0&&(t[0]=s+l*f,t[1]=u+l*d),c<1&&(e[0]=s+c*f,e[1]=u+c*d),!0}}}}},cO=1e9,fO=-cO;function dO(t,e,n,r){function i(i,o){return t<=i&&i<=n&&e<=o&&o<=r}function o(i,o,s,l){var c=0,f=0;if(null==i||(c=a(i,s))!==(f=a(o,s))||u(i,o)<0^s>0)do{l.point(0===c||3===c?t:n,c>1?r:e)}while((c=(c+s+4)%4)!==f);else l.point(o[0],o[1])}function a(r,i){return p_(r[0]-t)0?0:3:p_(r[0]-n)0?2:1:p_(r[1]-e)0?1:0:i>0?3:2}function s(t,e){return u(t.x,e.x)}function u(t,e){var n=a(t,1),r=a(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(a){var u,l,c,f,d,h,p,g,m,v,y,b=a,x=Cw(),_={point:w,lineStart:function(){_.point=O,l&&l.push(c=[]);v=!0,m=!1,p=g=NaN},lineEnd:function(){u&&(O(f,d),h&&m&&x.rejoin(),u.push(x.result()));_.point=w,m&&b.lineEnd()},polygonStart:function(){b=x,u=[],l=[],y=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=l.length;nr&&(d-o)*(r-a)>(h-a)*(t-o)&&++e:h<=r&&(d-o)*(r-a)<(h-a)*(t-o)&&--e;return e}(),n=y&&e,i=(u=Vw(u)).length;(n||i)&&(a.polygonStart(),n&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&$w(u,s,e,o,a),a.polygonEnd());b=a,u=l=c=null}};function w(t,e){i(t,e)&&b.point(t,e)}function O(o,a){var s=i(o,a);if(l&&c.push([o,a]),v)f=o,d=a,h=s,v=!1,s&&(b.lineStart(),b.point(o,a));else if(s&&m)b.point(o,a);else{var u=[p=Math.max(fO,Math.min(cO,p)),g=Math.max(fO,Math.min(cO,g))],x=[o=Math.max(fO,Math.min(cO,o)),a=Math.max(fO,Math.min(cO,a))];lO(u,x,t,e,n,r)?(m||(b.lineStart(),b.point(u[0],u[1])),b.point(x[0],x[1]),s||b.lineEnd(),y=!1):s&&(b.lineStart(),b.point(o,a),y=!1)}p=o,g=a,m=s}return _}}function hO(t){return function(e){var n=new pO;for(var r in t)n[r]=t[r];return n.stream=e,n}}function pO(){}function gO(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),n_(n,t.stream(Z_)),e(Z_.result()),null!=r&&t.clipExtent(r),t}function mO(t,e,n){return gO(t,function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],o=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),a=+e[0][0]+(r-o*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(i-o*(n[1][1]+n[0][1]))/2;t.scale(150*o).translate([a,s])},n)}function vO(t,e,n){return mO(t,[[0,0],e],n)}function yO(t,e,n){return gO(t,function(n){var r=+e,i=r/(n[1][0]-n[0][0]),o=(r-i*(n[1][0]+n[0][0]))/2,a=-i*n[0][1];t.scale(150*i).translate([o,a])},n)}function bO(t,e,n){return gO(t,function(n){var r=+e,i=r/(n[1][1]-n[0][1]),o=-i*n[0][0],a=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([o,a])},n)}pO.prototype={constructor:pO,point:function(t,e){this.stream.point(t,e)},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 xO=16,_O=v_(30*h_),wO=function(t,e){return+e?function(t,e){function n(r,i,o,a,s,u,l,c,f,d,h,p,g,m){var v=l-r,y=c-i,b=v*v+y*y;if(b>4*e&&g--){var x=a+d,_=s+h,w=u+p,O=j_(x*x+_*_+w*w),j=E_(w/=O),k=p_(p_(w)-1)e||p_((v*D+y*C)/b-.5)>.3||a*d+s*h+u*p<_O)&&(n(r,i,o,a,s,u,E,S,k,x/=O,_/=O,w,g,m),m.point(E,S),n(E,S,k,x,_,w,l,c,f,d,h,p,g,m))}}return function(e){var r,i,o,a,s,u,l,c,f,d,h,p,g={point:m,lineStart:v,lineEnd:b,polygonStart:function(){e.polygonStart(),g.lineStart=x},polygonEnd:function(){e.polygonEnd(),g.lineStart=v}};function m(n,r){n=t(n,r),e.point(n[0],n[1])}function v(){c=NaN,g.point=y,e.lineStart()}function y(r,i){var o=zw([r,i]),a=t(r,i);n(c,f,l,d,h,p,c=a[0],f=a[1],l=r,d=o[0],h=o[1],p=o[2],xO,e),e.point(c,f)}function b(){g.point=m,e.lineEnd()}function x(){v(),g.point=_,g.lineEnd=w}function _(t,e){y(r=t,e),i=c,o=f,a=d,s=h,u=p,g.point=y}function w(){n(c,f,l,d,h,p,i,o,r,a,s,u,xO,e),g.lineEnd=b,b()}return g}}(t,e):function(t){return hO({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}(t)};var OO=hO({point:function(t,e){this.stream.point(t*h_,e*h_)}});function jO(t,e,n,r,i,o){var a=v_(o),s=w_(o),u=a*t,l=s*t,c=a/t,f=s/t,d=(s*n-a*e)/t,h=(s*e+a*n)/t;function p(t,o){return[u*(t*=r)-l*(o*=i)+e,n-l*t-u*o]}return p.invert=function(t,e){return[r*(c*t-f*e+d),i*(h-f*t-c*e)]},p}function kO(t){return AO(function(){return t})()}function AO(t){var e,n,r,i,o,a,s,u,l,c,f=150,d=480,h=250,p=0,g=0,m=0,v=0,y=0,b=0,x=1,_=1,w=null,O=Qw,j=null,k=Xx,A=.5;function E(t){return u(t[0]*h_,t[1]*h_)}function S(t){return(t=u.invert(t[0],t[1]))&&[t[0]*d_,t[1]*d_]}function D(){var t=jO(f,0,0,x,_,b).apply(null,e(p,g)),r=(b?jO:function(t,e,n,r,i){function o(o,a){return[e+t*(o*=r),n-t*(a*=i)]}return o.invert=function(o,a){return[(o-e)/t*r,(n-a)/t*i]},o})(f,d-t[0],h-t[1],x,_,b);return n=eO(m,v,y),s=Kw(e,r),u=Kw(n,s),a=wO(s,A),C()}function C(){return l=c=null,E}return E.stream=function(t){return l&&c===t?l:l=OO(function(t){return hO({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}(n)(O(a(k(c=t)))))},E.preclip=function(t){return arguments.length?(O=t,w=void 0,C()):O},E.postclip=function(t){return arguments.length?(k=t,j=r=i=o=null,C()):k},E.clipAngle=function(t){return arguments.length?(O=+t?uO(w=t*h_):(w=null,Qw),C()):w*d_},E.clipExtent=function(t){return arguments.length?(k=null==t?(j=r=i=o=null,Xx):dO(j=+t[0][0],r=+t[0][1],i=+t[1][0],o=+t[1][1]),C()):null==j?null:[[j,r],[i,o]]},E.scale=function(t){return arguments.length?(f=+t,D()):f},E.translate=function(t){return arguments.length?(d=+t[0],h=+t[1],D()):[d,h]},E.center=function(t){return arguments.length?(p=t[0]%360*h_,g=t[1]%360*h_,D()):[p*d_,g*d_]},E.rotate=function(t){return arguments.length?(m=t[0]%360*h_,v=t[1]%360*h_,y=t.length>2?t[2]%360*h_:0,D()):[m*d_,v*d_,y*d_]},E.angle=function(t){return arguments.length?(b=t%360*h_,D()):b*d_},E.reflectX=function(t){return arguments.length?(x=t?-1:1,D()):x<0},E.reflectY=function(t){return arguments.length?(_=t?-1:1,D()):_<0},E.precision=function(t){return arguments.length?(a=wO(s,A=t*t),C()):j_(A)},E.fitExtent=function(t,e){return mO(E,t,e)},E.fitSize=function(t,e){return vO(E,t,e)},E.fitWidth=function(t,e){return yO(E,t,e)},E.fitHeight=function(t,e){return bO(E,t,e)},function(){return e=t.apply(this,arguments),E.invert=e.invert&&S,D()}}function EO(t){var e=0,n=u_/3,r=AO(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*h_,n=t[1]*h_):[e*d_,n*d_]},i}function SO(t,e){var n=w_(t),r=(n+w_(e))/2;if(p_(r)0?e<-l_+s_&&(e=-l_+s_):e>l_-s_&&(e=l_-s_);var n=i/__(RO(e),r);return[n*w_(r*t),i-n*v_(r*t)]}return o.invert=function(t,e){var n=i-e,o=O_(r)*j_(t*t+n*n),a=m_(t,p_(n))*O_(n);return n*r<0&&(a-=u_*O_(t)*O_(n)),[a/r,2*g_(__(i/o,1/r))-l_]},o}function LO(t,e){return[t,e]}LO.invert=LO;function BO(t,e){var n=v_(t),r=t===e?w_(t):(n-v_(e))/(e-t),i=n/r+t;if(p_(r)s_&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]};function ZO(t,e){return[v_(e)*w_(t),w_(e)]}ZO.invert=FO(E_);function XO(t,e){var n=v_(e),r=1+v_(t)*n;return[n*w_(t)/r,w_(e)/r]}XO.invert=FO(function(t){return 2*g_(t)});function JO(t,e){return[x_(k_((l_+e)/2)),-t]}JO.invert=function(t,e){return[-e,2*g_(b_(t))-l_]};var QO=Math.abs,KO=(Math.atan,Math.atan2,Math.ceil,Math.cos),tj=(Math.exp,Math.floor,Math.log,Math.max,Math.min,Math.pow,Math.round,Math.sign,Math.sin),ej=(Math.tan,1e-6),nj=Math.PI,rj=nj/2,ij=(Math.SQRT1_2,aj(2));aj(nj);function oj(t){return t>1?rj:t<-1?-rj:Math.asin(t)}function aj(t){return t>0?Math.sqrt(t):0}var sj=function(t,e,n){function r(r,i){return[t*r*KO(i=function(t,e){var n,r=t*tj(e),i=30;do{e-=n=(e+tj(e)-r)/(1+KO(e))}while(QO(n)>ej&&--i>0);return e/2}(n,i)),e*tj(i)]}return r.invert=function(r,i){return i=oj(i/e),[r/(t*KO(i)),oj((2*i+tj(2*i))/n)]},r}(ij/rj,ij,nj),uj=Dw(),lj=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function cj(t,e){if(!t||"string"!=typeof t)throw new Error("Projection type must be a name string.");return t=t.toLowerCase(),arguments.length>1?(dj[t]=function(t,e){return function n(){var r=e();return r.type=t,r.path=Dw().projection(r),r.copy=r.copy||function(){var t=n();return lj.forEach(function(e){r[e]&&t[e](r[e]())}),t.path.pointRadius(r.path.pointRadius()),t},r}}(t,e),this):dj[t]||null}function fj(t){return t&&t.path||uj}var dj={albers:CO,albersusa:function(){var t,e,n,r,i,o,a=CO(),s=DO().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=DO().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,e){o=[t,e]}};function c(t){var e=t[0],a=t[1];return o=null,n.point(e,a),o||(r.point(e,a),o)||(i.point(e,a),o)}function f(){return t=e=null,c}return c.invert=function(t){var e=a.scale(),n=a.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?u:a).invert(t)},c.stream=function(n){return t&&e===n?t:t=function(t){var e=t.length;return{point:function(n,r){for(var i=-1;++i2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)}};for(var hj in dj)cj(hj,dj[hj]);function pj(t){Po.call(this,null,t)}function gj(t){Po.call(this,null,t)}function mj(t){Po.call(this,null,t)}function vj(t,e,n){var r=Gw(t,e-s_,n).concat(e);return function(t){return r.map(function(e){return[t,e]})}}function yj(t,e,n){var r=Gw(t,e-s_,n).concat(e);return function(t){return r.map(function(e){return[e,t]})}}function bj(){var t,e,n,r,i,o,a,s,u,l,c,f,d=10,h=d,p=90,g=360,m=2.5;function v(){return{type:"MultiLineString",coordinates:y()}}function y(){return Gw(y_(r/p)*p,n,p).map(c).concat(Gw(y_(s/g)*g,a,g).map(f)).concat(Gw(y_(e/d)*d,t,d).filter(function(t){return p_(t%p)>s_}).map(u)).concat(Gw(y_(o/h)*h,i,h).filter(function(t){return p_(t%g)>s_}).map(l))}return v.lines=function(){return y().map(function(t){return{type:"LineString",coordinates:t}})},v.outline=function(){return{type:"Polygon",coordinates:[c(r).concat(f(a).slice(1),c(n).reverse().slice(1),f(s).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(r=+t[0][0],n=+t[1][0],s=+t[0][1],a=+t[1][1],r>n&&(t=r,r=n,n=t),s>a&&(t=s,s=a,a=t),v.precision(m)):[[r,s],[n,a]]},v.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],o=+n[0][1],i=+n[1][1],e>t&&(n=e,e=t,t=n),o>i&&(n=o,o=i,i=n),v.precision(m)):[[e,o],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(p=+t[0],g=+t[1],v):[p,g]},v.stepMinor=function(t){return arguments.length?(d=+t[0],h=+t[1],v):[d,h]},v.precision=function(d){return arguments.length?(m=+d,u=vj(o,i,90),l=yj(e,t,m),c=vj(s,a,90),f=yj(r,n,m),v):m},v.extentMajor([[-180,-90+s_],[180,90-s_]]).extentMinor([[-180,-80-s_],[180,80+s_]])}function xj(t){Po.call(this,[],t),this.generator=bj()}function _j(t){Po.call(this,null,t)}function wj(t){if(!Object(K.D)(t))return!1;const e=Object(K.db)(Object(K.g)(t));return e.$x||e.$y||e.$value||e.$max}function Oj(t){Po.call(this,null,t),this.modified(!0)}function jj(t,e,n){Object(K.D)(t[e])&&t[e](n)}pj.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"}]},Object(K.y)(pj,Po).transform=function(t,e){var n=e.fork(e.ALL),r=this.value,i=t.field||K.x,o=t.as||"path",a=n.SOURCE;!r||t.modified()?(this.value=r=fj(t.projection),n.materialize().reflow()):a=i===K.x||e.modified(i.fields)?n.ADD_MOD:n.ADD;var s=function(t,e){var n=t.pointRadius();t.context(null),null!=e&&t.pointRadius(e);return n}(r,t.pointRadius);return n.visit(a,function(t){t[o]=r(i(t))}),r.pointRadius(s),n.modifies(o)},gj.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"]}]},Object(K.y)(gj,Po).transform=function(t,e){var n,r=t.projection,i=t.fields[0],o=t.fields[1],a=t.as||["x","y"],s=a[0],u=a[1];function l(t){var e=r([i(t),o(t)]);e?(t[s]=e[0],t[u]=e[1]):(t[s]=void 0,t[u]=void 0)}return t.modified()?e=e.materialize().reflow(!0).visit(e.SOURCE,l):(n=e.modified(i.fields)||e.modified(o.fields),e.visit(n?e.ADD_MOD:e.ADD,l)),e.modifies(a)},mj.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"}]},Object(K.y)(mj,Po).transform=function(t,e){var n=e.fork(e.ALL),r=this.value,i=t.as||"shape",o=n.ADD;return r&&!t.modified()||(this.value=r=function(t,e,n){var r=null==n?function(n){return t(e(n))}:function(r){var i=t.pointRadius(),o=t.pointRadius(n)(e(r));return t.pointRadius(i),o};return r.context=function(e){return t.context(e),r},r}(fj(t.projection),t.field||Object(K.t)("datum"),t.pointRadius),n.materialize().reflow(),o=n.SOURCE),n.visit(o,function(t){t[i]=r}),n.modifies(i)},xj.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}]},Object(K.y)(xj,Po).transform=function(t,e){var n,r=this.value,i=this.generator;if(!r.length||t.modified())for(var o in t)Object(K.D)(i[o])&&i[o](t[o]);return n=i(),r.length?e.mod.push(ct(r[0],n)):e.add.push(st(n)),r[0]=n,e},_j.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"}]},Object(K.y)(_j,Po).transform=function(t,e){if(!e.changed()&&!t.modified())return e.StopPropagation;var n=e.materialize(e.SOURCE).source,r="shared"===t.resolve,i=t.field||K.x,o=function(t,e){let n;Object(K.D)(t)?(n=(n=>t(n,e))).dep=wj(t):t?n=Object(K.l)(t):(n=(t=>t.$value/t.$max||0)).dep=!0;return n}(t.opacity,t),a=function(t,e){let n;Object(K.D)(t)?(n=(n=>pg(t(n,e)))).dep=wj(t):n=Object(K.l)(pg(t||"#888"));return n}(t.color,t),s=t.as||"image",u={$x:0,$y:0,$value:0,$max:r?ra(n.map(t=>ra(i(t).values))):0};return n.forEach(t=>{const e=i(t),n=Object(K.o)({},t,u);r||(n.$max=ra(e.values||[])),t[s]=function(t,e,n,r){const i=t.width,o=t.height,a=t.x1||0,s=t.y1||0,u=t.x2||i,l=t.y2||o,c=t.values,f=c?t=>c[t]:K.kb,d=wf(u-a,l-s),h=d.getContext("2d"),p=h.getImageData(0,0,u-a,l-s),g=p.data;for(let t=s,o=0;tt.concat(function(t){return t.type===Vx?t.features:Object(K.i)(t).filter(t=>null!=t).map(t=>t.type===Gx?t:{type:Gx,geometry:t})}(e)),[])}}(e.fit);e.extent?t.fitExtent(e.extent,n):e.size&&t.fitSize(e.size,n)}(n,t),e.fork(e.NO_SOURCE|e.NO_FIELDS)};function kj(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,o,a,s,u,l,c,f,d,h=t._root,p={data:r},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!h)return t._root=p,t;for(;h.length;)if((l=e>=(o=(g+v)/2))?g=o:v=o,(c=n>=(a=(m+y)/2))?m=a:y=a,i=h,!(h=h[f=c<<1|l]))return i[f]=p,t;if(s=+t._x.call(null,h.data),u=+t._y.call(null,h.data),e===s&&n===u)return p.next=h,i?i[f]=p:t._root=p,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(l=e>=(o=(g+v)/2))?g=o:v=o,(c=n>=(a=(m+y)/2))?m=a:y=a}while((f=c<<1|l)==(d=(u>=a)<<1|s>=o));return i[d]=h,i[f]=p,t}var Aj=function(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i};function Ej(t){return t[0]}function Sj(t){return t[1]}function Dj(t,e,n){var r=new Cj(null==e?Ej:e,null==n?Sj:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Cj(t,e,n,r,i,o){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Mj(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var Fj=Dj.prototype=Cj.prototype;Fj.copy=function(){var t,e,n=new Cj(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=Mj(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=Mj(e));return n},Fj.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return kj(this.cover(e,n),e,n,t)},Fj.addAll=function(t){var e,n,r,i,o=t.length,a=new Array(o),s=new Array(o),u=1/0,l=1/0,c=-1/0,f=-1/0;for(n=0;nc&&(c=r),if&&(f=i));if(u>c||l>f)return this;for(this.cover(u,l).cover(c,f),n=0;nt||t>=i||r>e||e>=o;)switch(s=(ed||(o=u.y0)>h||(a=u.x1)=v)<<1|t>=m)&&(u=p[p.length-1],p[p.length-1]=p[p.length-1-l],p[p.length-1-l]=u)}else{var y=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),x=y*y+b*b;if(x=(s=(p+m)/2))?p=s:m=s,(c=a>=(u=(g+v)/2))?g=u:v=u,e=h,!(h=h[f=c<<1|l]))return this;if(!h.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(n=e,d=f)}for(;h.data!==t;)if(r=h,!(h=h.next))return this;return(i=h.next)&&delete h.next,r?(i?r.next=i:delete r.next,this):e?(i?e[f]=i:delete e[f],(h=e[0]||e[1]||e[2]||e[3])&&h===(e[3]||e[2]||e[1]||e[0])&&!h.length&&(n?n[d]=h:this._root=h),this):(this._root=i,this)},Fj.removeAll=function(t){for(var e=0,n=t.length;e=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})}(t+"",r),o=-1,a=i.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var n,r,i=new Array(n),o=0;o=0&&e._call.call(null,t),e=e._next;--Gj}()}finally{Gj=0,function(){var t,e,n=Wj,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Wj=e);Hj=t,uk(r)}(),Qj=0}}function sk(){var t=tk.now(),e=t-Jj;e>Xj&&(Kj-=e,Jj=t)}function uk(t){Gj||(Vj&&(Vj=clearTimeout(Vj)),t-Qj>24?(t<1/0&&(Vj=setTimeout(ak,t-tk.now()-Kj)),Zj&&(Zj=clearInterval(Zj))):(Zj||(Jj=tk.now(),Zj=setInterval(sk,Xj)),Gj=1,ek(ak)))}function lk(t){return t.x}function ck(t){return t.y}ik.prototype=ok.prototype={constructor:ik,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?nk():+n)+(null==e?0:+e),this._next||Hj===this||(Hj?Hj._next=this:Wj=this,Hj=this),this._call=t,this._time=n,uk()},stop:function(){this._call&&(this._call=null,this._time=1/0,uk())}};var fk=10,dk=Math.PI*(3-Math.sqrt(5)),hk=function(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,s=new Map,u=ok(c),l=Yj("tick","end");function c(){f(),l.call("tick",e),n1?(null==n?s.delete(t):s.set(t,h(n)),e):s.get(t)},find:function(e,n,r){var i,o,a,s,u,l=0,c=t.length;for(null==r?r=1/0:r*=r,l=0;l1?(l.on(t,n),e):l.on(t)}}},pk={center:function(t,e){var n;function r(){var r,i,o=n.length,a=0,s=0;for(r=0;ru+h||il+h||os.index){var p=u-a.x-a.vx,g=l-a.y-a.vy,m=p*p+g*g;mt.r&&(t.r=t[e].r)}function s(){if(e){var r,i,o=e.length;for(n=new Array(o),r=0;r=a)){(t.data!==e||t.next)&&(0===c&&(h+=(c=Nj())*c),0===f&&(h+=(f=Nj())*f),h[a(t,e,r),t]));for(s=0,i=new Array(l);s=0;)n.tick();else if(n.stopped()&&n.restart(),!r)return e.StopPropagation;return this.finish(t,e)},xk.finish=function(t,e){for(var n,r=e.dataflow,i=this._argops,o=0,a=i.length;o=0;)e+=n[r].value;else e=1;t.value=e}function Ek(t,e){var n,r,i,o,a,s=new Mk(t),u=+t.value&&(s.value=t.value),l=[s];for(null==e&&(e=Sk);n=l.pop();)if(u&&(n.value=+n.data.value),(i=e(n.data))&&(a=i.length))for(n.children=new Array(a),o=a-1;o>=0;--o)l.push(r=n.children[o]=new Mk(i[o])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(Ck)}function Sk(t){return t.children}function Dk(t){t.data=t.data.data}function Ck(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function Mk(t){this.data=t,this.depth=this.height=0,this.parent=null}function Fk(t){Po.call(this,null,t)}function $k(t){return t.values}function Nk(t){Po.call(this,null,t)}function Tk(t,e){return t.parent===e.parent?1:2}Mk.prototype=Ek.prototype={constructor:Mk,count:function(){return this.eachAfter(Ak)},each:function(t){var e,n,r,i,o=this,a=[o];do{for(e=a.reverse(),a=[];o=e.pop();)if(t(o),n=o.children)for(r=0,i=n.length;r=0;--n)i.push(e[n]);return this},sum:function(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;for(t=n.pop(),e=r.pop();t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each(function(e){t.push(e)}),t},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e},copy:function(){return Ek(this).eachBefore(Dk)}},Fk.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]},Object(K.y)(Fk,Po).transform=function(t,e){e.source||Object(K.n)("Nest transform requires an upstream data source.");var n=t.generate,r=t.modified(),i=e.clone(),o=this.value;return(!o||r||e.changed())&&(o&&o.each(t=>{t.children&&it(t.data)&&i.rem.push(t.data)}),this.value=o=Ek({values:Object(K.i)(t.keys).reduce((t,e)=>(t.key(e),t),function(){var t,e=[];return t={entries:t=>(function t(n,r){if(++r>e.length)return n;var i,o=[];for(i in n)o.push({key:i,values:t(n[i],r)});return o})(function t(n,r){if(r>=e.length)return n;var i,o,a,s=-1,u=n.length,l=e[r++],c={},f={};for(;++s(e.push(n),t)}}()).entries(i.source)},$k),n&&o.each(t=>{t.children&&(t=st(t.data),i.add.push(t),i.source.push(t))}),kk(o,ot,ot)),i.source.root=o,i},Object(K.y)(Nk,Po).transform=function(t,e){e.source&&e.source.root||Object(K.n)(this.constructor.name+" transform requires a backing tree data source.");var n=this.layout(t.method),r=this.fields,i=e.source.root,o=t.as||r;t.field?i.sum(t.field):i.count(),t.sort&&i.sort(ft(t.sort,t=>t.data)),function(t,e,n){for(var r,i=0,o=e.length;i0&&n*n>r*r+i*i}function Ik(t,e){for(var n=0;n(a*=a)?(r=(l+a-i)/(2*l),o=Math.sqrt(Math.max(0,a/l-r*r)),n.x=t.x-r*s-o*u,n.y=t.y-r*u+o*s):(r=(l+i-a)/(2*l),o=Math.sqrt(Math.max(0,i/l-r*r)),n.x=e.x+r*s-o*u,n.y=e.y+r*u+o*s)):(n.x=e.x+n.r,n.y=e.y)}function Yk(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function Gk(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,o=(e.y*n.r+n.y*e.r)/r;return i*i+o*o}function Vk(t){this._=t,this.next=null,this.previous=null}function Zk(t){if(!(i=t.length))return 0;var e,n,r,i,o,a,s,u,l,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(n=t[1],e.x=-n.r,n.x=e.r,n.y=0,!(i>2))return e.r+n.r;Hk(n,e,r=t[2]),e=new Vk(e),n=new Vk(n),r=new Vk(r),e.next=r.previous=n,n.next=e.previous=r,r.next=n.previous=e;t:for(s=3;s0)throw new Error("cycle");return o}return n.id=function(e){return arguments.length?(t=Xk(e),n):t},n.parentId=function(t){return arguments.length?(e=Xk(t),n):e},n};function vA(t){Po.call(this,null,t)}function yA(t,e){return t.parent===e.parent?1:2}function bA(t){var e=t.children;return e?e[0]:t.t}function xA(t){var e=t.children;return e?e[e.length-1]:t.t}function _A(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function wA(t,e,n){return t.a.parent===e.parent?t.a:n}function OA(t,e){this._=t,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=e}vA.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]},Object(K.y)(vA,Po).transform=function(t,e){e.source||Object(K.n)("Stratify transform requires an upstream data source.");var n=this.value,r=t.modified(),i=e.fork(e.ALL).materialize(e.SOURCE),o=!this.value||r||e.changed(e.ADD_REM)||e.modified(t.key.fields)||e.modified(t.parentKey.fields);return i.source=i.source.slice(),o&&(n=i.source.length?kk(mA().id(t.key).parentId(t.parentKey)(i.source),t.key,K.gb):kk(mA()([{}]),t.key,t.key)),i.source.root=this.value=n,i},OA.prototype=Object.create(Mk.prototype);function jA(t,e){return t.parent===e.parent?1:2}function kA(t,e){return t+e.x}function AA(t,e){return Math.max(t,e.y)}var EA={tidy:function(){var t=yA,e=1,n=1,r=null;function i(i){var u=function(t){for(var e,n,r,i,o,a=new OA(t,0),s=[a];e=s.pop();)if(r=e._.children)for(e.children=new Array(o=r.length),i=o-1;i>=0;--i)s.push(n=e.children[i]=new OA(r[i],i)),n.parent=e;return(a.parent=new OA(null,0)).children=[a],a}(i);if(u.eachAfter(o),u.parent.m=-u.z,u.eachBefore(a),r)i.eachBefore(s);else{var l=i,c=i,f=i;i.eachBefore(function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)});var d=l===c?1:t(l,c)/2,h=d-l.x,p=e/(c.x+d+h),g=n/(f.depth||1);i.eachBefore(function(t){t.x=(t.x+h)*p,t.y=t.depth*g})}return i}function o(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,i=t.children,o=i.length;--o>=0;)(e=i[o]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var o=(n[0].z+n[n.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-o):e.z=o}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,n,r){if(n){for(var i,o=e,a=e,s=n,u=o.parent.children[0],l=o.m,c=a.m,f=s.m,d=u.m;s=xA(s),o=bA(o),s&&o;)u=bA(u),(a=xA(a)).a=e,(i=s.z+f-o.z-l+t(s._,o._))>0&&(_A(wA(s,e,r),e,i),l+=i,c+=i),f+=s.m,l+=o.m,d+=u.m,c+=a.m;s&&!xA(a)&&(a.t=s,a.m+=f-c),o&&!bA(u)&&(u.t=o,u.m+=l-d,r=e)}return r}(e,i,e.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i},cluster:function(){var t=jA,e=1,n=1,r=!1;function i(i){var o,a=0;i.eachAfter(function(e){var n=e.children;n?(e.x=function(t){return t.reduce(kA,0)/t.length}(n),e.y=function(t){return 1+t.reduce(AA,0)}(n)):(e.x=o?a+=t(e,o):0,e.y=0,o=e)});var s=function(t){for(var e;e=t.children;)t=e[0];return t}(i),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(i),l=s.x-t(s,u)/2,c=u.x+t(u,s)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*e,t.y=(i.y-t.y)*n}:function(t){t.x=(t.x-l)/(c-l)*e,t.y=(1-(i.y?t.y/i.y:1))*n})}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i}},SA=["x","y","depth","children"];function DA(t){Nk.call(this,t)}DA.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:SA.length,default:SA}]};var CA=Object(K.y)(DA,Nk);function MA(t){Po.call(this,[],t)}CA.layout=function(t){var e=t||"tidy";if(Object(K.v)(EA,e))return EA[e]();Object(K.n)("Unrecognized Tree layout method: "+e)},CA.params=["size","nodeSize"],CA.fields=SA,MA.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},Object(K.y)(MA,Po).transform=function(t,e){var n=this.value,r=e.source&&e.source.root,i=e.fork(e.NO_SOURCE),o={};return r||Object(K.n)("TreeLinks transform requires a tree data source."),e.changed(e.ADD_REM)?(i.rem=n,e.visit(e.SOURCE,function(t){o[ot(t)]=1}),r.each(function(t){var e=t.data,n=t.parent&&t.parent.data;n&&o[ot(e)]&&o[ot(n)]&&i.add.push(st({source:n,target:e}))}),this.value=i.add):e.changed(e.MOD)&&(e.visit(e.MOD,function(t){o[ot(t)]=1}),n.forEach(function(t){(o[ot(t.source)]||o[ot(t.target)])&&i.mod.push(t)})),i};var FA=function(t,e,n,r,i){for(var o,a=t.children,s=-1,u=a.length,l=t.value&&(i-n)/t.value;++sd&&(d=s),m=c*c*g,(h=Math.max(d/m,m/f))>p){c-=s;break}p=h}v.push(a={value:c,dice:u1?e:1)},n}($A),zA=function t(e){function n(t,n,r,i,o){if((a=t._squarify)&&a.ratio===e)for(var a,s,u,l,c,f=-1,d=a.length,h=t.value;++f1?e:1)},n}($A),RA={binary:function(t,e,n,r,i){var o,a,s=t.children,u=s.length,l=new Array(u+1);for(l[0]=a=o=0;o=n-1){var c=s[e];return c.x0=i,c.y0=o,c.x1=a,void(c.y1=u)}for(var f=l[e],d=r/2+f,h=e+1,p=n-1;h>>1;l[g]u-o){var y=(i*v+a*m)/r;t(e,h,m,i,o,y,u),t(h,n,v,y,o,a,u)}else{var b=(o*v+u*m)/r;t(e,h,m,i,o,a,b),t(h,n,v,i,b,a,u)}}(0,u,t.value,e,n,r,i)},dice:sA,slice:FA,slicedice:function(t,e,n,r,i){(1&t.depth?FA:sA)(t,e,n,r,i)},squarify:TA,resquarify:zA},PA=["x0","y0","x1","y1","depth","children"];function LA(t){Nk.call(this,t)}LA.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:PA.length,default:PA}]};var BA=Object(K.y)(LA,Nk);BA.layout=function(){var t=function(){var t=TA,e=!1,n=1,r=1,i=[0],o=Jk,a=Jk,s=Jk,u=Jk,l=Jk;function c(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(f),i=[0],e&&t.eachBefore(aA),t}function f(e){var n=i[e.depth],r=e.x0+n,c=e.y0+n,f=e.x1-n,d=e.y1-n;f{Za(e,t.x,t.y,t.bandwidth||.3).forEach(t=>{const n={};for(let t=0;t{if(n.length<=u)return void e.dataflow.warn("Skipping regression with more parameters than data points.");const r=c(n,t.x,t.y,s);if(t.params)return void f.push(st({keys:n.dims,coef:r.coef,rSquared:r.rSquared}));const i=d||Object(K.p)(n,t.x),h=t=>{const e={};for(let t=0;th([t,r.predict(t)])):Ka(r.predict,i,25,200).forEach(h)}),this.value&&(n.rem=this.value),this.value=n.add=n.source=f}return n};const HA=Math.pow(2,-52),YA=new Uint32Array(512);class GA{static from(t,e=function(t){return t[0]},n=function(t){return t[1]}){const r=t.length,i=new Float64Array(2*r);for(let o=0;o>1;if(e>0&&"number"!=typeof t[0])throw new Error("Expected coords to contain numbers.");this.coords=t;const n=Math.max(2*e-5,0);this._triangles=new Uint32Array(3*n),this._halfedges=new Int32Array(3*n),this._hashSize=Math.ceil(Math.sqrt(e)),this._hullPrev=new Uint32Array(e),this._hullNext=new Uint32Array(e),this._hullTri=new Uint32Array(e),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(e),this._dists=new Float64Array(e),this.update()}update(){const{coords:t,_hullPrev:e,_hullNext:n,_hullTri:r,_hullHash:i}=this,o=t.length>>1;let a=1/0,s=1/0,u=-1/0,l=-1/0;for(let e=0;eu&&(u=n),r>l&&(l=r),this._ids[e]=e}const c=(a+u)/2,f=(s+l)/2;let d,h,p,g=1/0;for(let e=0;e0&&(h=e,g=n)}let y=t[2*h],b=t[2*h+1],x=1/0;for(let e=0;er&&(e[n++]=i,r=this._dists[i])}return this.hull=e.subarray(0,n),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(XA(m,v,y,b,_,w)){const t=h,e=y,n=b;h=p,y=_,b=w,p=t,_=e,w=n}const O=function(t,e,n,r,i,o){const a=n-t,s=r-e,u=i-t,l=o-e,c=a*a+s*s,f=u*u+l*l,d=.5/(a*l-s*u);return{x:t+(l*c-s*f)*d,y:e+(a*f-u*c)*d}}(m,v,y,b,_,w);this._cx=O.x,this._cy=O.y;for(let e=0;e0&&Math.abs(l-o)<=HA&&Math.abs(c-a)<=HA)continue;if(o=l,a=c,u===d||u===h||u===p)continue;let f=0;for(let t=0,e=this._hashKey(l,c);t0?3-n:1+n)/4}(t-this._cx,e-this._cy)*this._hashSize)%this._hashSize}_legalize(t){const{_triangles:e,_halfedges:n,coords:r}=this;let i=0,o=0;for(;;){const a=n[t],s=t-t%3;if(o=s+(t+2)%3,-1===a){if(0===i)break;t=YA[--i];continue}const u=a-a%3,l=s+(t+1)%3,c=u+(a+2)%3,f=e[o],d=e[t],h=e[l],p=e[c];if(JA(r[2*f],r[2*f+1],r[2*d],r[2*d+1],r[2*h],r[2*h+1],r[2*p],r[2*p+1])){e[t]=p,e[a]=f;const r=n[c];if(-1===r){let e=this._hullStart;do{if(this._hullTri[e]===c){this._hullTri[e]=t;break}e=this._hullPrev[e]}while(e!==this._hullStart)}this._link(t,r),this._link(a,n[o]),this._link(o,c);const s=u+(a+1)%3;i=3.3306690738754716e-16*Math.abs(a+s)?a-s:0}function XA(t,e,n,r,i,o){return(ZA(i,o,t,e,n,r)||ZA(t,e,n,r,i,o)||ZA(n,r,i,o,t,e))<0}function JA(t,e,n,r,i,o,a,s){const u=t-a,l=e-s,c=n-a,f=r-s,d=i-a,h=o-s,p=c*c+f*f,g=d*d+h*h;return u*(f*g-p*h)-l*(c*g-p*d)+(u*u+l*l)*(c*h-f*d)<0}function QA(t,e,n,r,i,o){const a=n-t,s=r-e,u=i-t,l=o-e,c=a*a+s*s,f=u*u+l*l,d=.5/(a*l-s*u),h=(l*c-s*f)*d,p=(a*f-u*c)*d;return h*h+p*p}function KA(t,e,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){const r=t[i],o=e[r];let a=i-1;for(;a>=n&&e[t[a]]>o;)t[a+1]=t[a--];t[a+1]=r}else{let i=n+1,o=r;tE(t,n+r>>1,i),e[t[n]]>e[t[r]]&&tE(t,n,r),e[t[i]]>e[t[r]]&&tE(t,i,r),e[t[n]]>e[t[i]]&&tE(t,n,i);const a=t[i],s=e[a];for(;;){do{i++}while(e[t[i]]s);if(o=o-n?(KA(t,e,i,r),KA(t,e,n,o-1)):(KA(t,e,n,o-1),KA(t,e,i,r))}}function tE(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}const eE=1e-6;class nE{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,e){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,e){this._+=`L${this._x1=+t},${this._y1=+e}`}arc(t,e,n){const r=(t=+t)+(n=+n),i=e=+e;if(n<0)throw new Error("negative radius");null===this._x1?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>eE||Math.abs(this._y1-i)>eE)&&(this._+="L"+r+","+i),n&&(this._+=`A${n},${n},0,1,1,${t-n},${e}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(t,e,n,r){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${+n}v${+r}h${-n}Z`}value(){return this._||null}}class rE{constructor(){this._=[]}moveTo(t,e){this._.push([t,e])}closePath(){this._.push(this._[0].slice())}lineTo(t,e){this._.push([t,e])}value(){return this._.length?this._:null}}class iE{constructor(t,[e,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(e=+e)&&(i=+i)>=(n=+n)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(2*t.points.length),this.vectors=new Float64Array(2*t.points.length),this.xmax=r,this.xmin=e,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:e,triangles:n},vectors:r}=this,i=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let e,r,o=0,a=0,s=n.length;o1;)i-=2;for(let t=2;t4)for(let t=0;t0){if(e>=this.ymax)return null;(i=(this.ymax-e)/r)0){if(t>=this.xmax)return null;(i=(this.xmax-t)/n)this.xmax?2:0)|(ethis.ymax?8:0)}}const oE=2*Math.PI,aE=Math.pow;function sE(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}class uE{static from(t,e=function(t){return t[0]},n=function(t){return t[1]},r){return new uE("length"in t?function(t,e,n,r){const i=t.length,o=new Float64Array(2*i);for(let a=0;a2&&function(t){const{triangles:e,coords:n}=t;for(let t=0;t1e-10)return!1}return!0}(t)){this.collinear=Int32Array.from({length:e.length/2},(t,e)=>e).sort((t,n)=>e[2*t]-e[2*n]||e[2*t+1]-e[2*n+1]);const t=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[e[2*t],e[2*t+1],e[2*n],e[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let t=0,n=e.length/2;t0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],this.triangles[1]=r[1],this.triangles[2]=r[1],o[r[0]]=1,2===r.length&&(o[r[1]]=0))}voronoi(t){return new iE(this,t)}*neighbors(t){const{inedges:e,hull:n,_hullIndex:r,halfedges:i,triangles:o,collinear:a}=this;if(a){const e=a.indexOf(t);return e>0&&(yield a[e-1]),void(e=0&&i!==n&&i!==r;)n=i;return i}_step(t,e,n){const{inedges:r,hull:i,_hullIndex:o,halfedges:a,triangles:s,points:u}=this;if(-1===r[t]||!u.length)return(t+1)%(u.length>>1);let l=t,c=aE(e-u[2*t],2)+aE(n-u[2*t+1],2);const f=r[t];let d=f;do{let r=s[d];const f=aE(e-u[2*r],2)+aE(n-u[2*r+1],2);if(f=f));)if(e.x=a+i,e.y=l+o,!(e.x+e.x0<0||e.y+e.y0<0||e.x+e.x1>s[0]||e.y+e.y1>s[1])&&(!n||!vE(e,t,s[0]))&&(!n||bE(e,n))){for(var g,m=e.sprite,v=e.width>>5,y=s[0]>>5,b=e.x-(v<<4),x=127&b,_=32-x,w=e.y1-e.y0,O=(e.y+e.y0)*y+(b>>5),j=0;j>>x:0);O+=y}return e.sprite=null,!0}return!1}return f.layout=function(){for(var u=function(t){t.width=t.height=1;var e=Math.sqrt(t.getContext("2d").getImageData(0,0,1,1).data.length>>2);t.width=(hE<<5)/e,t.height=pE/e;var n=t.getContext("2d");return n.fillStyle=n.strokeStyle="red",n.textAlign="center",{context:n,ratio:e}}(wf()),f=function(t){var e=[],n=-1;for(;++n>5)*s[1]),h=null,p=l.length,g=-1,m=[],v=l.map(function(s){return{text:t(s),font:e(s),style:r(s),weight:i(s),rotate:o(s),size:~~(n(s)+1e-14),padding:a(s),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:s}}).sort(function(t,e){return e.size-t.size});++g>1,y.y=s[1]*(c()+.5)>>1,mE(u,y,v,g),y.hasText&&d(f,y,h)&&(m.push(y),h?yE(h,y):h=[{x:y.x+y.x0,y:y.y+y.y0},{x:y.x+y.x1,y:y.y+y.y1}],y.x-=s[0]>>1,y.y-=s[1]>>1)}return m},f.words=function(t){return arguments.length?(l=t,f):l},f.size=function(t){return arguments.length?(s=[+t[0],+t[1]],f):s},f.font=function(t){return arguments.length?(e=_E(t),f):e},f.fontStyle=function(t){return arguments.length?(r=_E(t),f):r},f.fontWeight=function(t){return arguments.length?(i=_E(t),f):i},f.rotate=function(t){return arguments.length?(o=_E(t),f):o},f.text=function(e){return arguments.length?(t=_E(e),f):t},f.spiral=function(t){return arguments.length?(u=wE[t]||t,f):u},f.fontSize=function(t){return arguments.length?(n=_E(t),f):n},f.padding=function(t){return arguments.length?(a=_E(t),f):a},f.random=function(t){return arguments.length?(c=t,f):c},f};function mE(t,e,n,r){if(!e.sprite){var i=t.context,o=t.ratio;i.clearRect(0,0,(hE<<5)/o,pE/o);var a,s,u,l,c,f=0,d=0,h=0,p=n.length;for(--r;++r>5<<5,u=~~Math.max(Math.abs(y+b),Math.abs(y-b))}else a=a+31>>5<<5;if(u>h&&(h=u),f+a>=hE<<5&&(f=0,d+=h,h=0),d+u>=pE)break;i.translate((f+(a>>1))/o,(d+(u>>1))/o),e.rotate&&i.rotate(e.rotate*dE),i.fillText(e.text,0,0),e.padding&&(i.lineWidth=2*e.padding,i.strokeText(e.text,0,0)),i.restore(),e.width=a,e.height=u,e.xoff=f,e.yoff=d,e.x1=a>>1,e.y1=u>>1,e.x0=-e.x1,e.y0=-e.y1,e.hasText=!0,f+=a}for(var _=i.getImageData(0,0,(hE<<5)/o,pE/o).data,w=[];--r>=0;)if((e=n[r]).hasText){for(s=(a=e.width)>>5,u=e.y1-e.y0,l=0;l>5),A=_[(d+c)*(hE<<5)+(f+l)<<2]?1<<31-l%32:0;w[k]|=A,O|=A}O?j=c:(e.y0++,u--,c--,d++)}e.y1=e.y0+j,e.sprite=w.slice(0,(e.y1-e.y0)*s)}}}function vE(t,e,n){n>>=5;for(var r,i=t.sprite,o=t.width>>5,a=t.x-(o<<4),s=127&a,u=32-s,l=t.y1-t.y0,c=(t.y+t.y0)*n+(a>>5),f=0;f>>s:0))&e[c+d])return!0;c+=n}return!1}function yE(t,e){var n=t[0],r=t[1];e.x+e.x0r.x&&(r.x=e.x+e.x1),e.y+e.y1>r.y&&(r.y=e.y+e.y1)}function bE(t,e){return t.x+t.x1>e[0].x&&t.x+t.x0e[0].y&&t.y+t.y0>1,g=h[1]>>1,m=0,v=d.length;mt[e])};function CE(){var t=AE(0),e=[],n=0;return{insert:function(r,i,o){if(!i.length)return[];var a,s,u,l=n,c=i.length,f=Array(c),d=AE(c);for(u=0;ui?1:0}),DE(t,e)}(f,d),l)a=e,s=t,e=Array(l+c),t=AE(l+c),function(t,e,n,r,i,o,a,s,u){var l,c=0,f=0;for(l=0;c0)for(u=0;u=e?t:((n=n||new t.constructor(e)).set(t),n)}(n,e.length)},add:function(t){for(var n,r=0,i=e.length,o=t.length;rr.length||n>t)&&(t=Math.max(n,t),r=EE(e,t,r),i=EE(e,t))}}}(),t),this._indices=null,this._dims=null}ME.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}}]};var FE=Object(K.y)(ME,Po);function $E(t){Po.call(this,null,t)}FE.transform=function(t,e){return this._dims?t.modified("fields")||t.fields.some(function(t){return e.modified(t.fields)})?this.reinit(t,e):this.eval(t,e):this.init(t,e)},FE.init=function(t,e){for(var n,r,i=t.fields,o=t.query,a=this._indices={},s=this._dims=[],u=o.length,l=0;lm)for(i=m,o=Math.min(p,v);iv)for(i=Math.max(p,v),o=g;ih)for(i=h,o=Math.min(f,p);ip)for(i=Math.max(f,p),o=d;i(t._background=e.bg,t._resize=1,e.bg),{bg:t._signals.background})};var RE=function(t){const e=t._signals.cursor||(t._signals.cursor=t.add({user:"default",item:null}));t.on(t.events("view","mousemove"),e,function(t,n){const r=e.value,i=r?Object(K.H)(r)?r:r.user:"default",o=n.item&&n.item.cursor||null;return r&&i===r.user&&o==r.item?r:{user:i,item:o}}),t.add(null,function(e){let n=e.cursor,r=this.value;return Object(K.H)(n)||(r=n.item,n=n.user),PE(t,n&&"default"!==n?n:r||n),r},{cursor:e})};function PE(t,e){const n=t.globalCursor()?"undefined"!=typeof document&&document.body:t.container();if(n)return null==e?n.style.removeProperty("cursor"):n.style.cursor=e}function LE(t,e){var n=t._runtime.data;return Object(K.v)(n,e)||Object(K.n)("Unrecognized data set: "+e),n[e]}function BE(t,e){dt(e)||Object(K.n)("Second argument to changes must be a changeset.");var n=LE(this,t);return n.modified=!0,this.pulse(n.input,e)}function IE(t){var e=t.padding();return Math.max(0,t._viewWidth+e.left+e.right)}function UE(t){var e=t.padding();return Math.max(0,t._viewHeight+e.top+e.bottom)}function qE(t){var e=t.padding(),n=t._origin;return[e.left+n[0],e.top+n[1]]}var WE=function(t,e,n){var r,i,o,a=t._renderer,s=a&&a.canvas();return s&&(o=qE(t),i=e.changedTouches?e.changedTouches[0]:e,(r=wh(i,s))[0]-=o[0],r[1]-=o[1]),e.dataflow=t,e.item=n,e.vega=function(t,e,n){var r=e?"group"===e.mark.marktype?e:e.mark.group:null;function i(t){var n,i=r;if(t)for(n=e;n;n=n.mark.group)if(n.mark.name===t){i=n;break}return i&&i.mark&&i.mark.interactive?i:{}}function o(t){if(!t)return n;Object(K.H)(t)&&(t=i(t));for(var e=n.slice();t;)e[0]-=t.x||0,e[1]-=t.y||0,t=t.mark&&t.mark.group;return e}return{view:Object(K.l)(t),item:Object(K.l)(e||{}),group:i,xy:o,x:function(t){return o(t)[0]},y:function(t){return o(t)[1]}}}(t,n,r),e};const HE="view",YE="timer",GE="window",VE={trap:!1};function ZE(t,e,n){const r=t._eventConfig&&t._eventConfig[e];return!(!1===r||Object(K.F)(r)&&!r[n])||(t.warn(`Blocked ${e} ${n} event listener.`),!1)}function XE(t){return t.item}function JE(t){return t.item.mark.source}function QE(t){return function(e,n){return n.vega.view().changeset().encode(n.item,t)}}var KE=function(t,e,n){var r=document.createElement(t);for(var i in e)r.setAttribute(i,e[i]);return null!=n&&(r.textContent=n),r};const tS="vega-bind",eS="vega-bind-name",nS="vega-bind-radio";var rS=function(t,e,n){if(!e)return;const r=n.param;let i=n.state;return i||(i=n.state={elements:null,active:!1,set:null,update:e=>{e!==t.signal(r.signal)&&t.runAsync(null,function(){i.source=!0,t.signal(r.signal,e)})}},r.debounce&&(i.update=Object(K.m)(r.debounce,i.update))),function(t,e,n,r){const i=KE("div",{class:tS}),o="radio"===n.input?i:i.appendChild(KE("label"));o.appendChild(KE("span",{class:eS},n.name||n.signal)),e.appendChild(i);let a=iS;switch(n.input){case"checkbox":a=oS;break;case"select":a=aS;break;case"radio":a=sS;break;case"range":a=uS}a(t,o,n,r)}(i,e,r,t.signal(r.signal)),i.active||(t.on(t._signals[r.signal],null,()=>{i.source?i.source=!1:i.set(t.signal(r.signal))}),i.active=!0),i};function iS(t,e,n,r){const i=KE("input");for(const t in n)"signal"!==t&&"element"!==t&&i.setAttribute("input"===t?"type":t,n[t]);i.setAttribute("name",n.signal),i.value=r,e.appendChild(i),i.addEventListener("input",()=>t.update(i.value)),t.elements=[i],t.set=(t=>i.value=t)}function oS(t,e,n,r){const i={type:"checkbox",name:n.signal};r&&(i.checked=!0);const o=KE("input",i);e.appendChild(o),o.addEventListener("change",()=>t.update(o.checked)),t.elements=[o],t.set=(t=>o.checked=!!t||null)}function aS(t,e,n,r){const i=KE("select",{name:n.signal}),o=n.labels||[];n.options.forEach((t,e)=>{const n={value:t};lS(t,r)&&(n.selected=!0),i.appendChild(KE("option",n,(o[e]||t)+""))}),e.appendChild(i),i.addEventListener("change",()=>{t.update(n.options[i.selectedIndex])}),t.elements=[i],t.set=(t=>{for(let e=0,r=n.options.length;e{const s={type:"radio",name:n.signal,value:e};lS(e,r)&&(s.checked=!0);const u=KE("input",s);u.addEventListener("change",()=>t.update(e));const l=KE("label",{},(o[a]||e)+"");return l.prepend(u),i.appendChild(l),u}),t.set=(e=>{const n=t.elements,r=n.length;for(let t=0;t{u.textContent=s.value,t.update(+s.value)};s.addEventListener("input",l),s.addEventListener("change",l),t.elements=[s],t.set=(t=>{s.value=t,u.textContent=t})}function lS(t,e){return t===e||t+""==e+""}var cS=function(t,e,n,r,i,o){return(e=e||new r(t.loader())).initialize(n,IE(t),UE(t),qE(t),i,o).background(t.background())},fS=function(t,e){return e?function(){try{e.apply(this,arguments)}catch(e){t.error(e)}}:null};function dS(t,e){if("string"==typeof e){if("undefined"==typeof document)return t.error("DOM document instance not found."),null;if(!(e=document.querySelector(e)))return t.error("Signal bind element not found: "+e),null}if(e)try{e.innerHTML=""}catch(n){e=null,t.error(n)}return e}const hS=t=>+t||0;var pS=function(t){return Object(K.F)(t)?{top:hS(t.top),bottom:hS(t.bottom),left:hS(t.left),right:hS(t.right)}:(t=>({top:t,bottom:t,left:t,right:t}))(hS(t))},gS=async function(t,e,n,r){const i=ub(e),o=i&&i.headless;return o||Object(K.n)("Unrecognized renderer type: "+e),await t.runAsync(),cS(t,null,null,o,n,r).renderAsync(t._scenegraph.root)};function mS(t){const e=this.context.data[t];return e?e.values.value:[]}const vS=t=>(function(e,n){return this.context.dataflow.locale()[t](n)(e)}),yS=vS("format"),bS=vS("timeFormat"),xS=vS("utcFormat"),_S=vS("timeParse"),wS=vS("utcParse");var OS=new Date(2e3,0,1);function jS(t,e,n){return Number.isInteger(t)&&Number.isInteger(e)?(OS.setYear(2e3),OS.setMonth(t),OS.setDate(e),bS.call(this,OS,n)):""}const kS=":",AS="@",ES="%";var SS,DS,CS,MS,FS,$S="RawCode",NS="Literal",TS="Property",zS="Identifier",RS="ArrayExpression",PS="BinaryExpression",LS="CallExpression",BS="ConditionalExpression",IS="LogicalExpression",US="MemberExpression",qS="ObjectExpression",WS="UnaryExpression";function HS(t){this.type=t}HS.prototype.visit=function(t){var e,n,r;if(t(this))return 1;for(n=0,r=(e=function(t){switch(t.type){case RS:return t.elements;case PS:case IS:return[t.left,t.right];case LS:var e=t.arguments.slice();return e.unshift(t.callee),e;case BS:return[t.test,t.consequent,t.alternate];case US:return[t.object,t.property];case qS:return t.properties;case TS:return[t.key,t.value];case WS:return[t.argument];case zS:case NS:case $S:default:return[]}}(this)).length;n",SS[VS]="Identifier",SS[ZS]="Keyword",SS[XS]="Null",SS[JS]="Numeric",SS[QS]="Punctuator",SS[KS]="String",SS[9]="RegularExpression";var tD="ArrayExpression",eD="BinaryExpression",nD="CallExpression",rD="ConditionalExpression",iD="Identifier",oD="Literal",aD="LogicalExpression",sD="MemberExpression",uD="ObjectExpression",lD="Property",cD="UnaryExpression",fD="Unexpected token %0",dD="Unexpected number",hD="Unexpected string",pD="Unexpected identifier",gD="Unexpected reserved word",mD="Unexpected end of input",vD="Invalid regular expression",yD="Invalid regular expression: missing /",bD="Octal literals are not allowed in strict mode.",xD="Duplicate data property in object literal not allowed in strict mode",_D="ILLEGAL",wD="Disabled.",OD=new 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\\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-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),jD=new 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-\\uFDC7\\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 kD(t,e){if(!t)throw new Error("ASSERT: "+e)}function AD(t){return t>=48&&t<=57}function ED(t){return"0123456789abcdefABCDEF".indexOf(t)>=0}function SD(t){return"01234567".indexOf(t)>=0}function DD(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(t)>=0}function CD(t){return 10===t||13===t||8232===t||8233===t}function MD(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||92===t||t>=128&&OD.test(String.fromCharCode(t))}function FD(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||92===t||t>=128&&jD.test(String.fromCharCode(t))}var $D={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 ND(){for(var t;CS1114111||"}"!==t)&&JD({},fD,_D),e<=65535?String.fromCharCode(e):(n=55296+(e-65536>>10),r=56320+(e-65536&1023),String.fromCharCode(n,r))}function RD(){var t,e;for(t=DS.charCodeAt(CS++),e=String.fromCharCode(t),92===t&&(117!==DS.charCodeAt(CS)&&JD({},fD,_D),++CS,(t=TD("u"))&&"\\"!==t&&MD(t.charCodeAt(0))||JD({},fD,_D),e=t);CS>>="===(r=DS.substr(CS,4))?{type:QS,value:r,start:i,end:CS+=4}:">>>"===(n=r.substr(0,3))||"<<="===n||">>="===n?{type:QS,value:n,start:i,end:CS+=3}:a===(e=n.substr(0,2))[1]&&"+-<>&|".indexOf(a)>=0||"=>"===e?{type:QS,value:e,start:i,end:CS+=2}:"<>=!+-*%&|^/".indexOf(a)>=0?{type:QS,value:a,start:i,end:++CS}:void JD({},fD,_D)}function BD(){var t,e,n;if(kD(AD((n=DS[CS]).charCodeAt(0))||"."===n,"Numeric literal must start with a decimal digit or a decimal point"),e=CS,t="","."!==n){if(t=DS[CS++],n=DS[CS],"0"===t){if("x"===n||"X"===n)return++CS,function(t){for(var e="";CS=0&&JD({},vD,n),{value:n,literal:e}}(),r=function(t,e){var n=t;e.indexOf("u")>=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(t,e){if(parseInt(e,16)<=1114111)return"x";JD({},vD)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch(t){JD({},vD)}try{return new RegExp(t,e)}catch(t){return null}}(e.value,n.value),{literal:e.literal+n.literal,value:r,regex:{pattern:e.value,flags:n.value},start:t,end:CS}}function UD(){var t;return ND(),CS>=MS?{type:GS,start:CS,end:CS}:MD(t=DS.charCodeAt(CS))?PD():40===t||41===t||59===t?LD():39===t||34===t?function(){var t,e,n,r,i="",o=!1;for(kD("'"===(t=DS[CS])||'"'===t,"String literal must starts with a quote"),e=CS,++CS;CS=0&&CS":case"<=":case">=":case"instanceof":case"in":e=7;break;case"<<":case">>":case">>>":e=8;break;case"+":case"-":e=9;break;case"*":case"/":case"%":e=11}return e}function pC(){var t,e;return t=function(){var t,e,n,r,i,o,a,s,u,l;if(t=FS,u=dC(),0===(i=hC(r=FS)))return u;for(r.prec=i,qD(),e=[t,FS],o=[u,r,a=dC()];(i=hC(FS))>0;){for(;o.length>2&&i<=o[o.length-2].prec;)a=o.pop(),s=o.pop().value,u=o.pop(),e.pop(),n=HD(s,u,a),o.push(n);(r=qD()).prec=i,o.push(r),e.push(FS),n=dC(),o.push(n)}for(n=o[l=o.length-1],e.pop();l>1;)e.pop(),n=HD(o[l-1].value,o[l-2],n),l-=2;return n}(),tC("?")&&(qD(),e=pC(),KD(":"),t=function(t,e,n){var r=new HS(rD);return r.test=t,r.consequent=e,r.alternate=n,r}(t,e,pC())),t}function gC(){var t=pC();if(tC(","))throw new Error(wD);return t}var mC=function(t){CS=0,MS=(DS=t).length,FS=null,WD();var e=gC();if(FS.type!==GS)throw new Error("Unexpect token after expression.");return e},vC={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"},yC=function(t){function e(e,n,r){return function(i){return function(e,n,r,i){var o=t(n[0]);return r&&(o=r+"("+o+")",0===r.lastIndexOf("new ",0)&&(o="("+o+")")),o+"."+e+(i<0?"":0===i?"()":"("+n.slice(1).map(t).join(",")+")")}(e,i,n,r)}}var n="new Date";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",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(e){e.length<3&&Object(K.n)("Missing arguments to clamp function."),e.length>3&&Object(K.n)("Too many arguments to clamp function.");var n=e.map(t);return"Math.max("+n[1]+", Math.min("+n[2]+","+n[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:n,date:e("getDate",n,0),day:e("getDay",n,0),year:e("getFullYear",n,0),month:e("getMonth",n,0),hours:e("getHours",n,0),minutes:e("getMinutes",n,0),seconds:e("getSeconds",n,0),milliseconds:e("getMilliseconds",n,0),time:e("getTime",n,0),timezoneoffset:e("getTimezoneOffset",n,0),utcdate:e("getUTCDate",n,0),utcday:e("getUTCDay",n,0),utcyear:e("getUTCFullYear",n,0),utcmonth:e("getUTCMonth",n,0),utchours:e("getUTCHours",n,0),utcminutes:e("getUTCMinutes",n,0),utcseconds:e("getUTCSeconds",n,0),utcmilliseconds:e("getUTCMilliseconds",n,0),length:e("length",null,-1),join:e("join",null),indexof:e("indexOf",null),lastindexof:e("lastIndexOf",null),slice:e("slice",null),reverse:function(e){return"("+t(e[0])+").slice().reverse()"},parseFloat:"parseFloat",parseInt:"parseInt",upper:e("toUpperCase","String",0),lower:e("toLowerCase","String",0),substring:e("substring","String"),split:e("split","String"),replace:e("replace","String"),trim:e("trim","String",0),regexp:"RegExp",test:e("test","RegExp"),if:function(e){e.length<3&&Object(K.n)("Missing arguments to if function."),e.length>3&&Object(K.n)("Too many arguments to if function.");var n=e.map(t);return"("+n[0]+"?"+n[1]+":"+n[2]+")"}}};function bC(t,e,n,r){e[0].type!==NS&&Object(K.n)("First argument to data functions must be a string literal.");const i=e[0].value,o=kS+i;if(!Object(K.v)(o,r))try{r[o]=n.getData(i).tuplesRef()}catch(t){}}function xC(t,e,n,r){if(e[0].type===NS)_C(n,r,e[0].value);else for(t in n.scales)_C(n,r,t)}function _C(t,e,n){const r=ES+n;if(!Object(K.v)(e,r))try{e[r]=t.scaleRef(n)}catch(t){}}function wC(t,e){let n;return Object(K.D)(t)?t:Object(K.H)(t)?(n=e.scales[t])&&n.value:void 0}var OC,jC,kC,AC,EC,SC=r_(),DC=r_(),CC={point:S_,lineStart:S_,lineEnd:S_,polygonStart:function(){SC.reset(),CC.lineStart=MC,CC.lineEnd=FC},polygonEnd:function(){var t=+SC;DC.add(t<0?f_+t:t),this.lineStart=this.lineEnd=this.point=S_},sphere:function(){DC.add(f_)}};function MC(){CC.point=$C}function FC(){NC(OC,jC)}function $C(t,e){CC.point=NC,OC=t,jC=e,kC=t*=h_,AC=v_(e=(e*=h_)/2+c_),EC=w_(e)}function NC(t,e){e=(e*=h_)/2+c_;var n=(t*=h_)-kC,r=n>=0?1:-1,i=r*n,o=v_(e),a=w_(e),s=EC*a,u=AC*o+s*v_(i),l=s*r*w_(i);SC.add(m_(l,u)),kC=t,AC=o,EC=a}var TC,zC,RC,PC,LC,BC,IC,UC,qC,WC,HC=r_(),YC={point:GC,lineStart:ZC,lineEnd:XC,polygonStart:function(){YC.point=JC,YC.lineStart=QC,YC.lineEnd=KC,HC.reset(),CC.polygonStart()},polygonEnd:function(){CC.polygonEnd(),YC.point=GC,YC.lineStart=ZC,YC.lineEnd=XC,SC<0?(TC=-(RC=180),zC=-(PC=90)):HC>s_?PC=90:HC<-s_&&(zC=-90),WC[0]=TC,WC[1]=RC},sphere:function(){TC=-(RC=180),zC=-(PC=90)}};function GC(t,e){qC.push(WC=[TC=t,RC=t]),ePC&&(PC=e)}function VC(t,e){var n=zw([t*h_,e*h_]);if(UC){var r=Pw(UC,n),i=Pw([r[1],-r[0],0],r);Iw(i),i=Tw(i);var o,a=t-LC,s=a>0?1:-1,u=i[0]*d_*s,l=p_(a)>180;l^(s*LCPC&&(PC=o):l^(s*LC<(u=(u+360)%360-180)&&uPC&&(PC=e)),l?ttM(TC,RC)&&(RC=t):tM(t,RC)>tM(TC,RC)&&(TC=t):RC>=TC?(tRC&&(RC=t)):t>LC?tM(TC,t)>tM(TC,RC)&&(RC=t):tM(t,RC)>tM(TC,RC)&&(TC=t)}else qC.push(WC=[TC=t,RC=t]);ePC&&(PC=e),UC=n,LC=t}function ZC(){YC.point=VC}function XC(){WC[0]=TC,WC[1]=RC,YC.point=GC,UC=null}function JC(t,e){if(UC){var n=t-LC;HC.add(p_(n)>180?n+(n>0?360:-360):n)}else BC=t,IC=e;CC.point(t,e),VC(t,e)}function QC(){CC.lineStart()}function KC(){JC(BC,IC),CC.lineEnd(),p_(HC)>s_&&(TC=-(RC=180)),WC[0]=TC,WC[1]=RC,UC=null}function tM(t,e){return(e-=t)<0?e+360:e}function eM(t,e){return t[0]-e[0]}function nM(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:etM(r[0],r[1])&&(r[1]=i[1]),tM(i[0],r[1])>tM(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,e=0,r=o[n=o.length-1];e<=n;r=i,++e)i=o[e],(s=tM(r[1],i[0]))>a&&(a=s,TC=i[0],RC=r[1])}return qC=WC=null,TC===1/0||zC===1/0?[[NaN,NaN],[NaN,NaN]]:[[TC,zC],[RC,PC]]}),$M=CM("centroid",function(t){rM=iM=oM=aM=sM=uM=lM=cM=fM=dM=hM=0,n_(t,bM);var e=fM,n=dM,r=hM,i=e*e+n*n+r*r;return i<1e-12&&(e=uM,n=lM,r=cM,iMPM(t,e)}const BM=t=>t.data;function IM(t,e){const n=mS.call(e,t);return n.root&&n.root.lookup||{}}const UM=()=>"undefined"!=typeof window&&window||null;const qM="intersect",WM="union",HM="vlMulti",YM="or",GM="and";var VM="E",ZM="R",XM="R-E",JM="R-LE",QM="R-RE",KM="index:unit";function tF(t,e){for(var n,r,i=e.fields,o=e.values,a=i.length,s=0;s=0}):e},R_union:function(t,e){var n=Object(K.cb)(e[0]),r=Object(K.cb)(e[1]);return n>r&&(n=e[1],r=e[0]),t.length?(t[0]>n&&(t[0]=n),t[1]r&&(n=e[1],r=e[0]),t.length?rr&&(t[1]=r),t):[n,r]}};const nF=":",rF="@";function iF(t,e,n,r){e[0].type!==NS&&Object(K.n)("First argument to selection functions must be a string literal.");const i=e[0].value,o=e.length>=2&&Object(K.U)(e).value,a=rF+"unit",s=nF+i;o!==qM||Object(K.v)(r,a)||(r[a]=n.getData(i).indataRef(n,"unit")),Object(K.v)(r,s)||(r[s]=n.getData(i).tuplesRef())}const oF={random:function(){return da()},cumulativeNormal:Oa,cumulativeLogNormal:Da,cumulativeUniform:Ta,densityNormal:wa,densityLogNormal:Sa,densityUniform:Na,quantileNormal:ja,quantileLogNormal:Ca,quantileUniform:za,sampleNormal:_a,sampleLogNormal:Ea,sampleUniform:$a,isArray:K.A,isBoolean:K.B,isDate:K.C,isDefined:function(t){return void 0!==t},isNumber:K.E,isObject:K.F,isRegExp:K.G,isString:K.H,isTuple:it,isValid:function(t){return null!=t&&t==t},toBoolean:K.ab,toDate:K.bb,toNumber:K.cb,toString:K.eb,flush:K.u,lerp:K.J,merge:function(){var t=[].slice.call(arguments);return t.unshift({}),K.o.apply(null,t)},pad:K.P,peek:K.U,span:K.X,inrange:K.z,truncate:K.fb,rgb:pg,lab:wv,hcl:Dv,hsl:_g,luminance:zM,contrast:function(t,e){const n=zM(t),r=zM(e);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)},sequence:ou,format:yS,utcFormat:xS,utcParse:wS,utcOffset:Ar,utcSequence:Dr,timeFormat:bS,timeParse:_S,timeOffset:kr,timeSequence:Sr,timeUnitSpecifier:an,monthFormat:function(t){return jS.call(this,t,1,"%B")},monthAbbrevFormat:function(t){return jS.call(this,t,1,"%b")},dayFormat:function(t){return jS.call(this,0,2+t,"%A")},dayAbbrevFormat:function(t){return jS.call(this,0,2+t,"%a")},quarter:K.V,utcquarter:K.hb,week:Tn,utcweek:In,dayofyear:Nn,utcdayofyear:Bn,warn:function(){return NM(this.context.dataflow,"warn",arguments)},info:function(){return NM(this.context.dataflow,"info",arguments)},debug:function(){return NM(this.context.dataflow,"debug",arguments)},extent:K.p,inScope:function(t){let e=this.context.group,n=!1;if(e)for(;t;){if(t===e){n=!0;break}t=t.mark.group}return n},intersect:function(t,e,n){if(!t)return[];const[r,i]=t,o=(new yf).set(r[0],r[1],i[0],i[1]);return lb(n||this.context.dataflow.scenegraph().root,o,function(t){let e=null;if(t){const n=Object(K.i)(t.marktype),r=Object(K.i)(t.markname);e=(t=>(!n.length||n.some(e=>t.marktype===e))&&(!r.length||r.some(e=>t.name===e)))}return e}(e))},clampRange:K.j,pinchDistance:function(t){const e=t.touches,n=e[0].clientX-e[1].clientX,r=e[0].clientY-e[1].clientY;return Math.sqrt(n*n+r*r)},pinchAngle:function(t){const e=t.touches;return Math.atan2(e[0].clientY-e[1].clientY,e[0].clientX-e[1].clientX)},screen:function(){const t=UM();return t?t.screen:{}},containerSize:function(){const t=this.context.dataflow,e=t.container&&t.container();return e?[e.clientWidth,e.clientHeight]:[void 0,void 0]},windowSize:function(){const t=UM();return t?[t.innerWidth,t.innerHeight]:[void 0,void 0]},bandspace:function(t,e,n){return Xh(t||0,e||0,n||0)},setdata:function(t,e){const n=this.context.dataflow,r=this.context.data[t].input;return n.pulse(r,n.changeset().remove(K.gb).insert(e)),1},pathShape:function(t){let e=null;return function(n){return n?wc(n,e=e||cc(t)):t}},panLinear:K.Q,panLog:K.R,panPow:K.S,panSymlog:K.T,zoomLinear:K.lb,zoomLog:K.mb,zoomPow:K.nb,zoomSymlog:K.ob,encode:function(t,e,n){if(t){const n=this.context.dataflow,r=t.mark.source;n.pulse(r,n.changeset().encode(t,e))}return void 0!==n?n:t},modify:function(t,e,n,r,i,o){let a,s,u=this.context.dataflow,l=this.context.data[t],c=l.input,f=l.changes,d=u.stamp();if(!1===u._trigger||!(c.value.length||e||r))return 0;if((!f||f.stampo.stop(l(e),t(e))),o},xC),cF("geoArea",MM,xC),cF("geoBounds",FM,xC),cF("geoCentroid",$M,xC),cF("geoShape",function(t,e,n){const r=wC(t,(n||this).context);return function(t){return r?r.path.context(t)(e):""}},xC),cF("indata",function(t,e,n){const r=this.context.data[t]["index:"+e],i=r?r.value.get(n):void 0;return i?i.count:i},function(t,e,n,r){e[0].type!==NS&&Object(K.n)("First argument to indata must be a string literal."),e[1].type!==NS&&Object(K.n)("Second argument to indata must be a string literal.");const i=e[0].value,o=e[1].value,a=AS+o;Object(K.v)(a,r)||(r[a]=n.getData(i).indataRef(n,o))}),cF("data",mS,bC),cF("treePath",function(t,e,n){const r=IM(t,this),i=r[e],o=r[n];return i&&o?i.path(o).map(BM):void 0},bC),cF("treeAncestors",function(t,e){const n=IM(t,this)[e];return n?n.ancestors().map(BM):void 0},bC),cF("vlSelectionTest",function(t,e,n){for(var r,i,o,a,s,u=this.context.data[t],l=u?u.values.value:[],c=u?u[KM]&&u[KM].value:void 0,f=n===qM,d=l.length,h=0;h(t[i[n].field]=e,t),{}))}return e=e||WM,Object.keys(m).forEach(function(t){m[t]=Object.keys(m[t]).map(e=>m[t][e]).reduce((n,r)=>void 0===n?r:eF[y[t]+"_"+e](n,r))}),g=Object.keys(v),n&&g.length&&(m[HM]=e===WM?{[YM]:g.reduce((t,e)=>(t.push.apply(t,v[e]),t),[])}:{[GM]:g.map(t=>({[YM]:v[t]}))}),m},iF);const fF={blacklist:["_"],whitelist:["datum","event","item"],fieldvar:"datum",globalvar:t=>"_["+Object(K.Z)("$"+t)+"]",functions:function(t){const e=yC(t);aF.forEach(t=>e[t]=sF+t);for(let t in oF)e[t]=uF+t;return Object(K.o)(e,function(t,e,n){e.__bandwidth=(t=>t&&t.bandwidth?t.bandwidth():0),n._bandwidth=xC,n._range=xC,n._scale=xC;const r=e=>"_["+(e.type===NS?Object(K.Z)(ES+e.value):Object(K.Z)(ES)+"+"+t(e))+"]";return{_bandwidth:t=>`this.__bandwidth(${r(t[0])})`,_range:t=>`${r(t[0])}.range()`,_scale:e=>`${r(e[0])}(${t(e[1])})`}}(t,oF,lF)),e},constants:vC,visitors:lF};var dF=function(t){var e=(t=t||{}).whitelist?Object(K.db)(t.whitelist):{},n=t.blacklist?Object(K.db)(t.blacklist):{},r=t.constants||vC,i=(t.functions||yC)(f),o=t.globalvar,a=t.fieldvar,s={},u={},l=0,c=Object(K.D)(o)?o:function(t){return o+'["'+t+'"]'};function f(t){if(Object(K.H)(t))return t;var e=d[t.type];return null==e&&Object(K.n)("Unsupported type: "+t.type),e(t)}var d={Literal:function(t){return t.raw},Identifier:function(t){var i=t.name;return l>0?i:Object(K.v)(n,i)?Object(K.n)("Illegal identifier: "+i):Object(K.v)(r,i)?r[i]:Object(K.v)(e,i)?i:(s[i]=1,c(i))},MemberExpression:function(t){var e=!t.computed,n=f(t.object);e&&(l+=1);var r=f(t.property);return n===a&&(u[function(t){var e=t&&t.length-1;return e&&('"'===t[0]&&'"'===t[e]||"'"===t[0]&&"'"===t[e])?t.slice(1,-1):t}(r)]=1),e&&(l-=1),n+(e?"."+r:"["+r+"]")},CallExpression:function(t){"Identifier"!==t.callee.type&&Object(K.n)("Illegal callee type: "+t.callee.type);var e=t.callee.name,n=t.arguments,r=Object(K.v)(i,e)&&i[e];return r||Object(K.n)("Unrecognized function: "+e),Object(K.D)(r)?r(n):r+"("+n.map(f).join(",")+")"},ArrayExpression:function(t){return"["+t.elements.map(f).join(",")+"]"},BinaryExpression:function(t){return"("+f(t.left)+t.operator+f(t.right)+")"},UnaryExpression:function(t){return"("+t.operator+f(t.argument)+")"},ConditionalExpression:function(t){return"("+f(t.test)+"?"+f(t.consequent)+":"+f(t.alternate)+")"},LogicalExpression:function(t){return"("+f(t.left)+t.operator+f(t.right)+")"},ObjectExpression:function(t){return"{"+t.properties.map(f).join(",")+"}"},Property:function(t){l+=1;var e=f(t.key);return l-=1,e+":"+f(t.value)}};function h(t){var e={code:f(t),globals:Object.keys(s),fields:Object.keys(u)};return s={},u={},e}return h.functions=i,h.constants=r,h}(fF),hF=function(t,e){var n,r,i={};try{t=Object(K.H)(t)?t:Object(K.Z)(t)+"",n=mC(t)}catch(e){Object(K.n)("Expression parse error: "+t)}return n.visit(t=>{if(t.type===LS){var n=t.callee.name,r=fF.visitors[n];r&&r(n,t.arguments,e,i)}}),(r=dF(n)).globals.forEach(t=>{var n="$"+t;!Object(K.v)(i,n)&&e.getSignal(t)&&(i[n]=e.signalRef(t))}),{$expr:Object(K.o)({code:r.code},e.options.ast?{ast:n}:null),$fields:r.fields,$params:i}};const pF=Object(K.db)(["rule"]),gF=Object(K.db)(["group","image","rect"]);function mF(t){return(t+"").toLowerCase()}function vF(t,e,n){";"!==n[n.length-1]&&(n="return("+n+");");var r=Function.apply(null,e.concat(n));return t&&t.functions?r.bind(t.functions):r}var yF={operator:(t,e)=>vF(t,["_"],e.code),parameter:(t,e)=>vF(t,["datum","_"],e.code),event:(t,e)=>vF(t,["event"],e.code),handler:(t,e)=>{return vF(t,["_","event"],`var datum=event.item&&event.item.datum;return ${e.code};`)},encode:(t,e)=>{const{marktype:n,channels:r}=e;let i="var o=item,datum=o.datum,m=0,$;";for(const t in r){const e="o["+Object(K.Z)(t)+"]";i+=`$=${r[t].code};if(${e}!==$)${e}=$,m=1;`}return i+=function(t,e){let n="";return pF[e]?n:(t.x2&&(t.x?(gF[e]&&(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);"),t.xc&&(n+="o.x=o.xc-(o.width||0)/2;"),t.y2&&(t.y?(gF[e]&&(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);"),t.yc&&(n+="o.y=o.yc-(o.height||0)/2;"),n)}(r,n),vF(t,["item","_"],i+="return m;")},codegen:{get(t){const e=`[${t.map(K.Z).join("][")}]`,n=Function("_",`return _${e};`);return n.path=e,n},comparator(t,e){let n;const r=Function("a","b","var u, v; return "+t.map((t,r)=>{const i=e[r];let o,a;return t.path?(o=`a${t.path}`,a=`b${t.path}`):((n=n||{})["f"+r]=t,o=`this.f${r}(a)`,a=`this.f${r}(b)`),function(t,e,n,r){return`((u = ${t}) < (v = ${e}) || u == null) && v != null ? ${n}\n : (u > v || v == null) && u != null ? ${r}\n : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}\n : v !== v && u === u ? ${r} : `}(o,a,-i,i)}).join("")+"0;");return n?r.bind(n):r}}};function bF(t,e,n){if(!t||!Object(K.F)(t))return t;for(let r,i=0,o=xF.length;it&&t.$tupleid?ot:t);return e.fn[n]||(e.fn[n]=Object(K.k)(r,t.$order,e.expr.codegen))}},{key:"$context",parse:function(t,e){return e}},{key:"$subflow",parse:function(t,e){const n=t.$subflow;return function(t,r,i){const o=e.fork().parse(n),a=o.get(n.operators[0].id),s=o.signals.parent;return s&&s.set(i),a.detachSubflow=(()=>e.detach(o)),a}}},{key:"$tupleid",parse:function(){return ot}}];var _F={skip:!0};var wF=function(t,e,n,r){return new OF(t,e,n,r)};function OF(t,e,n,r){this.dataflow=t,this.transforms=e,this.events=t.events.bind(t),this.expr=r||yF,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function jF(t){this.dataflow=t.dataflow,this.transforms=t.transforms,this.events=t.events,this.expr=t.expr,this.signals=Object.create(t.signals),this.scales=Object.create(t.scales),this.nodes=Object.create(t.nodes),this.data=Object.create(t.data),this.fn=Object.create(t.fn),t.functions&&(this.functions=Object.create(t.functions),this.functions.context=this)}OF.prototype=jF.prototype={fork(){const t=new jF(this);return(this.subcontext||(this.subcontext=[])).push(t),t},detach(t){this.subcontext=this.subcontext.filter(e=>e!==t);const e=Object.keys(t.nodes);for(const n of e)t.nodes[n]._targets=null;for(const n of e)t.nodes[n].detach();t.nodes=null},get(t){return this.nodes[t]},set(t,e){return this.nodes[t]=e},add(t,e){const n=this,r=n.dataflow,i=t.value;if(n.set(t.id,e),function(t){return"collect"===mF(t)}(t.type)&&i&&(i.$ingest?r.ingest(e,i.$ingest,i.$format):i.$request?r.preload(e,i.$request,i.$format):r.pulse(e,r.changeset().insert(i))),t.root&&(n.root=e),t.parent){var o=n.get(t.parent.$ref);o?(r.connect(o,[e]),e.targets().add(o)):(n.unresolved=n.unresolved||[]).push(()=>{o=n.get(t.parent.$ref),r.connect(o,[e]),e.targets().add(o)})}if(t.signal&&(n.signals[t.signal]=e),t.scale&&(n.scales[t.scale]=e),t.data)for(const r in t.data){const i=n.data[r]||(n.data[r]={});t.data[r].forEach(t=>i[t]=e)}},resolve(){return(this.unresolved||[]).forEach(t=>t()),delete this.unresolved,this},operator(t,e){this.add(t,this.dataflow.add(t.value,e))},transform(t,e){this.add(t,this.dataflow.add(this.transforms[mF(e)]))},stream(t,e){this.set(t.id,e)},update(t,e,n,r,i){this.dataflow.on(e,n,r,i,t.options)},operatorExpression(t){return this.expr.operator(this,t)},parameterExpression(t){return this.expr.parameter(this,t)},eventExpression(t){return this.expr.event(this,t)},handlerExpression(t){return this.expr.handler(this,t)},encodeExpression(t){return this.expr.encode(this,t)},parse:function(t){const e=this,n=t.operators||[];return t.background&&(e.background=t.background),t.eventConfig&&(e.eventConfig=t.eventConfig),t.locale&&(e.locale=t.locale),n.forEach(t=>e.parseOperator(t)),n.forEach(t=>e.parseOperatorParameters(t)),(t.streams||[]).forEach(t=>e.parseStream(t)),(t.updates||[]).forEach(t=>e.parseUpdate(t)),e.resolve()},parseOperator:function(t){const e=this;!function(t){return"operator"===mF(t)}(t.type)&&t.type?e.transform(t,t.type):e.operator(t,t.update?e.operatorExpression(t.update):null)},parseOperatorParameters:function(t){const e=this;if(t.params){const n=e.get(t.id);n||Object(K.n)("Invalid operator id: "+t.id),e.dataflow.connect(n,n.parameters(e.parseParameters(t.params),t.react,t.initonly))}},parseParameters:function(t,e){e=e||{};const n=this;for(const r in t){const i=t[r];e[r]=Object(K.A)(i)?i.map(t=>bF(t,n,e)):bF(i,n,e)}return e},parseStream:function(t){var e,n=this,r=null!=t.filter?n.eventExpression(t.filter):void 0,i=null!=t.stream?n.get(t.stream):void 0;t.source?i=n.events(t.source,t.type,r):t.merge&&(i=(e=t.merge.map(t=>n.get(t)))[0].merge.apply(e[0],e.slice(1))),t.between&&(e=t.between.map(t=>n.get(t)),i=i.between(e[0],e[1])),t.filter&&(i=i.filter(r)),null!=t.throttle&&(i=i.throttle(+t.throttle)),null!=t.debounce&&(i=i.debounce(+t.debounce)),null==i&&Object(K.n)("Invalid stream definition: "+JSON.stringify(t)),t.consume&&i.consume(!0),n.stream(t,i)},parseUpdate:function(t){var e,n=Object(K.F)(n=t.source)?n.$ref:n,r=this.get(n),i=t.update,o=void 0;r||Object(K.n)("Source not defined: "+t.source),e=t.target&&t.target.$expr?this.eventExpression(t.target.$expr):this.get(t.target),i&&i.$expr&&(i.$params&&(o=this.parseParameters(i.$params)),i=this.handlerExpression(i.$expr)),this.update(t,r,e,i,o)},getState:function(t){var e=this,n={};if(t.signals){var r=n.signals={};Object.keys(e.signals).forEach(n=>{var i=e.signals[n];t.signals(n,i)&&(r[n]=i.value)})}if(t.data){var i=n.data={};Object.keys(e.data).forEach(n=>{var r=e.data[n];t.data(n,r)&&(i[n]=r.input.value)})}return e.subcontext&&!1!==t.recurse&&(n.subcontext=e.subcontext.map(e=>e.getState(t))),n},setState:function(t){var e=this,n=e.dataflow,r=t.data,i=t.signals;Object.keys(i||{}).forEach(t=>{n.update(e.signals[t],i[t],_F)}),Object.keys(r||{}).forEach(t=>{n.pulse(e.data[t].input,n.changeset().remove(K.gb).insert(r[t]))}),(t.subcontext||[]).forEach((t,n)=>{var r=e.subcontext[n];r&&r.setState(t)})}};var kF=function(t,e,n){return wF(t,Bo,oF,n).parse(e)};var AF="width",EF="height",SF="padding",DF={skip:!0};function CF(t,e){var n=t.autosize(),r=t.padding();return e-(n&&n.contains===SF?r.left+r.right:0)}function MF(t,e){var n=t.autosize(),r=t.padding();return e-(n&&n.contains===SF?r.top+r.bottom:0)}function FF(t,e){return e.modified&&Object(K.A)(e.input.value)&&t.indexOf("_:vega:_")}function $F(t,e){return!("parent"===t||e instanceof Bo.proxy)}var NF=function(t,e,n,r){var i=t.element();i&&i.setAttribute("title",function(t){return null==t?"":Object(K.A)(t)?TF(t):Object(K.F)(t)&&!Object(K.C)(t)?function(t){return Object.keys(t).map(function(e){var n=t[e];return e+": "+(Object(K.A)(n)?TF(n):zF(n))}).join("\n")}(t):t+""}(r))};function TF(t){return"["+t.map(zF).join(", ")+"]"}function zF(t){return Object(K.A)(t)?"[…]":Object(K.F)(t)&&!Object(K.C)(t)?"{…}":t}function RF(t,e){const n=this;if(e=e||{},To.call(n),e.loader&&n.loader(e.loader),e.logger&&n.logger(e.logger),null!=e.logLevel&&n.logLevel(e.logLevel),e.locale||t.locale){const r=Object(K.o)({},t.locale,e.locale);n.locale(go(r.number,r.time))}n._el=null,n._elBind=null,n._renderType=e.renderer||ab.Canvas,n._scenegraph=new ph;const r=n._scenegraph.root;n._renderer=null,n._tooltip=e.tooltip||NF,n._redraw=!0,n._handler=(new Rh).scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=function(t){const e=Object(K.o)({defaults:{}},t),n=(t,e)=>{e.forEach(e=>{Object(K.A)(t[e])&&(t[e]=Object(K.db)(t[e]))})};return n(e.defaults,["prevent","allow"]),n(e,["view","window","selector"]),e}(t.eventConfig),n.globalCursor(n._eventConfig.globalCursor);const i=kF(n,t,e.expr);n._runtime=i,n._signals=i.signals,n._bind=(t.bindings||[]).map(t=>({state:null,param:Object(K.o)({},t)})),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=CF(n,n._width),n._viewHeight=MF(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,function(t){var e=t._signals,n=e[AF],r=e[EF],i=e[SF];function o(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,function(e){t._width=e.size,t._viewWidth=CF(t,e.size),o()},{size:n}),t._resizeHeight=t.add(null,function(e){t._height=e.size,t._viewHeight=MF(t,e.size),o()},{size:r});var a=t.add(null,o,{pad:i});t._resizeWidth.rank=n.rank+1,t._resizeHeight.rank=r.rank+1,a.rank=i.rank+1}(n),zE(n),RE(n),n.description(t.description),e.hover&&n.hover(),e.container&&n.initialize(e.container,e.bind)}var PF=Object(K.y)(RF,To);function LF(t,e){return Object(K.v)(t._signals,e)?t._signals[e]:Object(K.n)("Unrecognized signal name: "+Object(K.Z)(e))}function BF(t,e){const n=(t._targets||[]).filter(t=>t._update&&t._update.handler===e);return n.length?n[0]:null}function IF(t,e,n,r){var i=BF(n,r);return i||((i=fS(t,()=>r(e,n.value))).handler=r,t.on(n,null,i)),t}function UF(t,e,n){var r=BF(e,n);return r&&e._targets.remove(r),t}PF.evaluate=async function(t,e,n){if(await To.prototype.evaluate.call(this,t,e),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,function(t){var e=qE(t),n=IE(t),r=UE(t);t._renderer.background(t.background()),t._renderer.resize(n,r,e),t._handler.origin(e),t._resizeListeners.forEach(function(e){try{e(n,r)}catch(e){t.error(e)}})}(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(t){this.error(t)}return n&&et(this,n),this},PF.dirty=function(t){this._redraw=!0,this._renderer&&this._renderer.dirty(t)},PF.description=function(t){if(arguments.length){const e=null!=t?t+"":null;return e!==this._desc&&TE(this._el,this._desc=e),this}return this._desc},PF.container=function(){return this._el},PF.scenegraph=function(){return this._scenegraph},PF.origin=function(){return this._origin.slice()},PF.signal=function(t,e,n){var r=LF(this,t);return 1===arguments.length?r.value:this.update(r,e,n)},PF.width=function(t){return arguments.length?this.signal("width",t):this.signal("width")},PF.height=function(t){return arguments.length?this.signal("height",t):this.signal("height")},PF.padding=function(t){return arguments.length?this.signal("padding",pS(t)):pS(this.signal("padding"))},PF.autosize=function(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},PF.background=function(t){return arguments.length?this.signal("background",t):this.signal("background")},PF.renderer=function(t){return arguments.length?(ub(t)||Object(K.n)("Unrecognized renderer type: "+t),t!==this._renderType&&(this._renderType=t,this._resetRenderer()),this):this._renderType},PF.tooltip=function(t){return arguments.length?(t!==this._tooltip&&(this._tooltip=t,this._resetRenderer()),this):this._tooltip},PF.loader=function(t){return arguments.length?(t!==this._loader&&(To.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},PF.resize=function(){return this._autosize=1,this.touch(LF(this,"autosize"))},PF._resetRenderer=function(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},PF._resizeView=function(t,e,n,r,i,o){this.runAfter(function(a){var s=0;a._autosize=0,a.width()!==n&&(s=1,a.signal(AF,n,DF),a._resizeWidth.skip(!0)),a.height()!==r&&(s=1,a.signal(EF,r,DF),a._resizeHeight.skip(!0)),a._viewWidth!==t&&(a._resize=1,a._viewWidth=t),a._viewHeight!==e&&(a._resize=1,a._viewHeight=e),a._origin[0]===i[0]&&a._origin[1]===i[1]||(a._resize=1,a._origin=i),s&&a.run("enter"),o&&a.runAfter(t=>t.resize())},!1,1)},PF.addEventListener=function(t,e,n){var r=e;return n&&!1===n.trap||((r=fS(this,e)).raw=e),this._handler.on(t,r),this},PF.removeEventListener=function(t,e){for(var n,r,i=this._handler.handlers(t),o=i.length;--o>=0;)if(r=i[o].type,n=i[o].handler,t===r&&(e===n||e===n.raw)){this._handler.off(r,n);break}return this},PF.addResizeListener=function(t){var e=this._resizeListeners;return e.indexOf(t)<0&&e.push(t),this},PF.removeResizeListener=function(t){var e=this._resizeListeners,n=e.indexOf(t);return n>=0&&e.splice(n,1),this},PF.addSignalListener=function(t,e){return IF(this,t,LF(this,t),e)},PF.removeSignalListener=function(t,e){return UF(this,LF(this,t),e)},PF.addDataListener=function(t,e){return IF(this,t,LE(this,t).values,e)},PF.removeDataListener=function(t,e){return UF(this,LE(this,t).values,e)},PF.globalCursor=function(t){if(arguments.length){if(this._globalCursor!==!!t){const e=PE(this,null);this._globalCursor=!!t,e&&PE(this,e)}return this}return this._globalCursor},PF.preventDefault=function(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},PF.timer=function(t,e){this._timers.push(function(t,e,n){var r=new ik,i=e;return null==e?(r.restart(t,e,n),r):(e=+e,n=null==n?nk():+n,r.restart(function o(a){a+=i,r.restart(o,i+=e,n),t(a)},e,n),r)}(function(e){t({timestamp:Date.now(),elapsed:e})},e))},PF.events=function(t,e,n){var r,i=this,o=new Ot(n),a=function(n,r){i.runAsync(null,()=>{t===HE&&function(t,e){var n=t._eventConfig.defaults,r=n.prevent,i=n.allow;return!1!==r&&!0!==i&&(!0===r||!1===i||(r?r[e]:i?!i[e]:t.preventDefault()))}(i,e)&&n.preventDefault(),o.receive(WE(i,n,r))})};if(t===YE)ZE(i,"timer",e)&&i.timer(a,e);else if(t===HE)ZE(i,"view",e)&&i.addEventListener(e,a,VE);else if(t===GE?ZE(i,"window",e)&&"undefined"!=typeof window&&(r=[window]):"undefined"!=typeof document&&ZE(i,"selector",e)&&(r=document.querySelectorAll(t)),r){for(var s=0,u=r.length;s=0;)i[t].stop();for(t=o.length;--t>=0;)for(e=(n=o[t]).sources.length;--e>=0;)n.sources[e].removeEventListener(n.type,n.handler);return r&&r.call(this,this._handler,null,null,null),this},PF.hover=function(t,e){return t=[t||"hover"],e=[e||"update",t[0]],this.on(this.events("view","mouseover",XE),JE,QE(t)),this.on(this.events("view","mouseout",XE),JE,QE(e)),this},PF.data=function(t,e){return arguments.length<2?LE(this,t).values.value:BE.call(this,t,ht().remove(K.gb).insert(e))},PF.change=BE,PF.insert=function(t,e){return BE.call(this,t,ht().insert(e))},PF.remove=function(t,e){return BE.call(this,t,ht().remove(e))},PF.scale=function(t){var e=this._runtime.scales;return Object(K.v)(e,t)||Object(K.n)("Unrecognized scale or projection: "+t),e[t].value},PF.initialize=function(t,e){const n=this,r=n._renderType,i=n._eventConfig.bind,o=ub(r);t=n._el=t?dS(n,t):null,function(t){const e=t.container();e&&(e.setAttribute("role","graphics-document"),e.setAttribute("aria-roleDescription","visualization"),TE(e,t.description()))}(n),o||n.error("Unrecognized renderer type: "+r);const a=o.handler||Rh,s=t?o.renderer:o.headless;return n._renderer=s?cS(n,n._renderer,t,s):null,n._handler=function(t,e,n,r){var i=new r(t.loader(),fS(t,t.tooltip())).scene(t.scenegraph().root).initialize(n,qE(t),t);return e&&e.handlers().forEach(function(t){i.on(t.type,t.handler)}),i}(n,n._handler,t,a),n._redraw=!0,t&&"none"!==i&&(e=e?n._elBind=dS(n,e):t.appendChild(KE("form",{class:"vega-bindings"})),n._bind.forEach(function(t){t.param.element&&"container"!==i&&(t.element=dS(n,t.param.element))}),n._bind.forEach(function(t){rS(n,t.element||e,t)})),n},PF.toImageURL=async function(t,e){t!==ab.Canvas&&t!==ab.SVG&&t!==ab.PNG&&Object(K.n)("Unrecognized image type: "+t);const n=await gS(this,t,e);return t===ab.SVG?function(t,e){var n=new Blob([t],{type:e});return window.URL.createObjectURL(n)}(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")},PF.toCanvas=async function(t,e){return(await gS(this,ab.Canvas,t,e)).canvas()},PF.toSVG=async function(t){return(await gS(this,ab.SVG,t)).svg()},PF.getState=function(t){return this._runtime.getState(t||{data:FF,signals:$F,recurse:!0})},PF.setState=function(t){return this.runAsync(null,e=>{e._trigger=!1,e._runtime.setState(t)},t=>{t._trigger=!0}),this};var qF=function(t){return Object(K.F)(t)?t:{type:t||"pad"}};const WF=t=>+t||0;var HF=function(t){return Object(K.F)(t)?t.signal?t:{top:WF(t.top),bottom:WF(t.bottom),left:WF(t.left),right:WF(t.right)}:(t=>({top:t,bottom:t,left:t,right:t}))(WF(t))};const YF=t=>Object(K.F)(t)&&!Object(K.A)(t)?Object(K.o)({},t):{value:t};function GF(t,e,n,r){return null!=n?(Object(K.F)(n)&&!Object(K.A)(n)?t.update[e]=n:t[r||"enter"][e]={value:n},1):0}function VF(t,e,n){for(const n in e)GF(t,n,e[n]);for(const e in n)GF(t,e,n[e],"update")}function ZF(t,e,n){for(const r in e)n&&Object(K.v)(n,r)||(t[r]=Object(K.o)(t[r]||{},e[r]));return t}function XF(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}var JF="frame",QF="title-text",KF="title-subtitle";function t$(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const e$=t=>Object(K.H)(t)?Object(K.Z)(t):t.signal?`(${t.signal})`:o$(t);function n$(t){if(null!=t.gradient)return function(t){const e=[t.start,t.stop,t.count].map(t=>null==t?null:Object(K.Z)(t));for(;e.length&&null==Object(K.U)(e);)e.pop();return e.unshift(e$(t.gradient)),`gradient(${e.join(",")})`}(t);let e=t.signal?`(${t.signal})`:t.color?function(t){return t.c?r$("hcl",t.h,t.c,t.l):t.h||t.s?r$("hsl",t.h,t.s,t.l):t.l||t.a?r$("lab",t.l,t.a,t.b):t.r||t.g||t.b?r$("rgb",t.r,t.g,t.b):null}(t.color):null!=t.field?o$(t.field):void 0!==t.value?Object(K.Z)(t.value):void 0;return null!=t.scale&&(e=function(t,e){const n=e$(t.scale);null!=t.range?e=`lerp(_range(${n}), ${+t.range})`:(void 0!==e&&(e=`_scale(${n}, ${e})`),t.band&&(e=(e?e+"+":"")+`_bandwidth(${n})`+(1==+t.band?"":"*"+i$(t.band)),t.extra&&(e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`)),null==e&&(e="0"));return e}(t,e)),void 0===e&&(e=null),null!=t.exponent&&(e=`pow(${e},${i$(t.exponent)})`),null!=t.mult&&(e+=`*${i$(t.mult)}`),null!=t.offset&&(e+=`+${i$(t.offset)}`),t.round&&(e=`round(${e})`),e}const r$=(t,e,n,r)=>`(${t}(${[e,n,r].map(n$).join(",")})+'')`;function i$(t){return Object(K.F)(t)?"("+n$(t)+")":t}function o$(t){return function t(e){let n,r,i;if(e.signal)n="datum",i=e.signal;else if(e.group||e.parent){for(r=Math.max(1,e.level||1),n="item";r-- >0;)n+=".mark.group";e.parent?(i=e.parent,n+=".datum"):i=e.group}else e.datum?(n="datum",i=e.datum):Object(K.n)("Invalid field reference: "+Object(K.Z)(e));e.signal||(i=Object(K.H)(i)?Object(K.Y)(i).map(K.Z).join("]["):t(i));return n+"["+i+"]"}(Object(K.F)(t)?t:{datum:t})}var a$=function(t){let e="";return t.forEach(t=>{const n=n$(t);e+=t.test?`(${t.test})?${n}:`:n}),":"===Object(K.U)(e)&&(e+="null"),e},s$=function(t,e,n,r,i,o){const a={};(o=o||{}).encoders={$encode:a},t=function(t,e,n,r,i){const o={},a={};let s,u,l,c;for(u in u="lineBreak","text"!==e||null==i[u]||XF(u,t)||t$(o,u,i[u]),("legend"==n||String(n).startsWith("axis"))&&(n=null),c=n===JF?i.group:"mark"===n?Object(K.o)({},i.mark,i[e]):null)(l=XF(u,t)||("fill"===u||"stroke"===u)&&(XF("fill",t)||XF("stroke",t)))||t$(o,u,c[u]);for(u in Object(K.i)(r).forEach(e=>{const n=i.style&&i.style[e];for(const e in n)XF(e,t)||t$(o,e,n[e])}),t=Object(K.o)({},t),o)(c=o[u]).signal?(s=s||{})[u]=c:a[u]=c;return t.enter=Object(K.o)(a,t.enter),s&&(t.update=Object(K.o)(s,t.update)),t}(t,e,n,r,i.config);for(const n in t)a[n]=u$(t[n],e,o,i);return o};function u$(t,e,n,r){const i={},o={};for(const e in t)null!=t[e]&&(i[e]=c$(l$(t[e]),r,n,o));return{$expr:{marktype:e,channels:i},$fields:Object.keys(o),$output:Object.keys(t)}}function l$(t){return Object(K.A)(t)?a$(t):n$(t)}function c$(t,e,n,r){const i=hF(t,e);return i.$fields.forEach(t=>r[t]=1),Object(K.o)(n,i.$params),i.$expr}var f$=["value","update","init","react","bind"];function d$(t,e){Object(K.n)(t+' for "outer" push: '+Object(K.Z)(e))}var h$=function(t,e){var n=t.name;if("outer"===t.push)e.signals[n]||d$("No prior signal definition",n),f$.forEach(function(e){void 0!==t[e]&&d$("Invalid property ",e)});else{var r=e.addSignal(n,t.value);!1===t.react&&(r.react=!1),t.bind&&e.addBinding(n,t.bind)}};function p$(t,e,n,r){this.id=-1,this.type=t,this.value=e,this.params=n,r&&(this.parent=r)}function g$(t,e,n,r){return new p$(t,e,n,r)}function m$(t,e){return g$("operator",t,e)}function v$(t){var e={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(e),e}function y$(t,e){return e?{$field:t,$name:e}:{$field:t}}var b$=y$("key");function x$(t,e){return{$compare:t,$order:e}}var _$="descending";function w$(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}var O$="scope",j$="view";function k$(t){return t&&t.signal}function A$(t){if(k$(t))return!0;if(Object(K.F)(t))for(var e in t)if(A$(t[e]))return!0;return!1}function E$(t,e){return null!=t?t:e}function S$(t){return t&&t.signal||t}var D$="timer";function C$(t,e){return(t.merge?M$:t.stream?F$:t.type?$$:Object(K.n)("Invalid stream specification: "+Object(K.Z)(t)))(t,e)}function M$(t,e){var n=N$({merge:t.merge.map(t=>C$(t,e))},t,e);return e.addStream(n).id}function F$(t,e){var n=N$({stream:C$(t.stream,e)},t,e);return e.addStream(n).id}function $$(t,e){var n,r;return t.type===D$?(n=e.event(D$,t.throttle),t={between:t.between,filter:t.filter}):n=e.event(function(t){return t===O$?j$:t||j$}(t.source),t.type),r=N$({stream:n},t,e),1===Object.keys(r).length?n:e.addStream(r).id}function N$(t,e,n){var r=e.between;return r&&(2!==r.length&&Object(K.n)('Stream "between" parameter must have 2 entries: '+Object(K.Z)(e)),t.between=[C$(r[0],n),C$(r[1],n)]),r=e.filter?[].concat(e.filter):[],(e.marktype||e.markname||e.markrole)&&r.push(function(t,e,n){var r="event.item";return r+(t&&"*"!==t?"&&"+r+".mark.marktype==='"+t+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(e?"&&"+r+".mark.name==='"+e+"'":"")}(e.marktype,e.markname,e.markrole)),e.source===O$&&r.push("inScope(event.item)"),r.length&&(t.filter=hF("("+r.join(")&&(")+")",n).$expr),null!=(r=e.throttle)&&(t.throttle=+r),null!=(r=e.debounce)&&(t.debounce=+r),e.consume&&(t.consume=!0),t}var T$,z$,R$=function(t,e,n){return T$=e||P$,z$=n||V$,X$(t.trim()).map(J$)},P$="view",L$="[",B$="]",I$="{",U$="}",q$=":",W$=",",H$="@",Y$=">",G$=/[[\]{}]/,V$={"*":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 Z$(t,e,n,r,i){for(var o,a=0,s=t.length;e=0?--a:r&&r.indexOf(o)>=0&&++a}return e}function X$(t){for(var e=[],n=0,r=t.length,i=0;i' after between selector: "+t;if(e=e.map(J$),(n=J$(t.slice(1).trim())).between)return{between:e,stream:n};n.between=e;return n}(t):function(t){var e,n,r={source:T$},i=[],o=[0,0],a=0,s=0,u=t.length,l=0;if(t[u-1]===U$){if(!((l=t.lastIndexOf(I$))>=0))throw"Unmatched right brace: "+t;try{o=function(t){var e=t.split(W$);if(!t.length||e.length>2)throw t;return e.map(function(e){var n=+e;if(n!=n)throw t;return n})}(t.substring(l+1,u-1))}catch(e){throw"Invalid throttle specification: "+t}t=t.slice(0,l).trim(),u=t.length,l=0}if(!u)throw t;t[0]===H$&&(a=++l);(e=Z$(t,l,q$))1?(r.type=i[1],a?r.markname=i[0].slice(1):!function(t){return z$[t]}(i[0])?r.source=i[0]:r.marktype=i[0]):r.type=i[0];"!"===r.type.slice(-1)&&(r.consume=!0,r.type=r.type.slice(0,-1));null!=n&&(r.filter=n);o[0]&&(r.throttle=o[0]);o[1]&&(r.debounce=o[1]);return r}(t)}const Q$={code:"_.$value",ast:{type:"Identifier",value:"value"}};var K$=function(t,e,n){var r=t.events,i=t.update,o=t.encode,a=[],s={target:n};r||Object(K.n)("Signal update missing events specification."),Object(K.H)(r)&&(r=R$(r,e.isSubscope()?O$:j$)),r=Object(K.i)(r).filter(t=>t.signal||t.scale?(a.push(t),0):1),a.length>1&&(a=[function(t){return{signal:"["+t.map(t=>t.scale?'scale("'+t.scale+'")':t.signal)+"]"}}(a)]),r.length&&a.push(r.length>1?{merge:r}:r[0]),null!=o&&(i&&Object(K.n)("Signal encode and update are mutually exclusive."),i="encode(item(),"+Object(K.Z)(o)+")"),s.update=Object(K.H)(i)?hF(i,e):null!=i.expr?hF(i.expr,e):null!=i.value?i.value:null!=i.signal?{$expr:Q$,$params:{$value:e.signalRef(i.signal)}}:Object(K.n)("Invalid signal update specification."),t.force&&(s.options={force:!0}),a.forEach(function(t){e.addUpdate(Object(K.o)(function(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):C$(t,e)}}(t,e),s))})};const tN=t=>(e,n,r)=>g$(t,n,e||void 0,r);var eN=tN("aggregate"),nN=tN("axisticks"),rN=tN("bound"),iN=tN("collect"),oN=tN("compare"),aN=tN("datajoin"),sN=tN("encode"),uN=tN("expression"),lN=(tN("extent"),tN("facet")),cN=tN("field"),fN=tN("key"),dN=tN("legendentries"),hN=tN("load"),pN=tN("mark"),gN=tN("multiextent"),mN=tN("multivalues"),vN=tN("overlap"),yN=tN("params"),bN=tN("prefacet"),xN=tN("projection"),_N=tN("proxy"),wN=tN("relay"),ON=tN("render"),jN=tN("scale"),kN=tN("sieve"),AN=tN("sortitems"),EN=tN("viewlayout"),SN=tN("values"),DN=0,CN={min:"min",max:"max",count:"sum"};function MN(t,e){var n,r=e.getScale(t.name).params;for(n in r.domain=TN(t.domain,t,e),null!=t.range&&(r.range=function t(e,n,r){var i=e.range,o=n.config.range;if(i.signal)return n.signalRef(i.signal);if(Object(K.H)(i)){if(o&&Object(K.v)(o,i))return e=Object(K.o)({},e,{range:o[i]}),t(e,n,r);"width"===i?i=[0,{signal:"width"}]:"height"===i?i=qm(e.type)?[0,{signal:"height"}]:[{signal:"height"},0]:Object(K.n)("Unrecognized scale range value: "+Object(K.Z)(i))}else{if(i.scheme)return r.scheme=Object(K.A)(i.scheme)?$N(i.scheme,n):FN(i.scheme,n),i.extent&&(r.schemeExtent=$N(i.extent,n)),void(i.count&&(r.schemeCount=FN(i.count,n)));if(i.step)return void(r.rangeStep=FN(i.step,n));if(qm(e.type)&&!Object(K.A)(i))return TN(i,e,n);Object(K.A)(i)||Object(K.n)("Unsupported range type: "+Object(K.Z)(i))}return i.map(t=>(Object(K.A)(t)?$N:FN)(t,n))}(t,e,r)),null!=t.interpolate&&function(t,e){e.interpolate=FN(t.type||t),null!=t.gamma&&(e.interpolateGamma=FN(t.gamma))}(t.interpolate,r),null!=t.nice&&(r.nice=function(t){return Object(K.F)(t)?{interval:FN(t.interval),step:FN(t.step)}:FN(t)}(t.nice)),null!=t.bins&&(r.bins=function(t,e){return t.signal||Object(K.A)(t)?$N(t,e):e.objectProperty(t)}(t.bins,e)),t)Object(K.v)(r,n)||"name"===n||(r[n]=FN(t[n],e))}function FN(t,e){return Object(K.F)(t)?t.signal?e.signalRef(t.signal):Object(K.n)("Unsupported object: "+Object(K.Z)(t)):t}function $N(t,e){return t.signal?e.signalRef(t.signal):t.map(t=>FN(t,e))}function NN(t){Object(K.n)("Can not find data set: "+Object(K.Z)(t))}function TN(t,e,n){if(t)return t.signal?n.signalRef(t.signal):(Object(K.A)(t)?function(t,e,n){return t.map(function(t){return FN(t,n)})}:t.fields?function(t,e,n){var r=t.data,i=t.fields.reduce(function(t,e){return e=Object(K.H)(e)?{data:r,field:e}:Object(K.A)(e)||e.signal?function(t,e){var n="_:vega:_"+DN++,r=iN({});if(Object(K.A)(t))r.value={$ingest:t};else if(t.signal){var i="setdata("+Object(K.Z)(n)+","+t.signal+")";r.params.input=e.signalRef(i)}return e.addDataPipeline(n,[r,kN({})]),{data:n,field:"data"}}(e,n):e,t.push(e),t},[]);return(qm(e.type)?function(t,e,n){var r,i,o,a,s,u=zN(t.sort,!0);r=n.map(function(t){var n=e.getData(t.data);return n||NN(t.data),n.countsRef(e,t.field,u)}),i={groupby:b$,pulse:r},u&&(o=u.op||"count",s=u.field?w$(o,u.field):"count",i.ops=[CN[o]],i.fields=[e.fieldRef(s)],i.as=[s]);return o=e.add(eN(i)),a=e.add(iN({pulse:v$(o)})),v$(s=e.add(SN({field:b$,sort:e.sortRef(u),pulse:v$(a)})))}:Gm(e.type)?function(t,e,n){var r=n.map(function(t){var n=e.getData(t.data);return n||NN(t.data),n.domainRef(e,t.field)});return v$(e.add(mN({values:r})))}:function(t,e,n){var r=n.map(function(t){var n=e.getData(t.data);return n||NN(t.data),n.extentRef(e,t.field)});return v$(e.add(gN({extents:r})))})(t,n,i)}:function(t,e,n){var r=n.getData(t.data);r||NN(t.data);return qm(e.type)?r.valuesRef(n,t.field,zN(t.sort,!1)):Gm(e.type)?r.domainRef(n,t.field):r.extentRef(n,t.field)})(t,e,n);null==e.domainMin&&null==e.domainMax||Object(K.n)("No scale domain defined for domainMin/domainMax to override.")}function zN(t,e){return t&&(t.field||t.op?t.field||"count"===t.op?e&&t.field&&t.op&&!CN[t.op]&&Object(K.n)("Multiple domain scales can not be sorted using "+t.op):Object(K.n)("No field provided for sort aggregate op: "+t.op):Object(K.F)(t)?t.field="key":t={field:"key"}),t}function RN(t,e,n){return Object(K.A)(t)?t.map(function(t){return RN(t,e,n)}):Object(K.F)(t)?t.signal?n.signalRef(t.signal):"fit"===e?t:Object(K.n)("Unsupported parameter object: "+Object(K.Z)(t)):t}const PN="vertical",LN="start",BN="end",IN="value",UN="guide-label",qN="guide-title",WN="group-title",HN="group-subtitle",YN="symbol",GN="gradient",VN="discrete",ZN=["size","shape","fill","stroke","strokeWidth","strokeDash","opacity"],XN={name:1,style:1,interactive:1},JN={value:0},QN={value:1};var KN="group",tT="text",eT=function(t){return t.type=KN,t.interactive=t.interactive||!1,t};function nT(t,e){const n=(n,r)=>E$(t[n],E$(e[n],r));return n.isVertical=(n=>PN===E$(t.direction,e.direction||(n?e.symbolDirection:e.gradientDirection))),n.gradientLength=(()=>E$(t.gradientLength,e.gradientLength||e.gradientWidth)),n.gradientThickness=(()=>E$(t.gradientThickness,e.gradientThickness||e.gradientHeight)),n.entryColumns=(()=>E$(t.columns,E$(e.columns,+n.isVertical(!0)))),n}function rT(t,e){var n=e&&(e.update&&e.update[t]||e.enter&&e.enter[t]);return n&&n.signal?n:n?n.value:null}function iT(t,e,n){return`item.anchor === '${LN}' ? ${t} : item.anchor === '${BN}' ? ${e} : ${n}`}const oT=iT(Object(K.Z)("left"),Object(K.Z)("right"),Object(K.Z)("center"));var aT=function(t,e){return e?(t.name=e.name,t.style=e.style||t.style,t.interactive=!!e.interactive,t.encode=ZF(t.encode,e,XN)):t.interactive=!1,t};var sT=function(t,e,n,r){var i,o,a,s,u,l=nT(t,e),c=l.isVertical(),f=YF(l.gradientThickness()),d=l.gradientLength(),h=l("labelOverlap"),p="";return VF(i={enter:o={opacity:JN},update:a={opacity:QN,text:{field:"label"}},exit:{opacity:JN}},{fill:l("labelColor"),fillOpacity:l("labelOpacity"),font:l("labelFont"),fontSize:l("labelFontSize"),fontStyle:l("labelFontStyle"),fontWeight:l("labelFontWeight"),limit:E$(t.labelLimit,e.gradientLabelLimit)}),c?(o.align={value:"left"},o.baseline=a.baseline={signal:'datum.perc<=0?"bottom":datum.perc>=1?"top":"middle"'},s="y",u="x",p="1-"):(o.align=a.align={signal:'datum.perc<=0?"left":datum.perc>=1?"right":"center"'},o.baseline={value:"top"},s="x",u="y"),o[s]=a[s]={signal:p+"datum.perc",mult:d},o[u]=a[u]=f,f.offset=E$(t.labelOffset,e.gradientLabelOffset)||0,h=h?{separation:l("labelSeparation"),method:h,order:"datum.index"}:void 0,aT({type:tT,role:"legend-label",style:UN,key:IN,from:r,encode:i,overlap:h},n)};const uT='item.orient === "left"',lT='item.orient === "right"',cT=`(${uT} || ${lT})`,fT=`datum.vgrad && ${cT}`,dT=iT('"top"','"bottom"','"middle"'),hT=`datum.vgrad && ${lT} ? (${iT('"right"','"left"','"center"')}) : (${cT} && !(datum.vgrad && ${uT})) ? "left" : ${oT}`,pT=`item._anchor || (${cT} ? "middle" : "start")`,gT=`${fT} ? (${uT} ? -90 : 90) : 0`,mT=`${cT} ? (datum.vgrad ? (${lT} ? "bottom" : "top") : ${dT}) : "top"`;function vT(t){return Object(K.F)(t)&&t.signal?t.signal:Object(K.Z)(t)}var yT=function(t){var e=t.role||"";return e.indexOf("axis")&&e.indexOf("legend")&&e.indexOf("title")?t.type===KN?"scope":e||"mark":e},bT=function(t,e){var n=Io(t.type);n||Object(K.n)("Unrecognized transform type: "+Object(K.Z)(t.type));var r=g$(n.type.toLowerCase(),null,xT(n,t,e));return t.signal&&e.addSignal(t.signal,e.proxy(r)),r.metadata=n.metadata||{},r};function xT(t,e,n){var r,i,o,a={};for(i=0,o=t.params.length;it[e]?(v[e]=t[e],y=y||t[e]):0),y||Object(K.n)("Missing valid scale for legend."),a=function(t,e){var n=t.type||YN;t.type||1!==function(t){return ZN.reduce(function(e,n){return e+(t[n]?1:0)},0)}(t)||!t.fill&&!t.stroke||(n=Um(e)?GN:Wm(e)?VN:YN);return n!==GN?n:Wm(e)?VN:GN}(t,e.scaleType(y)),s={title:null!=t.title,scales:v,type:a,vgrad:"symbol"!==a&&m.isVertical()},u=v$(e.add(iN(null,[s]))),d=ZF(function(t,e,n){var r={enter:{},update:{}};return VF(r,{orient:t("orient"),offset:t("offset"),padding:t("padding"),titlePadding:t("titlePadding"),cornerRadius:t("cornerRadius"),fill:t("fillColor"),stroke:t("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:t("legendX"),y:t("legendY"),format:e.format,formatType:e.formatType}),r}(m,t,c),d,XN),n={enter:{x:{value:0},y:{value:0}}},l=v$(e.add(dN(i={type:a,scale:e.scaleRef(y),count:e.objectProperty(m("tickCount")),limit:e.property(m("symbolLimit")),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)}))),a===GN?(o=[function(t,e,n,r){var i,o,a,s,u,l,c=nT(t,n),f=c.isVertical(),d=c.gradientThickness(),h=c.gradientLength();return f?(a=[0,1],s=[0,0],u=d,l=h):(a=[0,0],s=[1,0],u=h,l=d),VF(i={enter:o={opacity:JN,x:JN,y:JN,width:YF(u),height:YF(l)},update:Object(K.o)({},o,{opacity:QN,fill:{gradient:e,start:a,stop:s}}),exit:{opacity:JN}},{stroke:c("gradientStrokeColor"),strokeWidth:c("gradientStrokeWidth")},{opacity:c("gradientOpacity")}),aT({type:"rect",role:"legend-gradient",encode:i},r)}(t,y,c,f.gradient),sT(t,c,f.labels,l)],i.count=i.count||e.signalRef(`max(2,2*floor((${S$(m.gradientLength())})/100))`)):a===VN?o=[function(t,e,n,r,i){var o,a,s,u,l,c,f=nT(t,n),d=f.isVertical(),h=f.gradientThickness(),p=f.gradientLength(),g="";return d?(s="y",l="y2",u="x",c="width",g="1-"):(s="x",l="x2",u="y",c="height"),(a={opacity:JN,fill:{scale:e,field:IN}})[s]={signal:g+"datum.perc",mult:p},a[u]=JN,a[l]={signal:g+"datum.perc2",mult:p},a[c]=YF(h),VF(o={enter:a,update:Object(K.o)({},a,{opacity:QN}),exit:{opacity:JN}},{stroke:f("gradientStrokeColor"),strokeWidth:f("gradientStrokeWidth")},{opacity:f("gradientOpacity")}),aT({type:"rect",role:"legend-band",key:IN,from:i,encode:o},r)}(t,y,c,f.gradient,l),sT(t,c,f.labels,l)]:(r=function(t,e){const n=nT(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}(t,c),o=[function(t,e,n,r,i){var o,a,s,u,l,c,f,d=nT(t,e),h=n.entries,p=!(!h||!h.interactive),g=h?h.name:void 0,m=d("clipHeight"),v=d("symbolOffset"),y={data:"value"},b={},x=`(${i}) ? datum.offset : datum.size`,_=m?YF(m):{field:"size"},w="datum.index",O=`max(1, ${i})`;_.mult=.5,b={enter:o={opacity:JN,x:{signal:x,mult:.5,offset:v},y:_},update:a={opacity:QN,x:o.x,y:o.y},exit:{opacity:JN}};var j=null,k=null;return t.fill||(j=e.symbolBaseFillColor,k=e.symbolBaseStrokeColor),VF(b,{fill:d("symbolFillColor",j),shape:d("symbolType"),size:d("symbolSize"),stroke:d("symbolStrokeColor",k),strokeDash:d("symbolDash"),strokeDashOffset:d("symbolDashOffset"),strokeWidth:d("symbolStrokeWidth")},{opacity:d("symbolOpacity")}),ZN.forEach(function(e){t[e]&&(a[e]=o[e]={scale:t[e],field:IN})}),u=aT({type:"symbol",role:"legend-symbol",key:IN,from:y,clip:!!m||void 0,encode:b},n.symbols),(s=YF(v)).offset=d("labelOffset"),VF(b={enter:o={opacity:JN,x:{signal:x,offset:s},y:_},update:a={opacity:QN,text:{field:"label"},x:o.x,y:o.y},exit:{opacity:JN}},{align:d("labelAlign"),baseline:d("labelBaseline"),fill:d("labelColor"),fillOpacity:d("labelOpacity"),font:d("labelFont"),fontSize:d("labelFontSize"),fontStyle:d("labelFontStyle"),fontWeight:d("labelFontWeight"),limit:d("labelLimit")}),l=aT({type:tT,role:"legend-label",style:UN,key:IN,from:y,encode:b},n.labels),b={enter:{noBound:{value:!m},width:JN,height:m?YF(m):JN,opacity:JN},exit:{opacity:JN},update:a={opacity:QN,row:{signal:null},column:{signal:null}}},d.isVertical(!0)?(c=`ceil(item.mark.items.length / ${O})`,a.row.signal=`${w}%${c}`,a.column.signal=`floor(${w} / ${c})`,f={field:["row",w]}):(a.row.signal=`floor(${w} / ${O})`,a.column.signal=`${w} % ${O}`,f={field:w}),a.column.signal=`(${i})?${a.column.signal}:${w}`,eT({role:"scope",from:r={facet:{data:r,name:"value",groupby:"index"}},encode:ZF(b,h,XN),marks:[u,l],name:g,interactive:p,sort:f})}(t,c,f,l,S$(r.columns))],i.size=function(t,e,n){var r=S$(zT("size",t,n)),i=S$(zT("strokeWidth",t,n)),o=S$(function(t,e,n){return rT("fontSize",t)||function(t,e,n){var r=e.config.style[n];return r&&r[t]}("fontSize",e,n)}(n[1].encode,e,UN));return hF(`max(ceil(sqrt(${r})+${i}),${o})`,e)}(t,e,o[0].marks)),o=[eT({role:"legend-entry",from:u,encode:n,marks:o,layout:r,interactive:p})],s.title&&o.push(function(t,e,n,r){var i,o=nT(t,e);return VF(i={enter:{opacity:JN},update:{opacity:QN,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:JN}},{orient:o("titleOrient"),_anchor:o("titleAnchor"),anchor:{signal:pT},angle:{signal:gT},align:{signal:hT},baseline:{signal:mT},text:t.title,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"),baseline:o("titleBaseline")}),aT({type:tT,role:"legend-title",style:qN,from:r,encode:i},n)}(t,c,f.title,u)),NT(eT({role:"legend",from:u,encode:d,marks:o,aria:m("aria"),description:m("description"),zindex:m("zindex"),name:h,interactive:p,style:g}),e)};function zT(t,e,n){return e[t]?`scale("${e[t]}",datum)`:rT(t,n[0].encode)}const RT='item.orient==="left"?-90:item.orient==="right"?90:0';var PT=function(t,e){var n,r,i=nT(t=Object(K.H)(t)?{text:t}:t,e.config.title),o=t.encode||{},a=o.group||{},s=a.name||void 0,u=a.interactive,l=a.style,c=[];return n={},r=v$(e.add(iN(null,[n]))),c.push(function(t,e,n,r){var i={value:0},o=t.text,a={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return VF(a,{text:o,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("color"),font:e("font"),fontSize:e("fontSize"),fontStyle:e("fontStyle"),fontWeight:e("fontWeight"),lineHeight:e("lineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")}),aT({type:tT,role:QF,style:WN,from:r,encode:a},n)}(t,i,function(t){const e=t.encode;return e&&e.title||Object(K.o)({name:t.name,interactive:t.interactive,style:t.style},e)}(t),r)),t.subtitle&&c.push(function(t,e,n,r){var i={value:0},o=t.subtitle,a={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return VF(a,{text:o,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("subtitleColor"),font:e("subtitleFont"),fontSize:e("subtitleFontSize"),fontStyle:e("subtitleFontStyle"),fontWeight:e("subtitleFontWeight"),lineHeight:e("subtitleLineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")}),aT({type:tT,role:KF,style:HN,from:r,encode:a},n)}(t,i,o.subtitle,r)),NT(eT({role:"title",from:r,encode:function(t,e){var n={enter:{},update:{}};return VF(n,{orient:t("orient"),anchor:t("anchor"),align:{signal:oT},angle:{signal:RT},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")}),ZF(n,e,XN)}(i,a),marks:c,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:s,interactive:u,style:l}),e)};function LT(t,e){var n=[];t.transform&&t.transform.forEach(function(t){n.push(bT(t,e))}),t.on&&t.on.forEach(function(n){$T(n,e,t.name)}),e.addDataPipeline(t.name,function(t,e,n){var r,i,o,a,s,u=[],l=null,c=!1,f=!1;t.values?A$(t.values)||A$(t.format)?(u.push(IT(e,t)),u.push(l=BT())):u.push(l=BT({$ingest:t.values,$format:t.format})):t.url?A$(t.url)||A$(t.format)?(u.push(IT(e,t)),u.push(l=BT())):u.push(l=BT({$request:t.url,$format:t.format})):t.source&&(l=r=Object(K.i)(t.source).map(function(t){return v$(e.getData(t).output)}),u.push(null));for(i=0,o=n.length;i"bottom"===t||"top"===t,qT=(t,e,n)=>k$(t)?ZT(t.signal,e,n):"left"===t||"top"===t?e:n,WT=(t,e,n)=>k$(t)?GT(t.signal,e,n):UT(t)?e:n,HT=(t,e,n)=>k$(t)?VT(t.signal,e,n):UT(t)?n:e,YT=(t,e,n)=>k$(t)?XT(t.signal,e,n):"top"===t?{value:e}:{value:n},GT=(t,e,n)=>QT(`${t} === 'top' || ${t} === 'bottom'`,e,n),VT=(t,e,n)=>QT(`${t} !== 'top' && ${t} !== 'bottom'`,e,n),ZT=(t,e,n)=>tz(`${t} === 'left' || ${t} === 'top'`,e,n),XT=(t,e,n)=>tz(`${t} === 'top'`,e,n),JT=(t,e,n)=>tz(`${t} === 'right'`,e,n),QT=(t,e,n)=>(e=null!=e?YF(e):e,n=null!=n?YF(n):n,KT(e)&&KT(n)?{signal:`${t} ? (${e=e?e.signal||Object(K.Z)(e.value):null}) : (${n=n?n.signal||Object(K.Z)(n.value):null})`}:[Object(K.o)({test:t},e)].concat(n||[])),KT=t=>null==t||1===Object.keys(t).length,tz=(t,e,n)=>({signal:`${t} ? (${nz(e)}) : (${nz(n)})`}),ez=(t,e,n,r,i)=>({signal:(null!=r?`${t} === 'left' ? (${nz(r)}) : `:"")+(null!=n?`${t} === 'bottom' ? (${nz(n)}) : `:"")+(null!=i?`${t} === 'right' ? (${nz(i)}) : `:"")+(null!=e?`${t} === 'top' ? (${nz(e)}) : `:"")+"(null)"}),nz=t=>k$(t)?t.signal:null==t?null:Object(K.Z)(t),rz=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function iz(t,e,n,r){let i;if(e&&Object(K.v)(e,t))return e[t];if(Object(K.v)(n,t))return n[t];if(t.startsWith("title")){switch(t){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=t[5].toLowerCase()+t.slice(6)}return r[qN][i]}if(t.startsWith("label")){switch(t){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=t[5].toLowerCase()+t.slice(6)}return r[UN][i]}return null}function oz(t){const e={};for(const n of t)if(n)for(const t in n)e[t]=1;return Object.keys(e)}function az(t,e){return{scale:t.scale,range:e}}var sz=function(t,e,n,r,i){var o,a,s,u,l,c,f,d,h=nT(t,e),p=t.orient,g=t.gridScale,m=qT(p,1,-1),v=function(t,e){if(1===e);else if(Object(K.F)(t)){let n=t=Object(K.o)({},t);for(;null!=n.mult;){if(!Object(K.F)(n.mult))return n.mult=k$(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e,t;n=n.mult=Object(K.o)({},n.mult)}n.mult=e}else t=k$(e)?{signal:`(${e.signal}) * (${t||0})`}:e*(t||0);return t}(t.offset,m);return VF(o={enter:a={opacity:JN},update:u={opacity:QN},exit:s={opacity:JN}},{stroke:h("gridColor"),strokeCap:h("gridCap"),strokeDash:h("gridDash"),strokeDashOffset:h("gridDashOffset"),strokeOpacity:h("gridOpacity"),strokeWidth:h("gridWidth")}),l={scale:t.scale,field:IN,band:i.band,extra:i.extra,offset:i.offset,round:h("tickRound")},d=WT(p,{signal:"height"},{signal:"width"}),c=g?{scale:g,range:0,mult:m,offset:v}:{value:0,offset:v},f=g?{scale:g,range:1,mult:m,offset:v}:Object(K.o)(d,{mult:m,offset:v}),a.x=u.x=WT(p,l,c),a.y=u.y=HT(p,l,c),a.x2=u.x2=HT(p,f),a.y2=u.y2=WT(p,f),s.x=WT(p,l),s.y=HT(p,l),aT({type:"rule",role:"axis-grid",key:IN,from:r,encode:o},n)};function uz(t,e,n,r,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+e+","+n+","+r+","+i+")"}}var lz=function(t,e,n,r,i,o){var a,s,u,l,c,f,d,h,p,g,m=nT(t,e),v=t.orient,y=t.scale,b=qT(v,-1,1),x=S$(m("labelFlush")),_=S$(m("labelFlushOffset")),w=0===x||!!x,O=m("labelAlign"),j=m("labelBaseline");return(l=YF(i)).mult=b,l.offset=YF(m("labelPadding")||0),l.offset.mult=b,c={scale:y,field:IN,band:.5,offset:function t(e,n){return n?e?Object(K.F)(e)?Object.assign({},e,{offset:t(e.offset,n)}):{value:e,offset:n}:n:e}(o.offset,m("labelOffset"))},f=WT(v,w?uz(y,x,'"left"','"right"','"center"'):{value:"center"},((t,e,n)=>k$(t)?JT(t.signal,e,n):"right"===t?{value:e}:{value:n})(v,"left","right")),d=WT(v,YT(v,"bottom","top"),w?uz(y,x,'"top"','"bottom"','"middle"'):{value:"middle"}),g=uz(y,x,`-(${_})`,_,0),w=w&&_,VF(a={enter:s={opacity:JN,x:WT(v,c,l),y:HT(v,c,l)},update:u={opacity:QN,text:{field:"label"},x:s.x,y:s.y,align:f,baseline:d},exit:{opacity:JN,x:s.x,y:s.y}},{dx:!O&&w?WT(v,g):null,dy:!j&&w?HT(v,g):null}),VF(a,{angle:m("labelAngle"),fill:m("labelColor"),fillOpacity:m("labelOpacity"),font:m("labelFont"),fontSize:m("labelFontSize"),fontWeight:m("labelFontWeight"),fontStyle:m("labelFontStyle"),limit:m("labelLimit"),lineHeight:m("labelLineHeight")},{align:O,baseline:j}),h=m("labelBound"),p=(p=m("labelOverlap"))||h?{separation:m("labelSeparation"),method:p,order:"datum.index",bound:h?{scale:y,orient:v,tolerance:h}:null}:void 0,u.align!==f&&(u.align=rz(u.align,f)),u.baseline!==d&&(u.baseline=rz(u.baseline,d)),aT({type:tT,role:"axis-label",style:UN,key:IN,from:r,encode:a,overlap:p},n)},cz=function(t,e,n,r){var i,o,a,s,u=nT(t,e),l=t.orient,c=qT(l,-1,1);return i={enter:o={opacity:JN,anchor:YF(u("titleAnchor",null)),align:{signal:oT}},update:a=Object(K.o)({},o,{opacity:QN,text:YF(t.title)}),exit:{opacity:JN}},s={signal:`lerp(range("${t.scale}"), ${iT(0,1,.5)})`},a.x=WT(l,s),a.y=HT(l,s),o.angle=WT(l,JN,((t,e)=>0===e?0:k$(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e})(c,90)),o.baseline=WT(l,YT(l,"bottom","top"),{value:"bottom"}),a.angle=o.angle,a.baseline=o.baseline,VF(i,{fill:u("titleColor"),fillOpacity:u("titleOpacity"),font:u("titleFont"),fontSize:u("titleFontSize"),fontStyle:u("titleFontStyle"),fontWeight:u("titleFontWeight"),limit:u("titleLimit"),lineHeight:u("titleLineHeight")},{align:u("titleAlign"),angle:u("titleAngle"),baseline:u("titleBaseline")}),function(t,e,n,r){const i=(t,e)=>null!=t?(n.update[e]=rz(YF(t),n.update[e]),!1):!XF(e,r),o=i(t("titleX"),"x"),a=i(t("titleY"),"y");n.enter.auto=a===o?YF(a):WT(e,YF(a),YF(o))}(u,l,i,n),i.update.align=rz(i.update.align,o.align),i.update.angle=rz(i.update.angle,o.angle),i.update.baseline=rz(i.update.baseline,o.baseline),aT({type:tT,role:"axis-title",style:qN,from:r,encode:i},n)};var fz=function(t,e){var n,r,i,o,a,s=function(t,e){var n,r,i,o=e.config,a=o.style,s=o.axis,u="band"===e.scaleType(t.scale)&&o.axisBand,l=t.orient;if(k$(l)){const t=oz([o.axisX,o.axisY]),e=oz([o.axisTop,o.axisBottom,o.axisLeft,o.axisRight]);for(i of(n={},t))n[i]=WT(l,iz(i,o.axisX,s,a),iz(i,o.axisY,s,a));for(i of(r={},e))r[i]=ez(l.signal,iz(i,o.axisTop,s,a),iz(i,o.axisBottom,s,a),iz(i,o.axisLeft,s,a),iz(i,o.axisRight,s,a))}else n="top"===l||"bottom"===l?o.axisX:o.axisY,r=o["axis"+l[0].toUpperCase()+l.slice(1)];return n||r||u?Object(K.o)({},s,n,r,u):s}(t,e),u=t.encode||{},l=u.axis||{},c=l.name||void 0,f=l.interactive,d=l.style,h=nT(t,s),p=function(t){let e,n,r=t("tickBand"),i=t("tickOffset");return r?r.signal?(e={signal:`(${r.signal}) === 'extent' ? 1 : 0.5`},n={signal:`(${r.signal}) === 'extent'`},Object(K.F)(i)||(i={signal:`(${r.signal}) === 'extent' ? 0 : ${i}`})):"extent"===r?(e=1,n=!0,i=0):(e=.5,n=!1):(e=t("bandPosition"),n=t("tickExtra")),{extra:n,band:e,offset:i}}(h);return n={scale:t.scale,ticks:!!h("ticks"),labels:!!h("labels"),grid:!!h("grid"),domain:!!h("domain"),title:null!=t.title},r=v$(e.add(iN({},[n]))),l=ZF(function(t,e){var n={enter:{},update:{}};return VF(n,{orient:t("orient"),offset:t("offset")||0,position:E$(e.position,0),titlePadding:t("titlePadding"),minExtent:t("minExtent"),maxExtent:t("maxExtent"),range:{signal:`abs(span(range("${e.scale}")))`},translate:t("translate"),format:e.format,formatType:e.formatType}),n}(h,t),l,XN),i=v$(e.add(nN({scale:e.scaleRef(t.scale),extra:e.property(p.extra),count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)}))),a=[],n.grid&&a.push(sz(t,s,u.grid,i,p)),n.ticks&&(o=h("tickSize"),a.push(function(t,e,n,r,i,o){var a,s,u,l,c,f,d=nT(t,e),h=t.orient,p=qT(h,-1,1);return VF(a={enter:s={opacity:JN},update:l={opacity:QN},exit:u={opacity:JN}},{stroke:d("tickColor"),strokeCap:d("tickCap"),strokeDash:d("tickDash"),strokeDashOffset:d("tickDashOffset"),strokeOpacity:d("tickOpacity"),strokeWidth:d("tickWidth")}),(c=YF(i)).mult=p,f={scale:t.scale,field:IN,band:o.band,extra:o.extra,offset:o.offset,round:d("tickRound")},l.y=s.y=WT(h,JN,f),l.y2=s.y2=WT(h,c),u.x=WT(h,f),l.x=s.x=HT(h,JN,f),l.x2=s.x2=HT(h,c),u.y=HT(h,f),aT({type:"rule",role:"axis-tick",key:IN,from:r,encode:a},n)}(t,s,u.ticks,i,o,p))),n.labels&&(o=n.ticks?o:0,a.push(lz(t,s,u.labels,i,o,p))),n.domain&&a.push(function(t,e,n,r){var i,o,a,s=nT(t,e),u=t.orient;VF(i={enter:o={opacity:JN},update:a={opacity:QN},exit:{opacity:JN}},{stroke:s("domainColor"),strokeCap:s("domainCap"),strokeDash:s("domainDash"),strokeDashOffset:s("domainDashOffset"),strokeWidth:s("domainWidth"),strokeOpacity:s("domainOpacity")});const l=az(t,0),c=az(t,1);return o.x=a.x=WT(u,l,JN),o.x2=a.x2=WT(u,c),o.y=a.y=HT(u,l,JN),o.y2=a.y2=HT(u,c),aT({type:"rule",role:"axis-domain",from:r,encode:i},n)}(t,s,u.domain,r)),n.title&&a.push(cz(t,s,u.title,r)),NT(eT({role:"axis",from:r,encode:l,marks:a,aria:h("aria"),description:h("description"),zindex:h("zindex"),name:c,interactive:f,style:d}),e)};var dz=function(t,e,n){var r=Object(K.i)(t.signals),i=Object(K.i)(t.scales);return n||r.forEach(t=>h$(t,e)),Object(K.i)(t.projections).forEach(t=>(function(t,e){var n=e.config.projection||{},r={};for(var i in t)"name"!==i&&(r[i]=RN(t[i],i,e));for(i in n)null==r[i]&&(r[i]=RN(n[i],i,e));e.addProjection(t.name,r)})(t,e)),i.forEach(t=>(function(t,e){var n=t.type||"linear";Bm(n)||Object(K.n)("Unrecognized scale type: "+Object(K.Z)(n)),e.addScale(t.name,{type:n,domain:void 0})})(t,e)),Object(K.i)(t.data).forEach(t=>LT(t,e)),i.forEach(t=>MN(t,e)),(n||r).forEach(t=>(function(t,e){var n=e.getSignal(t.name),r=t.update;t.init&&(r?Object(K.n)("Signals can not include both init and update expressions."):(r=t.init,n.initonly=!0)),r&&(r=hF(r,e),n.update=r.$expr,n.params=r.$params),t.on&&t.on.forEach(function(t){K$(t,e,n.id)})})(t,e)),Object(K.i)(t.axes).forEach(t=>fz(t,e)),Object(K.i)(t.marks).forEach(t=>NT(t,e)),Object(K.i)(t.legends).forEach(t=>TT(t,e)),t.title&&PT(t.title,e),e.parseLambdas(),e};const hz=t=>ZF({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function pz(t,e){const n=e.config,r=v$(e.root=e.add(m$())),i=function(t,e){const n=n=>E$(t[n],e[n]),r=[gz("background",n("background")),gz("autosize",qF(n("autosize"))),gz("padding",HF(n("padding"))),gz("width",n("width")||0),gz("height",n("height")||0)],i=r.reduce((t,e)=>(t[e.name]=e,t),{}),o={};return Object(K.i)(t.signals).forEach(t=>{Object(K.v)(i,t.name)?t=Object(K.o)(i[t.name],t):r.push(t),o[t.name]=t}),Object(K.i)(e.signals).forEach(t=>{Object(K.v)(o,t.name)||Object(K.v)(i,t.name)||r.push(t)}),r}(t,n);i.forEach(t=>h$(t,e)),e.description=t.description||n.description,e.eventConfig=n.events,e.legends=e.objectProperty(n.legend&&n.legend.layout),e.locale=n.locale;const o=e.add(iN()),a=e.add(sN(s$(hz(t.encode),KN,JF,t.style,e,{pulse:v$(o)}))),s=e.add(EN({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:r,pulse:v$(a)}));e.operators.pop(),e.pushState(v$(a),v$(s),null),dz(t,e,i),e.operators.push(s);let u=e.add(rN({mark:r,pulse:v$(s)}));return u=e.add(ON({pulse:v$(u)})),u=e.add(kN({pulse:v$(u)})),e.addData("root",new ST(e,o,o,u)),e}function gz(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function mz(t,e){this.config=t||{},this.options=e||{},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 vz(t){this.config=t.config,this.options=t.options,this.legends=t.legends,this.field=Object.create(t.field),this.signals=Object.create(t.signals),this.lambdas=Object.create(t.lambdas),this.scales=Object.create(t.scales),this.events=Object.create(t.events),this.data=Object.create(t.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++t._nextsub[0],this._nextsub=t._nextsub,this._parent=t._parent.slice(),this._encode=t._encode.slice(),this._lookup=t._lookup.slice(),this._markpath=t._markpath}var yz=mz.prototype=vz.prototype;function bz(t){return(Object(K.A)(t)?function(t){for(var e,n="[",r=0,i=t.length;r0?",":"")+(Object(K.F)(e)?e.signal||bz(e):Object(K.Z)(e));return n+"]"}:function(t){var e,n,r="{",i=0;for(e in t)n=t[e],r+=(++i>1?",":"")+Object(K.Z)(e)+":"+(Object(K.F)(n)?n.signal||bz(n):Object(K.Z)(n));return r+"}"})(t)}yz.parse=function(t){return dz(t,this)},yz.fork=function(){return new vz(this)},yz.isSubscope=function(){return this._subid>0},yz.toRuntime=function(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},yz.id=function(){return(this._subid?this._subid+":":0)+this._id++},yz.add=function(t){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach(function(e){e.$ref=t.id}),t.refs=null),t},yz.proxy=function(t){var e=t instanceof p$?v$(t):t;return this.add(_N({value:e}))},yz.addStream=function(t){return this.streams.push(t),t.id=this.id(),t},yz.addUpdate=function(t){return this.updates.push(t),t},yz.finish=function(){var t,e;for(t in this.root&&(this.root.root=!0),this.signals)this.signals[t].signal=t;for(t in this.scales)this.scales[t].scale=t;function n(t,e,n){var r;t&&((r=t.data||(t.data={}))[e]||(r[e]=[])).push(n)}for(t in this.data)for(var r in n((e=this.data[t]).input,t,"input"),n(e.output,t,"output"),n(e.values,t,"values"),e.index)n(e.index[r],t,"index:"+r);return this},yz.pushState=function(t,e,n){this._encode.push(v$(this.add(kN({pulse:t})))),this._parent.push(e),this._lookup.push(n?v$(this.proxy(n)):null),this._markpath.push(-1)},yz.popState=function(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},yz.parent=function(){return Object(K.U)(this._parent)},yz.encode=function(){return Object(K.U)(this._encode)},yz.lookup=function(){return Object(K.U)(this._lookup)},yz.markpath=function(){var t=this._markpath;return++t[t.length-1]},yz.fieldRef=function(t,e){if(Object(K.H)(t))return y$(t,e);t.signal||Object(K.n)("Unsupported field reference: "+Object(K.Z)(t));var n,r=t.signal,i=this.field[r];return i||(n={name:this.signalRef(r)},e&&(n.as=e),this.field[r]=i=v$(this.add(cN(n)))),i},yz.compareRef=function(t){function e(t){return k$(t)?(r=!0,n.signalRef(t.signal)):function(t){return t&&t.expr}(t)?(r=!0,n.exprRef(t.expr)):t}var n=this,r=!1,i=Object(K.i)(t.field).map(e),o=Object(K.i)(t.order).map(e);return r?v$(this.add(oN({fields:i,orders:o}))):x$(i,o)},yz.keyRef=function(t,e){var n=this.signals,r=!1;return t=Object(K.i)(t).map(function(t){return k$(t)?(r=!0,v$(n[t.signal])):t}),r?v$(this.add(fN({fields:t,flat:e}))):function(t,e){var n={$key:t};return e&&(n.$flat=!0),n}(t,e)},yz.sortRef=function(t){if(!t)return t;var e=w$(t.op,t.field),n=t.order||"ascending";return n.signal?v$(this.add(oN({fields:e,orders:this.signalRef(n.signal)}))):x$(e,n)},yz.event=function(t,e){var n=t+":"+e;if(!this.events[n]){var r=this.id();this.streams.push({id:r,source:t,type:e}),this.events[n]=r}return this.events[n]},yz.hasOwnSignal=function(t){return Object(K.v)(this.signals,t)},yz.addSignal=function(t,e){this.hasOwnSignal(t)&&Object(K.n)("Duplicate signal name: "+Object(K.Z)(t));var n=e instanceof p$?e:this.add(m$(e));return this.signals[t]=n},yz.getSignal=function(t){return this.signals[t]||Object(K.n)("Unrecognized signal name: "+Object(K.Z)(t)),this.signals[t]},yz.signalRef=function(t){return this.signals[t]?v$(this.signals[t]):(Object(K.v)(this.lambdas,t)||(this.lambdas[t]=this.add(m$(null))),v$(this.lambdas[t]))},yz.parseLambdas=function(){for(var t=Object.keys(this.lambdas),e=0,n=t.length;eSz()(t)).join(",")})`};const zz=Sz.a;function Rz(t){if(Object(K.E)(t))return t;const e=Object(K.H)(t)?t:Sz()(t);if(e.length<250)return e;let n=0;for(let t=0;t-1}function Bz(t,e){let n=0;for(const[r,i]of t.entries())if(e(i,r,n++))return!0;return!1}function Iz(t,e){let n=0;for(const[r,i]of t.entries())if(!e(i,r,n++))return!1;return!0}function Uz(t,e){for(const n of Vz(e))Object(K.jb)(t,n,e[n],!0)}function qz(t,e){const n=[],r={};let i;for(const o of t)(i=e(o))in r||(r[i]=1,n.push(o));return n}function Wz(t,e){for(const n of t)if(e.has(n))return!0;return!1}function Hz(t){const e=new Set;for(const n of t){const t=Object(K.Y)(n).map((t,e)=>0===e?t:`[${t}]`),r=t.map((e,n)=>t.slice(0,n+1).join(""));for(const t of r)e.add(t)}return e}function Yz(t,e){return void 0===t||void 0===e||Wz(Hz(t),Hz(e))}function Gz(t){return 0===Vz(t).length}const Vz=Object.keys,Zz=Object.values;function Xz(t){const e=[];for(const n in t)Object(K.v)(t,n)&&e.push({key:n,value:t[n]});return e}function Jz(t){return!0===t||!1===t}function Qz(t){const e=t.replace(/\W/g,"_");return(t.match(/^\d+/)?"_":"")+e}function Kz(t,e){return Mz(t)?"!("+Kz(t.not,e)+")":Cz(t)?"("+t.and.map(t=>Kz(t,e)).join(") && (")+")":Dz(t)?"("+t.or.map(t=>Kz(t,e)).join(") || (")+")":e(t)}function tR(t,e){if(0===e.length)return!0;const n=e.shift();return n in t&&tR(t[n],e)&&delete t[n],Gz(t)}function eR(t){return t.charAt(0).toUpperCase()+t.substr(1)}function nR(t,e="datum"){const n=Object(K.Y)(t),r=[];for(let t=1;t<=n.length;t++){const i=`[${n.slice(0,t).map(K.Z).join("][")}]`;r.push(`${e}${i}`)}return r.join(" && ")}function rR(t){return t.replace(/(\[|\]|\.|'|")/g,"\\$1")}function iR(t){return`${Object(K.Y)(t).map(rR).join("\\.")}`}function oR(t,e,n){return t.replace(new RegExp(e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function aR(t){return`${Object(K.Y)(t).join(".")}`}function sR(t){return t?Object(K.Y)(t).length:0}function uR(...t){for(const e of t)if(void 0!==e)return e}let lR=42;function cR(t){const e=++lR;return t?String(t)+e:e}function fR(t){if(void 0!==t)return(t%360+360)%360}function dR(t){return!!Object(K.E)(t)||!isNaN(t)&&!isNaN(parseFloat(t))}const hR={domainColor:{part:"domain",vgProp:"stroke"},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:"strokeDash"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDash"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"},titleColor:{part:"title",vgProp:"fill"},title:null};function pR(t){return t&&t.condition}const gR=["domain","grid","labels","ticks","title"],mR={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:"main",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"},vR={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},yR=Object.assign(Object.assign({},vR),{style:1,labelExpr:1,encoding:1});function bR(t){return!!yR[t]}Vz(yR);const xR={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=xR.arc,wR=xR.area,OR=xR.bar,jR=xR.image,kR=xR.line,AR=xR.point,ER=xR.rect,SR=xR.rule,DR=xR.text,CR=xR.tick,MR=xR.trail,FR=xR.circle,$R=xR.square,NR=xR.geoshape;function TR(t){return Lz(["line","area","trail"],t)}function zR(t){return Lz(["rect","bar","image","arc"],t)}const RR=Vz(xR);function PR(t){return t.type}Object(K.db)(RR);const LR=[...["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],...["fill","fillOpacity"]],BR=Vz({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBand:1,timeUnitBandPosition:1}),IR={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},UR={binSpacing:1,continuousBandSize:5,timeUnitBandPosition:.5},qR={binSpacing:0,continuousBandSize:5,timeUnitBandPosition:.5};function WR(t){return"mark"in t}class HR{constructor(t,e){this.name=t,this.run=e}hasMatchingType(t){return!!WR(t)&&function(t){return PR(t)?t.type:t}(t.mark)===this.name}}const YR={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},GR={count:1,min:1,max:1};function VR(t){return!!t&&!!t.argmin}function ZR(t){return!!t&&!!t.argmax}Vz(YR);function XR(t){return Object(K.H)(t)&&!!YR[t]}const JR=["count","valid","missing","distinct"];function QR(t){return Object(K.H)(t)&&Lz(JR,t)}const KR=["count","sum","distinct","valid","missing"],tP=Object(K.db)(["mean","average","median","q1","q3","min","max"]),eP="row",nP="column",rP="facet",iP="x",oP="y",aP="x2",sP="y2",uP="radius",lP="radius2",cP="theta",fP="theta2",dP="latitude",hP="longitude",pP="latitude2",gP="longitude2",mP="color",vP="fill",yP="stroke",bP="shape",xP="size",_P="angle",wP="opacity",OP="fillOpacity",jP="strokeOpacity",kP="strokeWidth",AP="strokeDash",EP="text",SP="order",DP="detail",CP="key",MP="tooltip",FP="href",$P="url",NP="description",TP={theta:1,theta2:1,radius:1,radius2:1};function zP(t){return t in TP}const RP={longitude:1,longitude2:1,latitude:1,latitude2:1};const PP=Vz(RP),LP=Object.assign(Object.assign(Object.assign(Object.assign({},{x:1,y:1,x2:1,y2:1}),TP),RP),{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 BP(t){return t===mP||t===vP||t===yP}const IP={row:1,column:1,facet:1},UP=Vz(IP),qP=Object.assign(Object.assign({},LP),IP),WP=Vz(qP),{order:HP,detail:YP,tooltip:GP}=qP,VP=wz(qP,["order","detail","tooltip"]),{row:ZP,column:XP,facet:JP}=VP,QP=wz(VP,["row","column","facet"]);Vz(VP),Vz(QP);function KP(t){return!!QP[t]}function tL(t){return!!qP[t]}const eL=[aP,sP,pP,gP,fP,lP];function nL(t){return rL(t)!==t}function rL(t){switch(t){case aP:return iP;case sP:return oP;case pP:return dP;case gP:return hP;case fP:return cP;case lP:return uP}return t}function iL(t){if(zP(t))switch(t){case cP:return"startAngle";case fP:return"endAngle";case uP:return"outerRadius";case lP:return"innerRadius"}return t}function oL(t){switch(t){case iP:return aP;case oP:return sP;case dP:return pP;case hP:return gP;case cP:return fP;case uP:return lP}}function aL(t){switch(t){case iP:case aP:return"width";case oP:case sP:return"height"}}const{x:sL,y:uL,x2:lL,y2:cL,latitude:fL,longitude:dL,latitude2:hL,longitude2:pL,theta:gL,theta2:mL,radius:vL,radius2:yL}=LP,bL=(Vz(LP),wz(LP,["x","y","x2","y2","latitude","longitude","latitude2","longitude2","theta","theta2","radius","radius2"])),xL=Vz(bL),_L={x:1,y:1},wL=Vz(_L);function OL(t){return t in _L}const jL={theta:1,radius:1},kL=Vz(jL);function AL(t){return"width"===t?iP:oP}const{text:EL,tooltip:SL,href:DL,url:CL,description:ML,detail:FL,key:$L,order:NL}=bL,TL=wz(bL,["text","tooltip","href","url","description","detail","key","order"]),zL=Vz(TL);const RL=Object.assign(Object.assign(Object.assign({},_L),jL),TL),PL=Vz(RL);function LL(t){return!!RL[t]}function BL(t,e){return function(t){switch(t){case mP:case vP:case yP:case NP:case DP:case CP:case MP:case FP:case SP:case wP:case OP:case jP:case kP:case rP:case eP:case nP:return IL;case iP:case oP:case dP:case hP:return qL;case aP:case sP:case pP:case gP:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case xP:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case AP:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case bP:return{point:"always",geoshape:"always"};case EP:return{text:"always"};case _P:return{point:"always",square:"always",text:"always"};case $P:return{image:"always"};case cP:case uP:return{text:"always",arc:"always"};case fP:case lP:return{arc:"always"}}}(t)[e]}const IL={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:UL}=IL,qL=wz(IL,["geoshape"]);function WL(t){switch(t){case iP:case oP:case cP:case uP:case xP:case _P:case kP:case wP:case OP:case jP:case aP:case sP:case fP:case lP:return;case rP:case eP:case nP:case bP:case AP:case EP:case MP:case FP:case $P:case NP:return"discrete";case mP:case vP:case yP:return"flexible";case dP:case hP:case pP:case gP:case DP:case CP:case SP:return}}function HL(t){return Object(K.B)(t)&&(t=Hq(t,void 0)),"bin"+Vz(t).map(e=>ZL(t[e])?Qz(`_${e}_${Object.entries(t[e])}`):Qz(`_${e}_${t[e]}`)).join("")}function YL(t){return!0===t||VL(t)&&!t.binned}function GL(t){return"binned"===t||VL(t)&&!0===t.binned}function VL(t){return Object(K.F)(t)}function ZL(t){return null===t||void 0===t?void 0:t.selection}function XL(t){switch(t){case eP:case nP:case xP:case mP:case vP:case yP:case kP:case wP:case OP:case jP:case bP:return 6;case AP:return 4;default:return 10}}function JL(t){return`Invalid specification ${JSON.stringify(t)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}const QL='Autosize "fit" only works for single views and layered views.';function KL(t){return`${"width"==t?"Width":"Height"} "container" only works for single views and layered views.`}function tB(t){return`${"width"==t?"Width":"Height"} "container" only works well with autosize "fit" or "fit-${"width"==t?"x":"y"}".`}function eB(t){return t?`Dropping "fit-${t}" because spec has discrete ${aL(t)}.`:'Dropping "fit" because spec has discrete size.'}function nB(t){return`Cannot project a selection on encoding channel "${t}", which has no field.`}function rB(t,e){return`Cannot project a selection on encoding channel "${t}" as it uses an aggregate function ("${e}").`}function iB(t){return`The "nearest" transform is not supported for ${t} marks.`}function oB(t){return`Selection not supported for ${t} yet.`}function aB(t){return`Cannot find a selection named "${t}".`}const sB="Scale bindings are currently only supported for scales with unbinned, continuous domains.",uB="Legend bindings are only supported for selections over an individual field or encoding channel.";function lB(t){return`Cannot define and lookup the "${t}" selection in the same view. `+"Try moving the lookup into a second, layered view?"}function cB(t){return`Unknown repeated value "${t}".`}function fB(t){return`The "columns" property cannot be used when "${t}" has nested row/column.`}const dB="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function hB(t){return`Unrecognized parse "${t}".`}function pB(t,e,n){return`An ancestor parsed field "${t}" as ${n} but a child wants to parse the field as ${e}.`}function gB(t){return`Ignoring an invalid transform: ${zz(t)}.`}const mB='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.';function vB(t){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${t} are dropped.`}function yB(t){return`Layer's shared ${t.join(",")} channel ${1===t.length?"is":"are"} overriden.`}function bB(t){const{parentProjection:e,projection:n}=t;return`Layer's shared projection ${zz(e)} is overridden by a child projection ${zz(n)}.`}const xB="Arc marks uses theta channel rather than angle, replacing angle with theta.";function _B(t,e,n){return`Channel ${t} is a ${e}. Converted to {value: ${zz(n)}}.`}function wB(t){return`Invalid field type "${t}".`}function OB(t,e){return`Invalid field type "${t}" for aggregate: "${e}", using "quantitative" instead.`}function jB(t){return`Invalid aggregation operator "${t}".`}function kB(t,e){return`Missing type for channel "${t}", using "${e}" instead.`}function AB(t,e){const{fill:n,stroke:r}=e;return`Dropping color ${t} as the plot also has ${n&&r?"fill and stroke":n?"fill":"stroke"}.`}function EB(t,e){return`Dropping ${zz(t)} from channel "${e}" since it does not contain any data field, datum, value, or signal.`}function SB(t,e,n){return`${t}-encoding with type ${e} is deprecated. Replacing with ${n}-encoding.`}const DB="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function CB(t,e,n){return`${t} dropped as it is incompatible with "${e}"${n?` when ${n}`:""}.`}function MB(t){return`${t}-encoding is dropped as ${t} is not a valid encoding channel.`}function FB(t){return`${t} encoding should be discrete (ordinal / nominal / binned).`}function $B(t){return`Facet encoding dropped as ${t.join(" and ")} ${t.length>1?"are":"is"} also specified.`}function NB(t,e){return`Using discrete channel "${t}" to encode "${e}" field can be misleading as it does not encode ${"ordinal"===e?"order":"magnitude"}.`}function TB(t,e){return`Line mark is for continuous lines and thus cannot be used with ${t&&e?"x2 and y2":t?"x2":"y2"}. We will use the rule mark (line segments) instead.`}function zB(t,e){return`Specified orient "${t}" overridden with "${e}".`}const RB="Custom domain scale cannot be unioned with default field-based domain.",PB='Scale\'s "rangeStep" is deprecated and will be removed in Vega-Lite 5.0. Please use "width"/"height": {"step": ...} instead. See https://vega.github.io/vega-lite/docs/size.html.';function LB(t){return`Cannot use the scale property "${t}" with non-color channel.`}function BB(t){return`Using unaggregated domain with raw field has no effect (${zz(t)}).`}function IB(t){return`Unaggregated domain not applicable for "${t}" since it produces values outside the origin domain of the source data.`}function UB(t){return`Unaggregated domain is currently unsupported for log scale (${zz(t)}).`}function qB(t){return`Cannot apply size to non-oriented mark "${t}".`}function WB(t,e,n){return`Channel "${t}" does not work with "${e}" scale. We are using "${n}" scale instead.`}function HB(t,e){return`FieldDef does not work with "${t}" scale. We are using "${e}" scale instead.`}function YB(t,e,n){return`${n}-scale's "${e}" is dropped as it does not work with ${t} scale.`}function GB(t,e){return`Scale type "${e}" does not work with mark "${t}".`}function VB(t){return`The step for "${t}" is dropped because the ${"width"===t?"x":"y"} is continuous.`}function ZB(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${zz(n)} and ${zz(r)}). Using ${zz(n)}.`}function XB(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${zz(n)} and ${zz(r)}). Using the union of the two domains.`}function JB(t){return`Setting the scale to be independent for "${t}" means we also have to set the guide (axis or legend) to be independent.`}function QB(t){return`Dropping sort property ${zz(t)} as unioned domains only support boolean or op "count", "min", and "max".`}const KB="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",tI="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.",eI="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.",nI="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.",rI="Invalid channel for axis.";function iI(t){return`Cannot stack "${t}" if there is already "${t}2".`}function oI(t){return`Cannot stack non-linear scale (${t}).`}function aI(t){return`Stacking is applied even though the aggregate function is non-summative ("${t}").`}function sI(t,e){return`Invalid ${t}: ${zz(e)}.`}function uI(t){return`Dropping day from datetime ${zz(t)} as day cannot be combined with other units.`}function lI(t,e){return`${e?"extent ":""}${e&&t?"and ":""}${t?"center ":""}${e&&t?"are ":"is "}not needed when data are aggregated.`}function cI(t,e,n){return`${t} is not usually used with ${e} for ${n}.`}function fI(t,e){return`Continuous axis should not have customized aggregation function ${t}; ${e} already agregates the axis.`}function dI(t,e){return`Center is not needed to be specified in ${e} when extent is ${t}.`}function hI(t){return`1D error band does not support ${t}.`}function pI(t){return`Channel ${t} is required for "binned" bin.`}function gI(t){return`Domain for ${t} is required for threshold scale.`}const mI=Object(K.K)(K.e);let vI=mI;function yI(){return vI=mI}function bI(...t){vI.warn(...t)}function xI(t){if(t&&Object(K.F)(t))for(const e of SI)if(e in t)return!0;return!1}const _I=["january","february","march","april","may","june","july","august","september","october","november","december"],wI=_I.map(t=>t.substr(0,3)),OI=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],jI=OI.map(t=>t.substr(0,3));function kI(t,e){const n=[];if(e&&void 0!==t.day&&Vz(t).length>1&&(bI(v.droppedDay(t)),delete(t=$z(t)).day),void 0!==t.year?n.push(t.year):n.push(2012),void 0!==t.month){const r=e?function(t){if(dR(t)&&(t=+t),Object(K.E)(t))return t-1;{const e=t.toLowerCase(),n=_I.indexOf(e);if(-1!==n)return n;const r=e.substr(0,3),i=wI.indexOf(r);if(-1!==i)return i;throw new Error(v.invalidTimeUnit("month",t))}}(t.month):t.month;n.push(r)}else if(void 0!==t.quarter){const r=e?function(t){if(dR(t)&&(t=+t),Object(K.E)(t))return t>4&&bI(v.invalidTimeUnit("quarter",t)),t-1;throw new Error(v.invalidTimeUnit("quarter",t))}(t.quarter):t.quarter;n.push(Object(K.E)(r)?3*r:r+"*3")}else n.push(0);if(void 0!==t.date)n.push(t.date);else if(void 0!==t.day){const r=e?function(t){if(dR(t)&&(t=+t),Object(K.E)(t))return t%7;{const e=t.toLowerCase(),n=OI.indexOf(e);if(-1!==n)return n;const r=e.substr(0,3),i=jI.indexOf(r);if(-1!==i)return i;throw new Error(v.invalidTimeUnit("day",t))}}(t.day):t.day;n.push(Object(K.E)(r)?r+1:r+"+1")}else n.push(1);for(const e of["hours","minutes","seconds","milliseconds"]){const r=t[e];n.push(void 0===r?0:r)}return n}function AI(t){const e=kI(t,!0).join(", ");return t.utc?`utc(${e})`:`datetime(${e})`}const EI={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},SI=Vz(EI);function DI(t){return t.startsWith("utc")}const CI={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function MI(t){const e=[];for(const n of SI)FI(t,n)&&e.push(n);return e}function FI(t,e){const n=t.indexOf(e);return!(n<0)&&(!(n>0&&"seconds"===e&&"i"===t.charAt(n-1))&&(!(t.length>n+3&&"day"===e&&"o"===t.charAt(n+3))&&!(n>0&&"year"===e&&"f"===t.charAt(n-1))))}function $I(t,e,{end:n}={end:!1}){const r=nR(e),i=DI(t)?"utc":"";function o(t){return"quarter"===t?`(${i}quarter(${r})-1)`:`${i}${t}(${r})`}let a;const s={};for(const e of SI)FI(t,e)&&(s[e]=o(e),a=e);return n&&(s[a]+="+1"),function(t){const e=kI(t,!1).join(", ");return t.utc?`utc(${e})`:`datetime(${e})`}(s)}function NI(t){if(!t)return;const e=MI(t);return`timeUnitSpecifier(${Sz()(e)}, ${Sz()(CI)})`}function TI(t){if(!t)return;let e;return Object(K.H)(t)?e={unit:t}:Object(K.F)(t)&&(e=Object.assign(Object.assign({},t),t.unit?{unit:t.unit}:{})),DI(e.unit)&&(e.utc=!0,e.unit=function(t){return t.substr(3)}(e.unit)),e}function zI(t){return t&&!!t.signal}function RI(t){return!!t.step}function PI(t){return!Object(K.A)(t)&&("field"in t&&"data"in t)}const LI=Vz({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}),BI={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},II=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];function UI(t){return t&&!!t.field&&void 0!==t.equal}function qI(t){return t&&!!t.field&&void 0!==t.lt}function WI(t){return t&&!!t.field&&void 0!==t.lte}function HI(t){return t&&!!t.field&&void 0!==t.gt}function YI(t){return t&&!!t.field&&void 0!==t.gte}function GI(t){if(t&&t.field){if(Object(K.A)(t.range)&&2===t.range.length)return!0;if(zI(t.range))return!0}return!1}function VI(t){return t&&!!t.field&&(Object(K.A)(t.oneOf)||Object(K.A)(t.in))}function ZI(t){return VI(t)||UI(t)||GI(t)||qI(t)||HI(t)||WI(t)||YI(t)}function XI(t,e){return Vq(t,{timeUnit:e,wrapTime:!0})}function JI(t,e=!0){var n;const{field:r}=t,i=null===(n=TI(t.timeUnit))||void 0===n?void 0:n.unit,o=i?"time("+$I(i,r)+")":Cq(t,{expr:"datum"});if(UI(t))return o+"==="+XI(t.equal,i);if(qI(t)){return`${o}<${XI(t.lt,i)}`}if(HI(t)){return`${o}>${XI(t.gt,i)}`}if(WI(t)){return`${o}<=${XI(t.lte,i)}`}if(YI(t)){return`${o}>=${XI(t.gte,i)}`}if(VI(t))return`indexof([${function(t,e){return t.map(t=>XI(t,e))}(t.oneOf,i).join(",")}], ${o}) !== -1`;if(function(t){return t&&!!t.field&&void 0!==t.valid}(t))return QI(o,t.valid);if(GI(t)){const{range:n}=t,r=zI(n)?{signal:`${n.signal}[0]`}:n[0],a=zI(n)?{signal:`${n.signal}[1]`}:n[1];if(null!==r&&null!==a&&e)return"inrange("+o+", ["+XI(r,i)+", "+XI(a,i)+"])";const s=[];return null!==r&&s.push(`${o} >= ${XI(r,i)}`),null!==a&&s.push(`${o} <= ${XI(a,i)}`),s.length>0?s.join(" && "):"true"}throw new Error(`Invalid field predicate: ${JSON.stringify(t)}`)}function QI(t,e=!0){return e?`isValid(${t}) && isFinite(+${t})`:`!isValid(${t}) || !isFinite(+${t})`}function KI(t){var e;return ZI(t)&&t.timeUnit?Object.assign(Object.assign({},t),{timeUnit:null===(e=TI(t.timeUnit))||void 0===e?void 0:e.unit}):t}const tU={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};const eU=tU.quantitative,nU=tU.ordinal,rU=tU.temporal,iU=tU.nominal,oU=tU.geojson,aU=Vz(tU);const sU={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"},uU={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"},lU=Vz(uU);function cU(t,e){const n=uU[t],r=uU[e];return n===r||"ordinal-position"===n&&"time"===r||"ordinal-position"===r&&"time"===n}const fU={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};function dU(t){return fU[t]}const hU=["linear","log","pow","sqrt","symlog","time","utc"],pU=Object(K.db)(hU),gU=Object(K.db)(["linear","log","pow","sqrt","symlog"]);const mU=Object(K.db)(["quantile","quantize","threshold"]),vU=hU.concat(["quantile","quantize","threshold","sequential","identity"]),yU=Object(K.db)(vU),bU=Object(K.db)(["ordinal","bin-ordinal","point","band"]);function xU(t){return t in bU}function _U(t){return t in yU}function wU(t){return t in pU}function OU(t){return t in mU}function jU(t){return null===t||void 0===t?void 0:t.selection}const kU={type:1,domain:1,domainMid:1,align:1,range: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},{type:AU,domain:EU,range:SU,scheme:DU}=kU,CU=(Vz(kU),wz(kU,["type","domain","range","scheme"])),MU=Vz(CU);!function(){var t;const e={};for(const n of WP)for(const r of aU)for(const i of lU){const o=zU(n,r);TU(n,i)&&NU(i,r)&&(e[o]=null!==(t=e[o])&&void 0!==t?t:[],e[o].push(i))}}();function FU(t,e){switch(e){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!Lz(["point","band","identity"],t);case"bins":return!Lz(["point","band","identity","ordinal"],t);case"round":return wU(t)||"band"===t||"point"===t;case"padding":return wU(t)||Lz(["point","band"],t);case"paddingOuter":case"align":return Lz(["point","band"],t);case"paddingInner":return"band"===t;case"domainMid":case"clamp":return wU(t);case"nice":return wU(t)||"quantize"===t||"threshold"===t;case"exponent":return"pow"===t;case"base":return"log"===t;case"constant":return"symlog"===t;case"zero":return _U(t)&&!Lz(["log","time","utc","threshold","quantile"],t)}}function $U(t,e){switch(e){case"interpolate":case"scheme":case"domainMid":return BP(t)?void 0:v.cannotUseScalePropertyWithNonColor(t);case"align":case"type":case"bins":case"domain":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"reverse":case"round":case"clamp":case"zero":return}}function NU(t,e){return Lz([nU,iU],e)?void 0===t||xU(t):e===rU?Lz([sU.TIME,sU.UTC,void 0],t):e!==eU||Lz([sU.LOG,sU.POW,sU.SQRT,sU.SYMLOG,sU.QUANTILE,sU.QUANTIZE,sU.THRESHOLD,sU.LINEAR,void 0],t)}function TU(t,e){if(!LL(t))return!1;switch(t){case iP:case oP:case cP:case uP:return wU(e)||Lz(["band","point"],e);case xP:case kP:case wP:case OP:case jP:case _P:return wU(e)||OU(e)||Lz(["band","point","ordinal"],e);case mP:case vP:case yP:return"band"!==e;case AP:return"ordinal"===e||OU(e);case bP:return"ordinal"===e}}function zU(t,e){return t+"_"+e}function RU(t){const{channel:e,channelDef:n,markDef:r,scale:i,config:o}=t,a=UU(t);return yq(n)&&!QR(n.aggregate)&&i&&wU(i.get("type"))&&!1===i.get("zero")?PU({fieldDef:n,channel:e,markDef:r,ref:a,config:o}):a}function PU({fieldDef:t,channel:e,markDef:n,ref:r,config:i}){if(TR(n.type))return r;return null===rW("invalid",n,i)?r:[function(t,e){const n=LU(t,!0),r="y"===rL(e)?{field:{group:"height"}}:{value:0};return Object.assign({test:n},r)}(t,e),r]}function LU(t,e=!0){return QI(Object(K.H)(t)?t:Cq(t,{expr:"datum"}),!e)}function BU(t,e,n,r){const i={};if(e&&(i.scale=e),xq(t)){const{datum:e}=t;xI(e)?i.signal=AI(e):zI(e)?i.signal=e.signal:i.value=e}else i.field=Cq(t,n);if(r){const{offset:t,band:e}=r;t&&(i.offset=t),e&&(i.band=e)}return i}function IU({scaleName:t,fieldOrDatumDef:e,fieldOrDatumDef2:n,offset:r,startSuffix:i,band:o=.5}){const a=0Qz(`${"unit"===t?"":`_${t}_`}${r[t]}`)).join(""):(n?"utc":"")+"timeunit"+Vz(r).map(t=>Qz(`_${t}_${r[t]}`)).join("")}(f),s=(!Lz(["range","mid"],e.binSuffix)&&e.binSuffix||"")+(null!==(i=e.suffix)&&void 0!==i?i:""))}a&&(o=o?`${a}_${o}`:a)}return s&&(o=`${o}_${s}`),a&&(o=`${a}_${o}`),e.forAs?aR(o):e.expr?function(t,e="datum"){return`${e}[${Object(K.Z)(Object(K.Y)(t).join("."))}]`}(o,e.expr)+u:iR(o)+u}function Mq(t){switch(t.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return yq(t)&&!!t.bin;case"temporal":return!1}throw new Error(v.invalidFieldType(t.type))}function Fq(t){return!Mq(t)}const $q=(t,e)=>{switch(e.fieldTitle){case"plain":return t.field;case"functional":return function(t){const{aggregate:e,bin:n,timeUnit:r,field:i}=t;if(ZR(e))return`${i} for argmax(${e.argmax})`;if(VR(e))return`${i} for argmin(${e.argmin})`;const o=TI(r),a=e||(null===o||void 0===o?void 0:o.unit)||(null===o||void 0===o?void 0:o.maxbins)&&"timeunit"||YL(n)&&"bin";return a?a.toUpperCase()+"("+i+")":i}(t);default:return function(t,e){var n;const{field:r,bin:i,timeUnit:o,aggregate:a}=t;if("count"===a)return e.countTitle;if(YL(i))return`${r} (binned)`;if(o){const t=null===(n=TI(o))||void 0===n?void 0:n.unit;if(t)return`${r} (${MI(t).join("-")})`}else if(a)return ZR(a)?`${r} for max ${a.argmax}`:VR(a)?`${r} for min ${a.argmin}`:`${eR(a)} of ${r}`;return r}(t,e)}};let Nq=$q;function Tq(t){Nq=t}function zq(t,e,{allowDisabling:n,includeDefault:r=!0}){var i,o;const a=(null!==(i=Rq(t))&&void 0!==i?i:{}).title;if(!yq(t))return a;const s=t,u=r?Pq(s,e):void 0;return n?uR(a,s.title,u):null!==(o=null!==a&&void 0!==a?a:s.title)&&void 0!==o?o:u}function Rq(t){return Eq(t)&&t.axis?t.axis:Sq(t)&&t.legend?t.legend:lq(t)&&t.header?t.header:void 0}function Pq(t,e){return Nq(t,e)}function Lq(t){var e;if(Dq(t)){const{format:e,formatType:n}=t;return{format:e,formatType:n}}{const n=null!==(e=Rq(t))&&void 0!==e?e:{},{format:r,formatType:i}=n;return{format:r,formatType:i}}}function Bq(t){return yq(t)?t:mq(t)?t.condition:void 0}function Iq(t){return Oq(t)?t:vq(t)?t.condition:void 0}function Uq(t,e,n){if(Object(K.H)(t)||Object(K.E)(t)||Object(K.B)(t)){const n=Object(K.H)(t)?"string":Object(K.E)(t)?"number":"boolean";return bI(v.primitiveChannelDef(e,n,t)),{value:t}}return Oq(t)?qq(t,e,n):vq(t)?Object.assign(Object.assign({},t),{condition:qq(t.condition,e,n)}):t}function qq(t,e,n){if(Dq(t)){const{format:r,formatType:i}=t,o=wz(t,["format","formatType"]);if(WU(i)&&!n.customFormatTypes)return bI(v.customFormatTypeNotAllowed(e)),qq(o,e,n)}else{const r=Eq(t)?"axis":Sq(t)?"legend":lq(t)?"header":null;if(r&&t[r]){const i=t[r],{format:o,formatType:a}=i,s=wz(i,["format","formatType"]);if(WU(a)&&!n.customFormatTypes)return bI(v.customFormatTypeNotAllowed(e)),qq(Object.assign(Object.assign({},t),{[r]:s}),e,n)}}return yq(t)?Wq(t,e):function(t){let e=t.type;if(e)return t;const{datum:n}=t;return e=Object(K.E)(n)?"quantitative":Object(K.H)(n)?"nominal":xI(n)?"temporal":void 0,Object.assign(Object.assign({},t),{type:e})}(t)}function Wq(t,e){const{aggregate:n,timeUnit:r,bin:i,field:o}=t,a=Object.assign({},t);if(!n||XR(n)||ZR(n)||VR(n)||(bI(v.invalidAggregate(n)),delete a.aggregate),r&&(a.timeUnit=TI(r)),o&&(a.field=`${o}`),YL(i)&&(a.bin=Hq(i,e)),GL(i)&&!OL(e)&&bI(`Channel ${e} should not be used with "binned" bin.`),jq(a)){const{type:t}=a,e=function(t){if(t)switch(t=t.toLowerCase()){case"q":case eU:return"quantitative";case"t":case rU:return"temporal";case"o":case nU:return"ordinal";case"n":case iU:return"nominal";case oU:return"geojson"}}(t);t!==e&&(a.type=e),"quantitative"!==t&&QR(n)&&(bI(v.invalidFieldTypeForCountAggregate(t,n)),a.type="quantitative")}else if(!nL(e)){const t=function(t,e){if(t.timeUnit)return"temporal";if(YL(t.bin))return"quantitative";switch(WL(e)){case"continuous":return"quantitative";case"discrete":case"flexible":return"nominal";default:return"quantitative"}}(a,e);bI(v.missingFieldType(e,t)),a.type=t}if(jq(a)){const{compatible:t,warning:n}=function(t,e){const n=t.type;if("geojson"===n&&"shape"!==e)return{compatible:!1,warning:`Channel ${e} should not be used with a geojson data.`};switch(e){case eP:case nP:case rP:return Fq(t)?{compatible:!1,warning:v.facetChannelShouldBeDiscrete(e)}:Yq;case iP:case oP:case mP:case vP:case yP:case EP:case DP:case CP:case MP:case FP:case $P:case _P:case cP:case uP:case NP:return Yq;case hP:case gP:case dP:case pP:return n!==eU?{compatible:!1,warning:`Channel ${e} should be used with a quantitative field only, not ${t.type} field.`}:Yq;case wP:case OP:case jP:case kP:case xP:case fP:case lP:case aP:case sP:return"nominal"!==n||t.sort?Yq:{compatible:!1,warning:`Channel ${e} should not be used with an unsorted discrete field.`};case AP:return Lz(["ordinal","nominal"],t.type)?Yq:{compatible:!1,warning:"StrokeDash channel should be used with only discrete data."};case bP:return Lz(["ordinal","nominal","geojson"],t.type)?Yq:{compatible:!1,warning:"Shape channel should be used with only either discrete or geojson data."};case SP:return"nominal"!==t.type||"sort"in t?Yq:{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}}}(a,e);t||bI(n)}if(dq(a)&&Object(K.H)(a.sort)){const{sort:t}=a;if(iq(t))return Object.assign(Object.assign({},a),{sort:{encoding:t}});const e=t.substr(1);if("-"===t.charAt(0)&&iq(e))return Object.assign(Object.assign({},a),{sort:{encoding:e,order:"descending"}})}if(lq(a)){const{header:t}=a,{orient:e}=t,n=wz(t,["orient"]);if(e)return Object.assign(Object.assign({},a),{header:Object.assign(Object.assign({},n),{labelOrient:t.labelOrient||e,titleOrient:t.titleOrient||e})})}return a}function Hq(t,e){return Object(K.B)(t)?{maxbins:XL(e)}:"binned"===t?{binned:!0}:t.maxbins||t.step?t:Object.assign(Object.assign({},t),{maxbins:XL(e)})}const Yq={compatible:!0};function Gq(t){const{formatType:e}=Lq(t);return"time"===e||!e&&function(t){return t&&("temporal"===t.type||yq(t)&&!!t.timeUnit)}(t)}function Vq(t,{timeUnit:e,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){var o;const a=e&&(null===(o=TI(e))||void 0===o?void 0:o.unit);let s,u=a||"temporal"===n;return zI(t)?s=t.signal:xI(t)?(u=!0,s=AI(t)):(Object(K.H)(t)||Object(K.E)(t))&&u&&(s=`datetime(${JSON.stringify(t)})`,function(t){return!!EI[t]}(a)&&(Object(K.E)(t)&&t<1e4||Object(K.H)(t)&&isNaN(Date.parse(t)))&&(s=AI({[a]:t}))),s?r&&u?`time(${s})`:s:i?void 0:JSON.stringify(t)}function Zq(t,e){const{type:n}=t;return e.map(e=>{const r=Vq(e,{timeUnit:yq(t)?t.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return void 0!==r?{signal:r}:e})}function Xq(t,e){return YL(t.bin)?LL(e)&&Lz(["ordinal","nominal"],t.type):(console.warn("Only call this method for binned field defs."),!1)}function Jq(t){const{anchor:e,frame:n,offset:r,orient:i,color:o,subtitleColor:a,subtitleFont:s,subtitleFontSize:u,subtitleFontStyle:l,subtitleFontWeight:c,subtitleLineHeight:f,subtitlePadding:d}=t,h=wz(t,["anchor","frame","offset","orient","color","subtitleColor","subtitleFont","subtitleFontSize","subtitleFontStyle","subtitleFontWeight","subtitleLineHeight","subtitlePadding"]),p=Object.assign(Object.assign({},h),o?{fill:o}:{}),g=Object.assign(Object.assign(Object.assign(Object.assign({},e?{anchor:e}:{}),n?{frame:n}:{}),r?{offset:r}:{}),i?{orient:i}:{}),m=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},a?{subtitleColor:a}:{}),s?{subtitleFont:s}:{}),u?{subtitleFontSize:u}:{}),l?{subtitleFontStyle:l}:{}),c?{subtitleFontWeight:c}:{}),f?{subtitleLineHeight:f}:{}),d?{subtitlePadding:d}:{});return{titleMarkConfig:p,subtitleMarkConfig:Nz(p,["align","baseline","dx","dy","limit"]),nonMark:g,subtitle:m}}function Qq(t){return Object(K.H)(t)||Object(K.A)(t)&&Object(K.H)(t[0])}function Kq(t){return zI(t)?t:void 0!==t?{value:t}:void 0}function tW(t){return zI(t)?t.signal:Object(K.Z)(t.value)}function eW(t){return zI(t)?t.signal:null==t?null:Object(K.Z)(t)}function nW(t){var e;return[].concat(t.type,null!==(e=t.style)&&void 0!==e?e:[])}function rW(t,e,n,r={}){const{vgChannel:i,ignoreVgConfig:o}=r;return i&&void 0!==e[i]?e[i]:void 0!==e[t]?e[t]:!o||i&&i!==t?iW(t,e,n,r):void 0}function iW(t,e,n,{vgChannel:r}={}){return uR(r?oW(t,e,n.style):void 0,oW(t,e,n.style),r?n[e.type][r]:void 0,n[e.type][t],r?n.mark[r]:n.mark[t])}function oW(t,e,n){return aW(t,nW(e),n)}function aW(t,e,n){let r;e=Object(K.i)(e);for(const i of e){const e=n[i];e&&void 0!==e[t]&&(r=e[t])}return r}function sW(t,e){return Object(K.i)(t).reduce((t,n)=>{var r;return t.field.push(Cq(n,e)),t.order.push(null!==(r=n.sort)&&void 0!==r?r:"ascending"),t},{field:[],order:[]})}function uW(t,e){const n=[...t];return e.forEach(t=>{for(const e of n)if(Fz(e,t))return;n.push(t)}),n}function lW(t,e){return Fz(t,e)||!e?t:t?[...Object(K.i)(t),...Object(K.i)(e)].join(", "):e}function cW(t,e){const n=t.value,r=e.value;if(null==n||null===r)return{explicit:t.explicit,value:null};if((Qq(n)||zI(n))&&(Qq(r)||zI(r)))return{explicit:t.explicit,value:lW(n,r)};if(Qq(n)||zI(n))return{explicit:t.explicit,value:n};if(Qq(r)||zI(r))return{explicit:t.explicit,value:r};if(!(Qq(n)||zI(n)||Qq(r)||zI(r)))return{explicit:t.explicit,value:uW(n,r)};throw new Error("It should never reach here")}function fW(t,e){const n=t&&t[e];return!!n&&(Object(K.A)(n)?Bz(n,t=>!!t.field):yq(n)||mq(n))}function dW(t){return Bz(WP,e=>{if(fW(t,e)){const n=t[e];if(Object(K.A)(n))return Bz(n,t=>!!t.aggregate);{const t=Bq(n);return t&&!!t.aggregate}}return!1})}function hW(t,e){const n=[],r=[],i=[],o=[],a={};return gW(t,(s,u)=>{if(yq(s)){const{field:l,aggregate:c,bin:f,timeUnit:d}=s,h=wz(s,["field","aggregate","bin","timeUnit"]);if(c||d||f){const t=Rq(s),p=t&&t.title;let g=Cq(s,{forAs:!0});const m=Object.assign(Object.assign(Object.assign({},p?[]:{title:zq(s,e,{allowDisabling:!0})}),h),{field:g});if(c){let t;if(ZR(c)?(t="argmax",g=Cq({op:"argmax",field:c.argmax},{forAs:!0}),m.field=`${g}.${l}`):VR(c)?(t="argmin",g=Cq({op:"argmin",field:c.argmin},{forAs:!0}),m.field=`${g}.${l}`):"boxplot"!==c&&"errorbar"!==c&&"errorband"!==c&&(t=c),t){const e={op:t,as:g};l&&(e.field=l),o.push(e)}}else if(n.push(g),jq(s)&&YL(f)){if(r.push({bin:f,field:l,as:g}),n.push(Cq(s,{binSuffix:"end"})),Xq(s,u)&&n.push(Cq(s,{binSuffix:"range"})),OL(u)){const t={field:g+"_end"};a[u+"2"]=t}m.bin="binned",nL(u)||(m.type=eU)}else if(d){i.push({timeUnit:d,field:l,as:g});const t=jq(s)&&s.type!==rU&&"time";t&&(u===EP||u===MP?m.formatType=t:!function(t){return!!bL[t]}(u)?OL(u)&&(m.axis=Object.assign({formatType:t},m.axis)):m.legend=Object.assign({formatType:t},m.legend))}a[u]=m}else n.push(l),a[u]=t[u]}else a[u]=t[u]}),{bins:r,timeUnits:i,aggregate:o,groupby:n,encoding:a}}function pW(t,e,n){const r=e.type;return Vz(t).reduce((i,o)=>{if(!tL(o))return bI(v.invalidEncodingChannel(o)),i;const a=t[o];if("angle"!==o||"arc"!==r||t.theta||(bI(v.REPLACE_ANGLE_WITH_THETA),o=cP),!function(t,e,n){const r=BL(e,n);if(!r)return!1;if("binned"===r){const n=t[e===aP?iP:oP];return!!(yq(n)&&yq(t[e])&&GL(n.bin))}return!0}(t,o,r))return bI(v.incompatibleChannel(o,r)),i;if(o===xP&&"line"===r){const e=Bq(t[o]);if(null===e||void 0===e?void 0:e.aggregate)return bI(v.LINE_WITH_VARYING_SIZE),i}if(o===mP&&(e.filled?"fill"in t:"stroke"in t))return bI(v.droppingColor("encoding",{fill:"fill"in t,stroke:"stroke"in t})),i;if(o===DP||o===SP&&!Object(K.A)(a)&&!kq(a)||o===MP&&Object(K.A)(a))a&&(i[o]=Object(K.i)(a).reduce((t,e)=>(yq(e)?t.push(Wq(e,o)):bI(v.emptyFieldDef(e,o)),t),[]));else{if(o===MP&&null===a)i[o]=null;else if(!(yq(a)||xq(a)||kq(a)||gq(a)||zI(a)))return bI(v.emptyFieldDef(a,o)),i;i[o]=Uq(a,o,n)}return i},{})}function gW(t,e,n){if(t)for(const r of Vz(t)){const i=t[r];if(Object(K.A)(i))for(const t of i)e.call(n,t,r);else e.call(n,i,r)}}function mW(t,e,n,r){return t?Vz(t).reduce((n,i)=>{const o=t[i];return Object(K.A)(o)?o.reduce((t,n)=>e.call(r,t,n,i),n):e.call(r,n,o,i)},n):n}function vW(t,e){return Vz(e).reduce((n,r)=>{switch(r){case iP:case oP:case FP:case NP:case $P:case aP:case sP:case cP:case fP:case uP:case lP:case dP:case hP:case pP:case gP:case EP:case bP:case _P:case MP:return n;case SP:if("line"===t||"trail"===t)return n;case DP:case CP:{const t=e[r];if(Object(K.A)(t)||yq(t))for(const e of Object(K.i)(t))e.aggregate||n.push(Cq(e,{}));return n}case xP:if("trail"===t)return n;case mP:case vP:case yP:case wP:case OP:case jP:case AP:case kP:{const t=Bq(e[r]);return t&&!t.aggregate&&n.push(Cq(t,{})),n}}},[])}function yW(t,e,n,r=!0){if("tooltip"in n)return{tooltip:n.tooltip};return{tooltip:[...t.map(({fieldPrefix:t,titlePrefix:n})=>{const i=r?` of ${e.field}`:"";return{field:t+e.field,type:e.type,title:zI(n)?{signal:n+`"${escape(i)}"`}:n+i}}),...function(t){const e=[];for(const n of Vz(t))if(fW(t,n)){const r=t[n],i=Object(K.i)(r);for(const t of i)yq(t)?e.push(t):mq(t)&&e.push(t.condition)}return e}(n)]}}function bW(t){const{axis:e,title:n,field:r}=t;return e&&void 0!==e.title?void 0:uR(n,r)}function xW(t,e,n,r,i){const{scale:o,axis:a}=n;return({partName:s,mark:u,positionPrefix:l,endPositionPrefix:c,aria:f,extraEncoding:d={}})=>{const h=bW(n);return _W(t,s,i,f,{mark:u,encoding:Object.assign(Object.assign(Object.assign({[e]:Object.assign(Object.assign(Object.assign({field:l+"_"+n.field,type:n.type},void 0!==h?{title:h}:{}),void 0!==o?{scale:o}:{}),void 0!==a?{axis:a}:{})},Object(K.H)(c)?{[e+"2"]:{field:c+"_"+n.field}}:{}),r),d)})}}function _W(t,e,n,r,i){const{clip:o,color:a,opacity:s}=t,u=t.type;return t[e]||void 0===t[e]&&n[e]?[Object.assign(Object.assign({},i),{mark:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},n[e]),o?{clip:o}:{}),a?{color:a}:{}),s?{opacity:s}:{}),PR(i.mark)?i.mark:{type:i.mark}),{style:`${u}-${e}`}),Object(K.B)(t[e])?{}:t[e]),!1===r?{aria:r}:{})})]:[]}function wW(t,e,n){const{encoding:r}=t,i="vertical"===e?"y":"x",o=r[i],a=r[i+"2"],s=r[i+"Error"],u=r[i+"Error2"];return{continuousAxisChannelDef:OW(o,n),continuousAxisChannelDef2:OW(a,n),continuousAxisChannelDefError:OW(s,n),continuousAxisChannelDefError2:OW(u,n),continuousAxis:i}}function OW(t,e){if(t&&t.aggregate){const{aggregate:n}=t,r=wz(t,["aggregate"]);return n!==e&&bI(v.errorBarContinuousAxisHasCustomizedAggregate(n,e)),r}return t}function jW(t,e){const{mark:n,encoding:r}=t,{x:i,y:o}=r;if(_q(i)){if(_q(o)){const t=yq(i)&&i.aggregate,r=yq(o)&&o.aggregate;if(t||r!==e){if(r||t!==e){if(t===e&&r===e)throw new Error("Both x and y cannot have aggregate");return PR(n)&&n.orient?n.orient:"vertical"}return"horizontal"}return"vertical"}return"horizontal"}if(_q(o))return"vertical";throw new Error("Need a valid continuous axis for "+e+"s")}const kW="boxplot",AW=new HR(kW,SW);function EW(t){return Object(K.E)(t)?"tukey":t}function SW(t,{config:e}){var n,r;const{mark:i,encoding:o,selection:a,projection:s}=t,u=wz(t,["mark","encoding","selection","projection"]),l=PR(i)?i:{type:i};a&&bI(v.selectionNotSupported("boxplot"));const c=null!==(n=l.extent)&&void 0!==n?n:e.boxplot.extent,f=rW("size",l,e),d=EW(c),{transform:h,continuousAxisChannelDef:p,continuousAxis:g,groupby:m,aggregate:y,encodingWithoutContinuousAxis:b,ticksOrient:x,boxOrient:_,customTooltipWithoutAggregatedField:w}=function(t,e,n){const r=jW(t,kW),{continuousAxisChannelDef:i,continuousAxis:o}=wW(t,r,kW),a=i.field,s=EW(e),u=[...DW(a),{op:"median",field:a,as:"mid_box_"+a},{op:"min",field:a,as:("min-max"===s?"lower_whisker_":"min_")+a},{op:"max",field:a,as:("min-max"===s?"upper_whisker_":"max_")+a}],l="min-max"===s||"tukey"===s?[]:[{calculate:`datum["upper_box_${a}"] - datum["lower_box_${a}"]`,as:"iqr_"+a},{calculate:`min(datum["upper_box_${a}"] + datum["iqr_${a}"] * ${e}, datum["max_${a}"])`,as:"upper_whisker_"+a},{calculate:`max(datum["lower_box_${a}"] - datum["iqr_${a}"] * ${e}, datum["min_${a}"])`,as:"lower_whisker_"+a}],c=t.encoding,f=o,d=(c[f],wz(c,["symbol"==typeof f?f:f+""])),{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=function(t){const{tooltip:e}=t,n=wz(t,["tooltip"]);if(!e)return{filteredEncoding:t};let r,i;if(Object(K.A)(e)){for(const t of e)t.aggregate?(r||(r=[]),r.push(t)):(i||(i=[]),i.push(t));r&&(n.tooltip=r)}else e.aggregate?n.tooltip=e:i=e;return Object(K.A)(i)&&1===i.length&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:n}}(d),{bins:g,timeUnits:m,aggregate:v,groupby:y,encoding:b}=hW(p,n);return{transform:[...g,...m,{aggregate:[...v,...u],groupby:y},...l],groupby:y,aggregate:v,continuousAxisChannelDef:i,continuousAxis:o,encodingWithoutContinuousAxis:b,ticksOrient:"vertical"===r?"horizontal":"vertical",boxOrient:r,customTooltipWithoutAggregatedField:h}}(t,c,e),{color:O,size:j}=b,k=wz(b,["color","size"]),A=t=>xW(l,g,p,t,e.boxplot),E=A(k),S=A(b),D=A(Object.assign(Object.assign({},k),j?{size:j}:{})),C=yW([{fieldPrefix:"min-max"===d?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:"min-max"===d?"lower_whisker_":"min_",titlePrefix:"Min"}],p,b),M={type:"tick",color:"black",opacity:1,orient:x,invalid:null},F="min-max"===d?C:yW([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],p,b),$=[...E({partName:"rule",mark:{type:"rule",invalid:null},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",aria:!1,extraEncoding:F}),...E({partName:"rule",mark:{type:"rule",invalid:null},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",aria:!1,extraEncoding:F}),...E({partName:"ticks",mark:M,positionPrefix:"lower_whisker",aria:!1,extraEncoding:F}),...E({partName:"ticks",mark:M,positionPrefix:"upper_whisker",aria:!1,extraEncoding:F})],N=[..."tukey"!==d?$:[],...S({partName:"box",mark:Object.assign(Object.assign({type:"bar"},f?{size:f}:{}),{orient:_,invalid:null}),positionPrefix:"lower_box",endPositionPrefix:"upper_box",aria:!1,extraEncoding:C}),...D({partName:"median",mark:Object.assign(Object.assign(Object.assign({type:"tick",invalid:null},Object(K.F)(e.boxplot.median)&&e.boxplot.median.color?{color:e.boxplot.median.color}:{}),f?{size:f}:{}),{orient:x,ariaRoleDescription:"box"}),positionPrefix:"mid_box",extraEncoding:C})];let T;if("min-max"!==d){const t=`datum["lower_box_${p.field}"]`,n=`datum["upper_box_${p.field}"]`,r=`(${n} - ${t})`,i=`${t} - ${c} * ${r}`,o=`${n} + ${c} * ${r}`,a=`datum["${p.field}"]`,s={joinaggregate:DW(p.field),groupby:m};let u=void 0;"tukey"===d&&(u={transform:[{filter:`(${i} <= ${a}) && (${a} <= ${o})`},{aggregate:[{op:"min",field:p.field,as:"lower_whisker_"+p.field},{op:"max",field:p.field,as:"upper_whisker_"+p.field},{op:"min",field:"lower_box_"+p.field,as:"lower_box_"+p.field},{op:"max",field:"upper_box_"+p.field,as:"upper_box_"+p.field},...y],groupby:m}],layer:$});const{tooltip:f}=k,h=wz(k,["tooltip"]),{scale:v,axis:b}=p,x=bW(p),_=_W(l,"outliers",e.boxplot,!0,{transform:[{filter:`(${a} < ${i}) || (${a} > ${o})`}],mark:"point",encoding:Object.assign(Object.assign({[g]:Object.assign(Object.assign(Object.assign({field:p.field,type:p.type},void 0!==x?{title:x}:{}),void 0!==v?{scale:v}:{}),void 0!==b?{axis:b}:{})},h),w?{tooltip:w}:{})})[0];_&&u?T={transform:[s],layer:[_,u]}:_?(T=_).transform.unshift(s):u&&(T=u).transform.unshift(s)}return T?Object.assign(Object.assign({},u),{layer:[T,{transform:h,layer:N}]}):Object.assign(Object.assign({},u),{transform:(null!==(r=u.transform)&&void 0!==r?r:[]).concat(h),layer:N})}function DW(t){return[{op:"q1",field:t,as:"lower_box_"+t},{op:"q3",field:t,as:"upper_box_"+t}]}const CW="errorbar",MW=new HR(CW,FW);function FW(t,{config:e}){const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:o,ticksOrient:a,markDef:s,outerSpec:u,tooltipEncoding:l}=NW(t,CW,e),c=xW(s,i,r,o,e.errorbar),f={type:"tick",orient:a},d=[...c({partName:"ticks",mark:f,positionPrefix:"lower",aria:!1,extraEncoding:l}),...c({partName:"ticks",mark:f,positionPrefix:"upper",aria:!1,extraEncoding:l}),...c({partName:"rule",mark:{type:"rule",ariaRoleDescription:"errorbar"},positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:l})];return Object.assign(Object.assign(Object.assign({},u),{transform:n}),d.length>1?{layer:d}:Object.assign({},d[0]))}function $W(t,e){const{encoding:n}=t;if(function(t){return(Oq(t.x)||Oq(t.y))&&!Oq(t.x2)&&!Oq(t.y2)&&!Oq(t.xError)&&!Oq(t.xError2)&&!Oq(t.yError)&&!Oq(t.yError2)}(n))return{orient:jW(t,e),inputType:"raw"};const r=function(t){return Oq(t.x2)||Oq(t.y2)}(n),i=function(t){return Oq(t.xError)||Oq(t.xError2)||Oq(t.yError)||Oq(t.yError2)}(n),o=n.x,a=n.y;if(r){if(i)throw new Error(`${e} cannot be both type aggregated-upper-lower and aggregated-error`);const t=n.x2,r=n.y2;if(Oq(t)&&Oq(r))throw new Error(`${e} cannot have both x2 and y2`);if(Oq(t)){if(_q(o))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error(`Both x and x2 have to be quantitative in ${e}`)}if(Oq(r)){if(_q(a))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error(`Both y and y2 have to be quantitative in ${e}`)}throw new Error("No ranged axis")}{const t=n.xError,r=n.xError2,i=n.yError,s=n.yError2;if(Oq(r)&&!Oq(t))throw new Error(`${e} cannot have xError2 without xError`);if(Oq(s)&&!Oq(i))throw new Error(`${e} cannot have yError2 without yError`);if(Oq(t)&&Oq(i))throw new Error(`${e} cannot have both xError and yError with both are quantiative`);if(Oq(t)){if(_q(o))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}if(Oq(i)){if(_q(a))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}function NW(t,e,n){var r;const{mark:i,encoding:o,selection:a,projection:s}=t,u=wz(t,["mark","encoding","selection","projection"]),l=PR(i)?i:{type:i};a&&bI(v.selectionNotSupported(e));const{orient:c,inputType:f}=$W(t,e),{continuousAxisChannelDef:d,continuousAxisChannelDef2:h,continuousAxisChannelDefError:p,continuousAxisChannelDefError2:g,continuousAxis:m}=wW(t,c,e),{errorBarSpecificAggregate:y,postAggregateCalculates:b,tooltipSummary:x,tooltipTitleWithFieldName:_}=function(t,e,n,r,i,o,a,s){let u=[],l=[];const c=e.field;let f,d=!1;if("raw"===o){const e=t.center?t.center:t.extent?"iqr"===t.extent?"median":"mean":s.errorbar.center,n=t.extent?t.extent:"mean"===e?"stderr":"iqr";if("median"===e!=("iqr"===n)&&bI(v.errorBarCenterIsUsedWithWrongExtent(e,n,a)),"stderr"===n||"stdev"===n)u=[{op:n,field:c,as:"extent_"+c},{op:e,field:c,as:"center_"+c}],l=[{calculate:`datum["center_${c}"] + datum["extent_${c}"]`,as:"upper_"+c},{calculate:`datum["center_${c}"] - datum["extent_${c}"]`,as:"lower_"+c}],f=[{fieldPrefix:"center_",titlePrefix:eR(e)},{fieldPrefix:"upper_",titlePrefix:TW(e,n,"+")},{fieldPrefix:"lower_",titlePrefix:TW(e,n,"-")}],d=!0;else{let e,r,i;t.center&&t.extent&&bI(v.errorBarCenterIsNotNeeded(t.extent,a)),"ci"===n?(e="mean",r="ci0",i="ci1"):(e="median",r="q1",i="q3"),u=[{op:r,field:c,as:"lower_"+c},{op:i,field:c,as:"upper_"+c},{op:e,field:c,as:"center_"+c}],f=[{fieldPrefix:"upper_",titlePrefix:zq({field:c,aggregate:i,type:"quantitative"},s,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:zq({field:c,aggregate:r,type:"quantitative"},s,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:zq({field:c,aggregate:e,type:"quantitative"},s,{allowDisabling:!1})}]}}else{(t.center||t.extent)&&bI(v.errorBarCenterAndExtentAreNotNeeded(t.center,t.extent)),"aggregated-upper-lower"===o?(f=[],l=[{calculate:`datum["${n.field}"]`,as:"upper_"+c},{calculate:`datum["${c}"]`,as:"lower_"+c}]):"aggregated-error"===o&&(f=[{fieldPrefix:"",titlePrefix:c}],l=[{calculate:`datum["${c}"] + datum["${r.field}"]`,as:"upper_"+c}],i?l.push({calculate:`datum["${c}"] + datum["${i.field}"]`,as:"lower_"+c}):l.push({calculate:`datum["${c}"] - datum["${r.field}"]`,as:"lower_"+c}));for(const t of l)f.push({fieldPrefix:t.as.substring(0,6),titlePrefix:oR(oR(t.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:l,errorBarSpecificAggregate:u,tooltipSummary:f,tooltipTitleWithFieldName:d}}(l,d,h,p,g,f,e,n),w=o,O=m,j=(w[O],"x"===m?"x2":"y2"),k=(w[j],"x"===m?"xError":"yError"),A=(w[k],"x"===m?"xError2":"yError2"),E=(w[A],wz(w,["symbol"==typeof O?O:O+"","symbol"==typeof j?j:j+"","symbol"==typeof k?k:k+"","symbol"==typeof A?A:A+""])),{bins:S,timeUnits:D,aggregate:C,groupby:M,encoding:F}=hW(E,n),$=[...C,...y],N="raw"!==f?[]:M,T=yW(x,d,F,_);return{transform:[...null!==(r=u.transform)&&void 0!==r?r:[],...S,...D,...0===$.length?[]:[{aggregate:$,groupby:N}],...b],groupby:N,continuousAxisChannelDef:d,continuousAxis:m,encodingWithoutContinuousAxis:F,ticksOrient:"vertical"===c?"horizontal":"vertical",markDef:l,outerSpec:u,tooltipEncoding:T}}function TW(t,e,n){return eR(t)+" "+n+" "+e}const zW="errorband",RW=new HR(zW,PW);function PW(t,{config:e}){const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:o,markDef:a,outerSpec:s,tooltipEncoding:u}=NW(t,zW,e),l=a,c=xW(l,i,r,o,e.errorband),f=void 0!==t.encoding.x&&void 0!==t.encoding.y;let d={type:f?"area":"rect"},h={type:f?"line":"rule"};const p=Object.assign(Object.assign({},l.interpolate?{interpolate:l.interpolate}:{}),l.tension&&l.interpolate?{tension:l.tension}:{});return f?(d=Object.assign(Object.assign(Object.assign({},d),p),{ariaRoleDescription:"errorband"}),h=Object.assign(Object.assign({},h),p)):l.interpolate?bI(v.errorBand1DNotSupport("interpolate")):l.tension&&bI(v.errorBand1DNotSupport("tension")),Object.assign(Object.assign({},s),{transform:n,layer:[...c({partName:"band",mark:d,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:u}),...c({partName:"borders",mark:h,positionPrefix:"lower",aria:!1,extraEncoding:u}),...c({partName:"borders",mark:h,positionPrefix:"upper",aria:!1,extraEncoding:u})]})}const LW={};function BW(t,e,n){const r=new HR(t,e);LW[t]={normalizer:r,parts:n}}BW(kW,SW,["box","median","outliers","rule","ticks"]),BW(CW,FW,["ticks","rule"]),BW(zW,PW,["band","borders"]);const IW=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],UW=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],qW={fillColor:{part:"legend",vgProp:"fill"},gradientStrokeColor:{part:"gradient",vgProp:"stroke"},labelColor:{part:"labels",vgProp:"fill"},strokeColor:{part:"legend",vgProp:"stroke"},symbolFillColor:{part:"symbols",vgProp:"fill"},symbolStrokeColor:{part:"symbols",vgProp:"stroke"},titleColor:{part:"title",vgProp:"fill"}},WW={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},HW=(Vz(WW),"_vgsid_"),YW={single:{on:"click",fields:[HW],resolve:"global",empty:"all",clear:"dblclick"},multi:{on:"click",fields:[HW],toggle:"event.shiftKey",resolve:"global",empty:"all",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"}};function GW(t){return!(!t||"legend"!==t&&!t.legend)}function VW(t){return GW(t)&&Object(K.F)(t)}function ZW(t){return"concat"in t}function XW(t){return"vconcat"in t}function JW(t){return"hconcat"in t}function QW(t){return Object(K.F)(t)&&void 0!==t.step}function KW(t){return t.view||t.width||t.height}const tH=Vz({align:1,bounds:1,center:1,columns:1,spacing:1});function eH(t,e){var n;return null!==(n=t[e])&&void 0!==n?n:t["width"===e?"continuousWidth":"continuousHeight"]}function nH(t,e){const n=rH(t,e);return QW(n)?n.step:iH}function rH(t,e){var n;return uR(null!==(n=t[e])&&void 0!==n?n:t["width"===e?"discreteWidth":"discreteHeight"],{step:t.step})}const iH=20;const oH={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:iH},mark:{color:"#4c78a8",invalid:"filter",timeUnitBand:1},arc:{},area:{},bar:UR,circle:{},geoshape:{},image:{},line:{},point:{},rect:qR,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:YW,style:{},title:{},facet:{spacing:20},concat:{spacing:20}},aH=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],sH={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},uH={blue:aH[0],orange:aH[1],red:aH[2],teal:aH[3],green:aH[4],yellow:aH[5],purple:aH[6],pink:aH[7],brown:aH[8],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 lH(t={}){const{color:e,font:n,fontSize:r}=t,i=wz(t,["color","font","fontSize"]);return Object(K.N)({},oH,n?function(t){return{text:{font:t},style:{"guide-label":{font:t},"guide-title":{font:t},"group-title":{font:t},"group-subtitle":{font:t}}}}(n):{},e?function(t={}){return{signals:[{name:"color",value:Object(K.F)(t)?Object.assign(Object.assign({},uH),t):uH}],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"}]}}}(e):{},r?function(t){return{signals:[{name:"fontSize",value:Object(K.F)(t)?Object.assign(Object.assign({},sH),t):sH}],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"}}}}}(r):{},i||{})}const cH=["view",...RR],fH=["color","fontSize","background","padding","facet","concat","numberFormat","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],dH=Object.assign({view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"]},{area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],tick:["bandSize","thickness"]});function hH(t){t=$z(t);for(const e of fH)delete t[e];if(t.axis)for(const e in t.axis)pR(t.axis[e])&&delete t.axis[e];if(t.legend)for(const e of IW)delete t.legend[e];if(t.mark){for(const e of BR)delete t.mark[e];t.mark.tooltip&&Object(K.F)(t.mark.tooltip)&&delete t.mark.tooltip}for(const e of cH){for(const n of BR)delete t[e][n];const n=dH[e];if(n)for(const r of n)delete t[e][r];pH(t,e)}for(const e of Vz(LW))delete t[e];!function(t){const{titleMarkConfig:e,subtitleMarkConfig:n,subtitle:r}=Jq(t.title);Gz(e)||(t.style["group-title"]=Object.assign(Object.assign({},t.style["group-title"]),e));Gz(n)||(t.style["group-subtitle"]=Object.assign(Object.assign({},t.style["group-subtitle"]),n));Gz(r)?delete t.title:t.title=r}(t);for(const e in t)Object(K.F)(t[e])&&Gz(t[e])&&delete t[e];return Gz(t)?void 0:t}function pH(t,e,n,r){const i=r?t[e][r]:t[e];"view"===e&&(n="cell");const o=Object.assign(Object.assign({},i),t.style[null!==n&&void 0!==n?n:e]);Gz(o)||(t.style[null!==n&&void 0!==n?n:e]=o),r||delete t[e]}function gH(t){return"layer"in t}class mH{map(t,e){return cq(t)?this.mapFacet(t,e):function(t){return"repeat"in t}(t)?this.mapRepeat(t,e):JW(t)?this.mapHConcat(t,e):XW(t)?this.mapVConcat(t,e):ZW(t)?this.mapConcat(t,e):this.mapLayerOrUnit(t,e)}mapLayerOrUnit(t,e){if(gH(t))return this.mapLayer(t,e);if(WR(t))return this.mapUnit(t,e);throw new Error(v.invalidSpec(t))}mapLayer(t,e){return Object.assign(Object.assign({},t),{layer:t.layer.map(t=>this.mapLayerOrUnit(t,e))})}mapHConcat(t,e){return Object.assign(Object.assign({},t),{hconcat:t.hconcat.map(t=>this.map(t,e))})}mapVConcat(t,e){return Object.assign(Object.assign({},t),{vconcat:t.vconcat.map(t=>this.map(t,e))})}mapConcat(t,e){const{concat:n}=t,r=wz(t,["concat"]);return Object.assign(Object.assign({},r),{concat:n.map(t=>this.map(t,e))})}mapFacet(t,e){return Object.assign(Object.assign({},t),{spec:this.map(t.spec,e)})}mapRepeat(t,e){return Object.assign(Object.assign({},t),{spec:this.map(t.spec,e)})}}const vH={zero:1,center:1,normalize:1};const yH=new Set([_R,OR,wR,SR,AR,FR,$R,kR,DR,CR]),bH=new Set([OR,wR,_R]);function xH(t,e){var n,r;const i="x"===e?"y":"radius",o=t[e],a=t[i];if(yq(o)&&yq(a))if("quantitative"===bq(o)&&"quantitative"===bq(a)){if(o.stack)return e;if(a.stack)return i;const t=yq(o)&&!!o.aggregate;if(t!==(yq(a)&&!!a.aggregate))return t?e:i;{const t=null===(n=o.scale)||void 0===n?void 0:n.type,s=null===(r=a.scale)||void 0===r?void 0:r.type;if(t&&"linear"!==t)return i;if(s&&"linear"!==s)return e}}else{if("quantitative"===bq(o))return e;if("quantitative"===bq(a))return i}else{if("quantitative"===bq(o))return e;if("quantitative"===bq(a))return i}}function _H(t,e,n={}){const r=PR(t)?t.type:t;if(!yH.has(r))return null;const i=xH(e,"x")||xH(e,"theta");if(!i)return null;const o=e[i],a=yq(o)?Cq(o,{}):void 0;let s=function(t){switch(t){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}(i),u=e[s],l=yq(u)?Cq(u,{}):void 0;l===a&&(l=void 0,u=void 0,s=void 0);const c=xL.reduce((t,n)=>{if("tooltip"!==n&&fW(e,n)){const r=e[n];for(const e of Object(K.i)(r)){const r=Bq(e);if(r.aggregate)continue;const i=Cq(r,{});i&&i===l||t.push({channel:n,fieldDef:r})}}return t},[]);let f;if(void 0!==o.stack?f=Object(K.B)(o.stack)?o.stack?"zero":null:o.stack:c.length>0&&bH.has(r)&&(f="zero"),!f||!function(t){return t in vH}(f))return null;if(dW(e)&&0===c.length)return null;if(o.scale&&o.scale.type&&o.scale.type!==sU.LINEAR){if(n.disallowNonLinearStack)return null;bI(v.cannotStackNonLinearScale(o.scale.type))}return Oq(e[oL(i)])?(void 0!==o.stack&&bI(v.cannotStackRangedMark(i)),null):(yq(o)&&o.aggregate&&!Lz(KR,o.aggregate)&&bI(v.stackNonSummativeAggregate(o.aggregate)),{groupbyChannel:u?s:void 0,groupbyField:l,fieldChannel:i,impute:null!==o.impute&&TR(r),stackBy:c,offset:f})}function wH(t,e={},n){return"transparent"===t.point?{opacity:0}:t.point?Object(K.F)(t.point)?t.point:{}:void 0!==t.point?null:e.point||n.shape?Object(K.F)(e.point)?e.point:{}:void 0}function OH(t,e={}){return t.line?!0===t.line?{}:t.line:void 0!==t.line?null:e.line?!0===e.line?{}:e.line:void 0}class jH{constructor(){this.name="path-overlay"}hasMatchingType(t,e){if(WR(t)){const{mark:n,encoding:r}=t,i=PR(n)?n:{type:n};switch(i.type){case"line":case"rule":case"trail":return!!wH(i,e[i.type],r);case"area":return!!wH(i,e[i.type],r)||!!OH(i,e[i.type])}}return!1}run(t,e,n){const{config:r}=e,{selection:i,projection:o,encoding:a,mark:s}=t,u=wz(t,["selection","projection","encoding","mark"]),l=PR(s)?s:{type:s},c=wH(l,r[l.type],a),f="area"===l.type&&OH(l,r[l.type]),d=[Object.assign(Object.assign({},i?{selection:i}:{}),{mark:function(t){const{point:e,line:n}=t,r=wz(t,["point","line"]);return Vz(r).length>1?r:r.type}(Object.assign(Object.assign({},"area"===l.type&&void 0===l.opacity&&void 0===l.fillOpacity?{opacity:.7}:{}),l)),encoding:Tz(a,["shape"])})],h=_H(l,a);let p=a;if(h){const{fieldChannel:t,offset:e}=h;p=Object.assign(Object.assign({},a),{[t]:Object.assign(Object.assign({},a[t]),e?{stack:e}:{})})}return f&&d.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"line"},Nz(l,["clip","interpolate","tension","tooltip"])),f),encoding:p})),c&&d.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"point",opacity:1,filled:!0},Nz(l,["clip","tooltip"])),c),encoding:p})),n(Object.assign(Object.assign({},u),{layer:d}),Object.assign(Object.assign({},e),{config:function(t){for(const e of["line","area","rule","trail"])t[e]&&(t=Object.assign(Object.assign({},t),{[e]:Tz(t[e],["point","line"])}));return t}(r)}))}}class kH{constructor(){this.name="RangeStep"}hasMatchingType(t){var e;if(WR(t)&&t.encoding)for(const n of wL){const r=t.encoding[n];if(r&&Oq(r)&&(null===(e=null===r||void 0===r?void 0:r.scale)||void 0===e?void 0:e.rangeStep))return!0}return!1}run(t){var e;const n={};let r=Object.assign({},t.encoding);for(const t of wL){const i=aL(t),o=r[t];if(o&&Oq(o)&&(null===(e=null===o||void 0===o?void 0:o.scale)||void 0===e?void 0:e.rangeStep)){const{scale:e}=o,a=wz(o,["scale"]),s=e,{rangeStep:u}=s,l=wz(s,["rangeStep"]);n[i]={step:e.rangeStep},bI(v.RANGE_STEP_DEPRECATED),r=Object.assign(Object.assign({},r),{[t]:Object.assign(Object.assign({},a),Gz(l)?{}:{scale:l})})}}return Object.assign(Object.assign(Object.assign({},n),t),{encoding:r})}}function AH(t,e){return e?MH(t,e):t}function EH(t,e,n){const r=e[t];return function(t){return t&&!Object(K.H)(t)&&"repeat"in t}(r)?r.repeat in n?Object.assign(Object.assign({},e),{[t]:n[r.repeat]}):void bI(v.noSuchRepeatedValue(r.repeat)):e}function SH(t,e){if(void 0!==(t=EH("field",t,e))){if(null===t)return null;if(dq(t)&&aq(t.sort)){const n=EH("field",t.sort,e);t=Object.assign(Object.assign({},t),n?{sort:n}:{})}return t}}function DH(t,e){if(yq(t))return SH(t,e);{const n=EH("datum",t,e);return n===t||n.type||(n.type="nominal"),n}}function CH(t,e){if(!Oq(t)){if(vq(t)){const n=DH(t.condition,e);if(n)return Object.assign(Object.assign({},t),{condition:n});{const{condition:e}=t;return wz(t,["condition"])}}return t}{const n=DH(t,e);if(n)return n;if(gq(t))return{condition:t.condition}}}function MH(t,e){const n={};for(const r in t)if(Object(K.v)(t,r)){const i=t[r];if(Object(K.A)(i))n[r]=i.map(t=>CH(t,e)).filter(t=>t);else{const t=CH(i,e);void 0!==t&&(n[r]=t)}}return n}class FH{constructor(){this.name="RuleForRangedLine"}hasMatchingType(t){if(WR(t)){const{encoding:e,mark:n}=t;if("line"===n)for(const t of eL){const n=e[rL(t)];if(e[t]&&(yq(n)&&!GL(n.bin)||xq(n)))return!0}}return!1}run(t,e,n){const{encoding:r}=t;return bI(v.lineWithRange(!!r.x2,!!r.y2)),n(Object.assign(Object.assign({},t),{mark:"rule"}),e)}}function $H(t){const{parentEncoding:e,encoding:n}=t;if(e&&n){const t=Vz(e).reduce((t,e)=>(n[e]&&t.push(e),t),[]);t.length>0&&bI(v.encodingOverridden(t))}const r=Object.assign(Object.assign({},null!==e&&void 0!==e?e:{}),null!==n&&void 0!==n?n:{});return Gz(r)?void 0:r}function NH(t){const{parentProjection:e,projection:n}=t;return e&&n&&bI(v.projectionOverridden({parentProjection:e,projection:n})),null!==n&&void 0!==n?n:e}function TH(t,e){void 0===e&&(e=lH(t.config));const n=function(t,e={}){return zH.map(t,{config:e})}(t,e),{width:r,height:i}=t,o=function(t,e,n){let{width:r,height:i}=e;const o=WR(t)||gH(t),a={};o?"container"==r&&"container"==i?(a.type="fit",a.contains="padding"):"container"==r?(a.type="fit-x",a.contains="padding"):"container"==i&&(a.type="fit-y",a.contains="padding"):("container"==r&&(bI(v.containerSizeNonSingle("width")),r=void 0),"container"==i&&(bI(v.containerSizeNonSingle("height")),i=void 0));const s=Object.assign(Object.assign(Object.assign({type:"pad"},a),n?RH(n.autosize):{}),RH(t.autosize));"fit"!==s.type||o||(bI(v.FIT_NON_SINGLE),s.type="pad");"container"==r&&"fit"!=s.type&&"fit-x"!=s.type&&bI(v.containerSizeNotCompatibleWithAutosize("width"));"container"==i&&"fit"!=s.type&&"fit-y"!=s.type&&bI(v.containerSizeNotCompatibleWithAutosize("height"));if(Fz(s,{type:"pad"}))return;return s}(n,{width:r,height:i,autosize:t.autosize},e);return Object.assign(Object.assign({},n),o?{autosize:o}:{})}const zH=new class extends mH{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[AW,MW,RW,new jH,new FH,new kH]}map(t,e){if(WR(t)){const n=fW(t.encoding,eP),r=fW(t.encoding,nP),i=fW(t.encoding,rP);if(n||r||i)return this.mapFacetedUnit(t,e)}return super.map(t,e)}mapUnit(t,e){const{parentEncoding:n,parentProjection:r}=e,i=Object.assign(Object.assign({},t),{encoding:AH(t.encoding,e.repeater)});if(n||r)return this.mapUnitWithParentEncodingOrProjection(i,e);const o=this.mapLayerOrUnit.bind(this);for(const t of this.nonFacetUnitNormalizers)if(t.hasMatchingType(i,e.config))return t.run(i,e,o);return i}mapRepeat(t,e){return function(t){return!Object(K.A)(t.repeat)&&t.repeat.layer}(t)?this.mapLayerRepeat(t,e):this.mapNonLayerRepeat(t,e)}mapLayerRepeat(t,e){const{repeat:n,spec:r}=t,i=wz(t,["repeat","spec"]),{row:o,column:a,layer:s}=n,{repeater:u={},repeaterPrefix:l=""}=e;return o||a?this.mapRepeat(Object.assign(Object.assign({},t),{repeat:Object.assign(Object.assign({},o?{row:o}:{}),a?{column:a}:{}),spec:{repeat:{layer:s},spec:r}}),e):Object.assign(Object.assign({},i),{layer:s.map(t=>{const n=Object.assign(Object.assign({},u),{layer:t}),i=(r.name||"")+l+`child__layer_${Qz(t)}`,o=this.mapLayerOrUnit(r,Object.assign(Object.assign({},e),{repeater:n,repeaterPrefix:i}));return o.name=i,o})})}mapNonLayerRepeat(t,e){var n;const{repeat:r,spec:i,data:o}=t,a=wz(t,["repeat","spec","data"]);!Object(K.A)(r)&&t.columns&&(t=Tz(t,["columns"]),bI(v.columnsNotSupportByRowCol("repeat")));const s=[],{repeater:u={},repeaterPrefix:l=""}=e,c=!Object(K.A)(r)&&r.row||[u?u.row:null],f=!Object(K.A)(r)&&r.column||[u?u.column:null],d=Object(K.A)(r)&&r||[u?u.repeat:null];for(const t of d)for(const n of c)for(const o of f){const a={repeat:t,row:n,column:o,layer:u.layer},c=(i.name||"")+l+"child__"+(Object(K.A)(r)?`${Qz(t)}`:(r.row?`row_${Qz(n)}`:"")+(r.column?`column_${Qz(o)}`:"")),f=this.map(i,Object.assign(Object.assign({},e),{repeater:a,repeaterPrefix:c}));f.name=c,s.push(Tz(f,["data"]))}const h=Object(K.A)(r)?t.columns:r.column?r.column.length:1;return Object.assign(Object.assign({data:null!==(n=i.data)&&void 0!==n?n:o,align:"all"},a),{columns:h,concat:s})}mapFacet(t,e){const{facet:n}=t;return uq(n)&&t.columns&&(t=Tz(t,["columns"]),bI(v.columnsNotSupportByRowCol("facet"))),super.mapFacet(t,e)}mapUnitWithParentEncodingOrProjection(t,e){const{encoding:n,projection:r}=t,{parentEncoding:i,parentProjection:o,config:a}=e,s=NH({parentProjection:o,projection:r}),u=$H({parentEncoding:i,encoding:AH(n,e.repeater)});return this.mapUnit(Object.assign(Object.assign(Object.assign({},t),s?{projection:s}:{}),u?{encoding:u}:{}),{config:a})}mapFacetedUnit(t,e){const n=t.encoding,{row:r,column:i,facet:o}=n,a=wz(n,["row","column","facet"]),{mark:s,width:u,projection:l,height:c,view:f,selection:d,encoding:h}=t,p=wz(t,["mark","width","projection","height","view","selection","encoding"]),{facetMapping:g,layout:m}=this.getFacetMappingAndLayout({row:r,column:i,facet:o},e),v=AH(a,e.repeater);return this.mapFacet(Object.assign(Object.assign(Object.assign({},p),m),{facet:g,spec:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},u?{width:u}:{}),c?{height:c}:{}),f?{view:f}:{}),l?{projection:l}:{}),{mark:s,encoding:v}),d?{selection:d}:{})}),e)}getFacetMappingAndLayout(t,e){var n;const{row:r,column:i,facet:o}=t;if(r||i){o&&bI(v.facetChannelDropped([...r?[eP]:[],...i?[nP]:[]]));const e={},a={};for(const r of[eP,nP]){const i=t[r];if(i){const{align:t,center:o,spacing:s,columns:u}=i,l=wz(i,["align","center","spacing","columns"]);e[r]=l;for(const t of["align","center","spacing"])void 0!==i[t]&&(a[t]=null!==(n=a[t])&&void 0!==n?n:{},a[t][r]=i[t])}}return{facetMapping:e,layout:a}}{const{align:t,center:n,spacing:r,columns:i}=o;return{facetMapping:function(t,e){return e?uq(t)?MH(t,e):SH(t,e):t}(wz(o,["align","center","spacing","columns"]),e.repeater),layout:Object.assign(Object.assign(Object.assign(Object.assign({},t?{align:t}:{}),n?{center:n}:{}),r?{spacing:r}:{}),i?{columns:i}:{})}}}mapLayer(t,e){var{parentEncoding:n,parentProjection:r}=e,i=wz(e,["parentEncoding","parentProjection"]);const{encoding:o,projection:a}=t,s=wz(t,["encoding","projection"]),u=Object.assign(Object.assign({},i),{parentEncoding:$H({parentEncoding:n,encoding:o}),parentProjection:NH({parentProjection:r,projection:a})});return super.mapLayer(s,u)}};function RH(t){return Object(K.H)(t)?{type:t}:null!==t&&void 0!==t?t:{}}const PH=["background","padding"];function LH(t){return PH.reduce((e,n)=>(t&&void 0!==t[n]&&(e[n]=t[n]),e),{})}class BH{constructor(t={},e={}){this.explicit=t,this.implicit=e}clone(){return new BH($z(this.explicit),$z(this.implicit))}combine(){return Object.assign(Object.assign({},this.explicit),this.implicit)}get(t){return uR(this.explicit[t],this.implicit[t])}getWithExplicit(t){return void 0!==this.explicit[t]?{explicit:!0,value:this.explicit[t]}:void 0!==this.implicit[t]?{explicit:!1,value:this.implicit[t]}:{explicit:!1,value:void 0}}setWithExplicit(t,e){void 0!==e.value&&this.set(t,e.value,e.explicit)}set(t,e,n){return delete this[n?"implicit":"explicit"][t],this[n?"explicit":"implicit"][t]=e,this}copyKeyFromSplit(t,e){void 0!==e.explicit[t]?this.set(t,e.explicit[t],!0):void 0!==e.implicit[t]&&this.set(t,e.implicit[t],!1)}copyKeyFromObject(t,e){void 0!==e[t]&&this.set(t,e[t],!0)}copyAll(t){for(const e of Vz(t.combine())){const n=t.getWithExplicit(e);this.setWithExplicit(e,n)}}}function IH(t){return{explicit:!0,value:t}}function UH(t){return{explicit:!1,value:t}}function qH(t){return(e,n,r,i)=>{const o=t(e.value,n.value);return o>0?e:o<0?n:WH(e,n,r,i)}}function WH(t,e,n,r){return t.explicit&&e.explicit&&bI(v.mergeConflictingProperty(n,r,t.value,e.value)),t}function HH(t,e,n,r,i=WH){return void 0===t||void 0===t.value?e:t.explicit&&!e.explicit?t:e.explicit&&!t.explicit?e:Fz(t.value,e.value)?t:i(t,e,n,r)}class YH extends BH{constructor(t={},e={},n=!1){super(t,e),this.explicit=t,this.implicit=e,this.parseNothing=n}clone(){const t=super.clone();return t.parseNothing=this.parseNothing,t}}function GH(t){return"url"in t}function VH(t){return"values"in t}function ZH(t){return"name"in t&&!GH(t)&&!VH(t)&&!XH(t)}function XH(t){return t&&(JH(t)||QH(t)||KH(t))}function JH(t){return"sequence"in t}function QH(t){return"sphere"in t}function KH(t){return"graticule"in t}const tY="main",eY="raw";function nY(t){return"filter"in t}function rY(t){return"lookup"in t}function iY(t){return"pivot"in t}function oY(t){return"density"in t}function aY(t){return"quantile"in t}function sY(t){return"regression"in t}function uY(t){return"loess"in t}function lY(t){return"sample"in t}function cY(t){return"window"in t}function fY(t){return"joinaggregate"in t}function dY(t){return"flatten"in t}function hY(t){return"calculate"in t}function pY(t){return"bin"in t}function gY(t){return"impute"in t}function mY(t){return"timeUnit"in t}function vY(t){return"aggregate"in t}function yY(t){return"stack"in t}function bY(t){return"fold"in t}function xY(t){return t.map(t=>nY(t)?{filter:function t(e,n){return Mz(e)?{not:t(e.not,n)}:Cz(e)?{and:e.and.map(e=>t(e,n))}:Dz(e)?{or:e.or.map(e=>t(e,n))}:n(e)}(t.filter,KI)}:t)}function _Y(t,e,n,r){const i=gq(e)&&e.condition,o=r(e);if(i){return{[n]:[...Object(K.i)(i).map(e=>{const n=r(e),i=function(t){return t.selection}(e)?FG(t,e.selection):NG(t,e.test);return Object.assign({test:i},n)}),...void 0!==o?[o]:[]]}}return void 0!==o?{[n]:o}:{}}function wY(t,e="text"){const n=t.encoding[e];return _Y(t,n,e,e=>OY(e,t.config))}function OY(t,e,n="datum"){if(t){if(kq(t))return Kq(t.value);if(Oq(t)){const{format:r,formatType:i}=Lq(t);return GU({fieldOrDatumDef:t,format:r,formatType:i,expr:n,config:e})}}}function jY(t,e={}){const{encoding:n,markDef:r,config:i,stack:o}=t,a=n.tooltip;if(Object(K.A)(a))return{tooltip:AY({tooltip:a},o,i,e)};{const s=e.reactiveGeom?"datum.datum":"datum";return _Y(t,a,"tooltip",t=>{const a=OY(t,i,s);if(a)return a;if(null===t)return;let u=rW("tooltip",r,i);return!0===u&&(u={content:"encoding"}),Object(K.H)(u)?{value:u}:Object(K.F)(u)?"encoding"===u.content?AY(n,o,i,e):{signal:s}:void 0})}}function kY(t,e,n,{reactiveGeom:r}={}){const i={},o=r?"datum.datum":"datum",a=[];function s(r,s){const u=rL(s),l=jq(r)?r:Object.assign(Object.assign({},r),{type:t[u].type}),c=Object(K.i)(zq(l,n,{allowDisabling:!1})).join(", ");let f;if(OL(s)){const r="x"===s?"x2":"y2",a=Bq(t[r]);if(GL(l.bin)&&a){const t=Cq(l,{expr:o}),e=Cq(a,{expr:o}),{format:s,formatType:u}=Lq(l);f=eq(t,e,s,u,n),i[r]=!0}else if(e&&e.fieldChannel===s&&"normalize"===e.offset){const{format:t,formatType:e}=Lq(l);f=GU({fieldOrDatumDef:l,format:t,formatType:e,expr:o,config:n,normalizeStack:!0}).signal}}f=null!==f&&void 0!==f?f:OY(l,n,o).signal,a.push({channel:s,key:c,value:f})}gW(t,(t,e)=>{yq(t)?s(t,e):mq(t)&&s(t.condition,e)});const u={};for(const{channel:t,key:e,value:n}of a)i[t]||u[e]||(u[Object(K.Z)(e)]=n);return u}function AY(t,e,n,{reactiveGeom:r}={}){const i=Xz(kY(t,e,n,{reactiveGeom:r})).map(({key:t,value:e})=>`${t}: ${e}`);return i.length>0?{signal:`{${i.join(", ")}}`}:void 0}function EY(t){const{markDef:e,config:n}=t,r=rW("aria",e,n);return!1===r?{}:Object.assign(Object.assign(Object.assign({},r?{aria:r}:{}),function(t){const{mark:e,markDef:n,config:r}=t;if(!1===r.aria)return{};const i=rW("ariaRoleDescription",n,r);if(null!=i)return{ariaRoleDescription:{value:i}};return e in BI?{}:{ariaRoleDescription:{value:e}}}(t)),function(t){const{encoding:e,markDef:n,config:r,stack:i}=t,o=e.description;if(o)return _Y(t,o,"description",e=>OY(e,t.config));const a=rW("description",n,r);if(null!=a)return{description:Kq(a)};if(!1===r.aria)return{};const s=kY(e,i,r);if(Gz(s))return;return{description:{signal:Xz(s).map(({key:t,value:e})=>`${t} + ": " + (${e})`).join(' + "; " + ')}}}(t))}function SY(t,e,n={}){const{markDef:r,encoding:i,config:o}=e,{vgChannel:a}=n;let{defaultRef:s,defaultValue:u}=n;void 0===s&&void 0!==(u=null!==u&&void 0!==u?u:rW(t,r,o,{vgChannel:a,ignoreVgConfig:!0}))&&(s=Kq(u));const l=i[t];return _Y(e,l,null!==a&&void 0!==a?a:t,n=>UU({channel:t,channelDef:n,markDef:r,config:o,scaleName:e.scaleName(t),scale:e.getScaleComponent(t),stack:null,defaultRef:s}))}function DY(t,e={filled:void 0}){var n,r,i,o;const{markDef:a,encoding:s,config:u}=t,{type:l}=a,c=null!==(n=e.filled)&&void 0!==n?n:rW("filled",a,u),f=Lz(["bar","point","circle","square","geoshape"],l)?"transparent":void 0,d=null!==(i=null!==(r=rW(!0===c?"color":void 0,a,u,{vgChannel:"fill"}))&&void 0!==r?r:u.mark[!0===c&&"color"])&&void 0!==i?i:f,h=null!==(o=rW(!1===c?"color":void 0,a,u,{vgChannel:"stroke"}))&&void 0!==o?o:u.mark[!1===c&&"color"],p=c?"fill":"stroke",g=Object.assign(Object.assign({},d?{fill:Kq(d)}:{}),h?{stroke:Kq(h)}:{});return a.color&&(c?a.fill:a.stroke)&&bI(v.droppingColor("property",{fill:"fill"in a,stroke:"stroke"in a})),Object.assign(Object.assign(Object.assign(Object.assign({},g),SY("color",t,{vgChannel:p,defaultValue:c?d:h})),SY("fill",t,{defaultValue:s.fill?d:void 0})),SY("stroke",t,{defaultValue:s.stroke?h:void 0}))}function CY(t,e){const n=e[function(t){switch(t){case iP:return"xOffset";case oP:return"yOffset";case aP:return"x2Offset";case sP:return"y2Offset";case cP:return"thetaOffset";case uP:return"radiusOffset";case fP:return"theta2Offset";case lP:return"radius2Offset"}}(t)];if(n)return n}function MY(t,e,{defaultPos:n,vgChannel:r,isMidPoint:i}){const{encoding:o,markDef:a,config:s,stack:u}=e,l=o[t],c=o[oL(t)],f=e.scaleName(t),d=e.getScaleComponent(t),h=CY(t,a),p=FY({model:e,defaultPos:n,channel:t,scaleName:f,scale:d}),g=!l&&OL(t)&&(o.latitude||o.longitude)?{field:e.getName(t)}:function(t){const{channel:e,channelDef:n,isMidPoint:r,scaleName:i,stack:o,offset:a,markDef:s,config:u}=t;if(Oq(n)&&o&&e===o.fieldChannel){if(yq(n)){const t=hq({channel:e,fieldDef:n,isMidPoint:r,markDef:s,stack:o,config:u});if(void 0!==t)return IU({scaleName:i,fieldOrDatumDef:n,startSuffix:"start",band:t,offset:a})}return BU(n,i,{suffix:"end"},{offset:a})}return RU(t)}({channel:t,channelDef:l,channel2Def:c,markDef:a,config:s,isMidPoint:i,scaleName:f,scale:d,stack:u,offset:h,defaultRef:p});return g?{[r||t]:g}:void 0}function FY({model:t,defaultPos:e,channel:n,scaleName:r,scale:i}){const{markDef:o,config:a}=t;return()=>{const s=rL(n),u=iL(n),l=rW(n,o,a,{vgChannel:u});if(void 0!==l)return qU(n,l);switch(e){case"zeroOrMin":case"zeroOrMax":if(r){const t=i.get("type");if(Lz([sU.LOG,sU.TIME,sU.UTC],t));else if(i.domainDefinitelyIncludesZero())return{scale:r,value:0}}if("zeroOrMin"===e)return"y"===s?{field:{group:"height"}}:{value:0};switch(s){case"radius":return{signal:`min(${t.width.signal},${t.height.signal})/2`};case"theta":return{signal:"2*PI"};case"x":return{field:{group:"width"}};case"y":return{value:0}}break;case"mid":{const e=t[aL(n)];return Object.assign(Object.assign({},e),{mult:.5})}}}}const $Y={left:"x",center:"xc",right:"x2"},NY={top:"y",middle:"yc",bottom:"y2"};function TY(t,e,n,r="middle"){if("radius"===t||"theta"===t)return iL(t);const i=rW("x"===t?"align":"baseline",e,n);return"x"===t?$Y[i||("top"===r?"left":"center")]:NY[i||r]}function zY(t,e,{defaultPos:n,defaultPos2:r,range:i}){return i?RY(t,e,{defaultPos:n,defaultPos2:r}):MY(t,e,{defaultPos:n})}function RY(t,e,{defaultPos:n,defaultPos2:r}){const{markDef:i,config:o}=e,a=oL(t),s=aL(t),u=function(t,e,n){const{encoding:r,mark:i,markDef:o,stack:a,config:s}=t,u=rL(n),l=aL(n),c=iL(n),f=r[u],d=t.scaleName(u),h=t.getScaleComponent(u),p=CY(n in r||n in o?n:u,t.markDef);if(!f&&("x2"===n||"y2"===n)&&(r.latitude||r.longitude))return{[c]:{field:t.getName(n)}};const g=function({channel:t,channelDef:e,channel2Def:n,markDef:r,config:i,scaleName:o,scale:a,stack:s,offset:u,defaultRef:l}){if(Oq(e)&&s&&t.charAt(0)===s.fieldChannel.charAt(0))return BU(e,o,{suffix:"start"},{offset:u});return RU({channel:t,channelDef:n,scaleName:o,scale:a,stack:s,markDef:r,config:i,offset:u,defaultRef:l})}({channel:n,channelDef:f,channel2Def:r[n],markDef:o,config:s,scaleName:d,scale:h,stack:a,offset:p,defaultRef:void 0});if(void 0!==g)return{[c]:g};return PY(n,o)||PY(n,{[n]:oW(n,o,s.style),[l]:oW(l,o,s.style)})||PY(n,s[i])||PY(n,s.mark)||{[c]:FY({model:t,defaultPos:e,channel:n,scaleName:d,scale:h})()}}(e,r,a),l=u[s]?TY(t,i,o):iL(t);return Object.assign(Object.assign({},MY(t,e,{defaultPos:n,vgChannel:l})),u)}function PY(t,e){const n=aL(t),r=iL(t);return void 0!==e[r]?{[r]:qU(t,e[r])}:void 0!==e[t]?{[r]:qU(t,e[t])}:e[n]?{[n]:qU(t,e[n])}:void 0}function LY(t,e,n){var r,i,o,a;const{config:s,encoding:u,markDef:l,stack:c}=t,f=oL(e),d=aL(e),h=u[e],p=u[f],g=t.getScaleComponent(e),m=g?g.get("type"):void 0,y=t.scaleName(e),b=l.orient,x=null!==(i=null!==(r=u[d])&&void 0!==r?r:u.size)&&void 0!==i?i:rW("size",l,s,{vgChannel:d}),_="bar"===n&&("x"===e?"vertical"===b:"horizontal"===b);if(yq(h)&&(YL(h.bin)||GL(h.bin)||h.timeUnit&&!p)&&!x&&!xU(m)){const n=hq({channel:e,fieldDef:h,stack:c,markDef:l,config:s}),r=null===(o=t.component.axes[e])||void 0===o?void 0:o[0];return function({fieldDef:t,fieldDef2:e,channel:n,band:r,scaleName:i,markDef:o,spacing:a=0,axisTranslate:s,reverse:u,config:l}){const c=oL(n),f=iL(n),d=iL(c),h=CY(n,o);if(YL(t.bin)||t.timeUnit)return{[d]:IY({channel:n,fieldDef:t,scaleName:i,markDef:o,band:(1-r)/2,offset:BY(c,a,u,s,h),config:l}),[f]:IY({channel:n,fieldDef:t,scaleName:i,markDef:o,band:1-(1-r)/2,offset:BY(n,a,u,s,h),config:l})};if(GL(t.bin)){const r=BU(t,i,{},{offset:BY(c,a,u,s,h)});if(yq(e))return{[d]:r,[f]:BU(e,i,{},{offset:BY(n,a,u,s,h)})};if(VL(t.bin)&&t.bin.step)return{[d]:r,[f]:{signal:`scale("${i}", ${Cq(t,{expr:"datum"})} + ${t.bin.step})`,offset:BY(n,a,u,s,h)}}}return void bI(v.channelRequiredForBinned(c))}({fieldDef:h,fieldDef2:p,channel:e,markDef:l,scaleName:y,band:n,axisTranslate:null!==(a=null===r||void 0===r?void 0:r.get("translate"))&&void 0!==a?a:.5,spacing:OL(e)?rW("binSpacing",l,s):void 0,reverse:g.get("reverse"),config:s})}return(Oq(h)&&xU(m)||_)&&!p?function(t,e,n,r){var i;const{markDef:o,encoding:a,config:s,stack:u}=r,l=o.orient,c=r.scaleName(n),f=r.getScaleComponent(n),d=aL(n),h=oL(n),p="horizontal"===l&&"y"===n||"vertical"===l&&"x"===n,g=rW(p?"size":d,o,s,{vgChannel:d});let m;(a.size||void 0!==g)&&(p?m=SY("size",r,{vgChannel:d,defaultValue:g}):bI(v.cannotApplySizeToNonOrientedMark(o.type)));const y=null!==(i=Oq(e)?hq({channel:n,fieldDef:e,markDef:o,stack:u,config:s}):void 0)&&void 0!==i?i:1;m=m||{[d]:function(t,e,n,r,i,o){if(r){const e=r.get("type");if("point"===e||"band"===e){if(void 0!==i[t].discreteBandSize)return{value:i[t].discreteBandSize};if(e===sU.POINT){const t=r.get("range");return RI(t)&&Object(K.E)(t.step)?{value:t.step-2}:{value:iH-2}}return{scale:n,band:o}}return{value:i[t].continuousBandSize}}const a=nH(i.view,e),s=uR(i[t].discreteBandSize,a-2);return void 0!==s?{value:s}:void 0}(t,d,c,f,s,y)};const b="band"!==(null===f||void 0===f?void 0:f.get("type"))||!("band"in m[d]),x=TY(n,o,s,b?"middle":"top"),_=CY(n,o),w=RU({channel:n,channelDef:e,markDef:o,config:s,scaleName:c,scale:f,stack:u,offset:_,defaultRef:FY({model:r,defaultPos:"mid",channel:n,scaleName:c,scale:f}),band:b?.5:(1-y)/2});if(d)return Object.assign({[x]:w},m);{const t=iL(h),e=m[d],n=_?Object.assign(Object.assign({},e),{offset:_}):e;return{[x]:w,[t]:Object(K.A)(w)?[w[0],Object.assign(Object.assign({},w[1]),{offset:n})]:Object.assign(Object.assign({},w),{offset:n})}}}(n,h,e,t):RY(e,t,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function BY(t,e,n,r,i){if(zP(t))return 0;const o="x"===t||"y2"===t?-e/2:e/2;if(zI(n)){const t=eW(i);return{signal:`${n.signal} ? ${r-o}${t?"-"+t:""} : ${r+o}${t?"+"+t:""}`}}if(zI(i)){const t=r+(n?-o:o);return{signal:`${t||""}${n?" - ":t?" + ":""}${i.signal}`}}return i=i||0,r+(n?-i-o:+i+o)}function IY({channel:t,fieldDef:e,scaleName:n,markDef:r,band:i,offset:o,config:a}){return PU({fieldDef:e,channel:t,markDef:r,ref:IU({scaleName:n,fieldOrDatumDef:e,band:i,offset:o}),config:a})}const UY=new Set(["aria"]);function qY(t,e){const{fill:n,stroke:r}="include"===e.color?DY(t):{};return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},function(t,e){return LI.reduce((n,r)=>(UY.has(r)||void 0===t[r]||"ignore"===e[r]||(n[r]=Kq(t[r])),n),{})}(t.markDef,e)),WY(t,"fill",n)),WY(t,"stroke",r)),SY("opacity",t)),SY("fillOpacity",t)),SY("strokeOpacity",t)),SY("strokeWidth",t)),SY("strokeDash",t)),jY(t)),wY(t,"href")),EY(t))}function WY(t,e,n){const{config:r,mark:i,markDef:o}=t;if("hide"===rW("invalid",o,r)&&n&&!TR(i)){const r=function(t,{invalid:e=!1,channels:n}){const r=n.reduce((e,n)=>{const r=t.getScaleComponent(n);if(r){const i=r.get("type"),o=t.vgField(n,{expr:"datum"});o&&_U(i)&&(e[o]=!0)}return e},{}),i=Vz(r);if(i.length>0){const t=e?"||":"&&";return i.map(t=>LU(t,e)).join(` ${t} `)}return}(t,{invalid:!0,channels:PL});if(r)return{[e]:[{test:r,value:null},...Object(K.i)(n)]}}return n?{[e]:n}:{}}function HY(t){const{config:e,markDef:n}=t;if(rW("invalid",n,e)){const e=function(t,{invalid:e=!1,channels:n}){const r=n.reduce((e,n)=>{const r=t.getScaleComponent(n);if(r){const i=r.get("type"),o=t.vgField(n,{expr:"datum"});o&&_U(i)&&(e[o]=!0)}return e},{}),i=Vz(r);if(i.length>0){const t=e?"||":"&&";return i.map(t=>LU(t,e)).join(` ${t} `)}return}(t,{channels:wL});if(e)return{defined:{signal:e}}}return{}}function YY(t,e){if(void 0!==e)return{[t]:Kq(e)}}var GY={has:t=>"interval"!==t.type&&t.nearest,parse:(t,e)=>{if(e.events)for(const n of e.events)n.markname=t.getName("voronoi")},marks:(t,e,n)=>{const{x:r,y:i}=e.project.hasChannel,o=t.mark;if(TR(o))return bI(v.nearestNotSupportForContinuous(o)),n;const a={name:t.getName("voronoi"),type:"path",interactive:!0,from:{data:t.getName("marks")},encode:{update:Object.assign({fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0}},jY(t,{reactiveGeom:!0}))},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]}]};let s=0,u=!1;return n.forEach((e,n)=>{var r;const i=null!==(r=e.name)&&void 0!==r?r:"";i===t.component.mark[0].name?s=n:i.indexOf("voronoi")>=0&&(u=!0)}),u||n.splice(s+1,0,a),n}};class VY{constructor(t,e){this.debugName=e,this._children=[],this._parent=null,t&&(this.parent=t)}clone(){throw new Error("Cannot clone node")}get parent(){return this._parent}set parent(t){this._parent=t,t&&t.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(t,e){this._children.indexOf(t)>-1?console.warn("Attempt to add the same child twice."):void 0!==e?this._children.splice(e,0,t):this._children.push(t)}removeChild(t){const e=this._children.indexOf(t);return this._children.splice(e,1),e}remove(){let t=this._parent.removeChild(this);for(const e of this._children)e._parent=this._parent,this._parent.addChild(e,t++)}insertAsParentOf(t){const e=t.parent;e.removeChild(this),this.parent=e,t.parent=this}swapWithParent(){const t=this._parent,e=t.parent;for(const e of this._children)e.parent=t;this._children=[],t.removeChild(this),t.parent.removeChild(t),this.parent=e,t.parent=this}}class ZY extends VY{constructor(t,e,n,r){super(t,e),this.type=n,this.refCounts=r,this._source=this._name=e,!this.refCounts||this._name in this.refCounts||(this.refCounts[this._name]=0)}clone(){const t=new this.constructor;return t.debugName="clone_"+this.debugName,t._source=this._source,t._name="clone_"+this._name,t.type=this.type,t.refCounts=this.refCounts,t.refCounts[t._name]=0,t}dependentFields(){return new Set}producedFields(){return new Set}hash(){return void 0===this._hash&&(this._hash=`Output ${cR()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(t){this._source=t}}class XY extends VY{constructor(t,e){super(t),this.formula=e}clone(){return new XY(null,$z(this.formula))}static makeFromEncoding(t,e){const n=e.reduceFieldDef((t,n,r)=>{const{field:i,timeUnit:o}=n,a=oX(e)?e.encoding[oL(r)]:void 0,s=oX(e)&&pq(r,n,a,e.stack,e.markDef,e.config);if(o){const e=Cq(n,{forAs:!0});t[Rz({as:e,field:i,timeUnit:o})]=Object.assign({as:e,field:i,timeUnit:o},s?{band:!0}:{})}return t},{});return Gz(n)?null:new XY(t,n)}static makeFromTransform(t,e){const n=Object.assign({},e),{timeUnit:r}=n,i=wz(n,["timeUnit"]),o=TI(r),a=Object.assign(Object.assign({},i),{timeUnit:o});return new XY(t,{[Rz(a)]:a})}merge(t){this.formula=Object.assign({},this.formula);for(const e in t.formula)this.formula[e]&&!t.formula[e].band||(this.formula[e]=t.formula[e]);for(const e of t.children)t.removeChild(e),e.parent=this;t.remove()}producedFields(){return new Set(Zz(this.formula).map(t=>t.as))}dependentFields(){return new Set(Zz(this.formula).map(t=>t.field))}hash(){return`TimeUnit ${Rz(this.formula)}`}assemble(){const t=[];for(const e of Zz(this.formula)){const{field:n,as:r,timeUnit:i}=e,o=TI(i),{unit:a,utc:s}=o,u=wz(o,["unit","utc"]);t.push(Object.assign(Object.assign(Object.assign(Object.assign({field:iR(n),type:"timeunit"},a?{units:MI(a)}:{}),s?{timezone:"utc"}:{}),u),{as:[r,`${r}_end`]}))}return t}}const JY="_tuple_fields";var QY={has:t=>"single"===t.type&&"global"===t.resolve&&t.bind&&"scales"!==t.bind&&!GW(t.bind),parse:(t,e,n,r)=>{r.on||delete e.events,r.clear||delete e.clear},topLevelSignals:(t,e,n)=>{const r=e.name,i=e.project,o=e.bind,a=e.init&&e.init[0],s=GY.has(e)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((t,i)=>{var u,l;const c=Qz(`${r}_${t.field}`);n.filter(t=>t.name===c).length||n.unshift(Object.assign(Object.assign({name:c},a?{init:dG(a[i])}:{value:null}),{on:e.events?[{events:e.events,update:`datum && item().mark.marktype !== 'group' ? ${s}[${Object(K.Z)(t.field)}] : null`}]:[],bind:null!==(l=null!==(u=o[t.field])&&void 0!==u?u:o[t.channel])&&void 0!==l?l:o}))}),n},signals:(t,e,n)=>{const r=e.name,i=e.project,o=n.filter(t=>t.name===r+OG)[0],a=r+JY,s=i.items.map(t=>Qz(`${r}_${t.field}`)),u=s.map(t=>`${t} !== null`).join(" && ");return s.length&&(o.update=`${u} ? {fields: ${a}, values: [${s.join(", ")}]} : null`),delete o.value,delete o.on,n}};var KY={has:t=>"multi"===t.type&&!!t.toggle,signals:(t,e,n)=>n.concat({name:e.name+"_toggle",value:!1,on:[{events:e.events,update:e.toggle}]}),modifyExpr:(t,e)=>{const n=e.name+OG,r=e.name+"_toggle";return`${r} ? null : ${n}, `+("global"===e.resolve?`${r} ? null : true, `:`${r} ? null : {unit: ${SG(t)}}, `)+`${r} ? ${n} : null`}};var tG={has:t=>"interval"===t.type&&"global"===t.resolve&&t.bind&&"scales"===t.bind,parse:(t,e)=>{const n=e.scales=[];for(const r of e.project.items){const i=r.channel;if(!LL(i))continue;const o=t.getScaleComponent(i),a=o?o.get("type"):void 0;if(!o||!_U(a)){bI(v.SCALE_BINDINGS_CONTINUOUS);continue}const s={selection:e.name,field:r.field};o.set("selectionExtent",s,!0),n.push(r)}},topLevelSignals:(t,e,n)=>{const r=e.scales.filter(t=>0===n.filter(e=>e.name===t.signals.data).length);if(!t.parent||nG(t)||0===r.length)return n;const i=n.filter(t=>t.name===e.name)[0];let o=i.update;if(o.indexOf(kG)>=0)i.update=`{${r.map(t=>`${Object(K.Z)(t.field)}: ${t.signals.data}`).join(", ")}}`;else{for(const t of r){const e=`${Object(K.Z)(t.field)}: ${t.signals.data}`;o.indexOf(e)<0&&(o=`${o.substring(0,o.length-1)}, ${e}}`)}i.update=o}return n.concat(r.map(t=>({name:t.signals.data})))},signals:(t,e,n)=>{if(t.parent&&!nG(t))for(const t of e.scales){const e=n.filter(e=>e.name===t.signals.data)[0];e.push="outer",delete e.value,delete e.update}return n}};function eG(t,e){return`domain(${Object(K.Z)(t.scaleName(e))})`}function nG(t){var e;return t.parent&&uX(t.parent)&&(null!==(e=!t.parent.parent)&&void 0!==e?e:nG(t.parent.parent))}const rG={has:t=>{const e="global"===t.resolve&&t.bind&&GW(t.bind),n=1===t.project.items.length&&t.project.items[0].field!==HW;return e&&!n&&bI(v.LEGEND_BINDINGS_PROJECT_LENGTH),e&&n},parse:(t,e,n,r)=>{var i;if(r.on||delete e.events,r.clear||delete e.clear,r.on||r.clear){const t='event.item && indexof(event.item.mark.role, "legend") < 0';for(const n of e.events)n.filter=Object(K.i)(null!==(i=n.filter)&&void 0!==i?i:[]),n.filter.indexOf(t)<0&&n.filter.push(t)}const o=VW(e.bind)?e.bind.legend:"click",a=Object(K.H)(o)?R$(o,"view"):Object(K.i)(o);e.bind={legend:{merge:a}}},topLevelSignals:(t,e,n)=>{const r=e.name,i=VW(e.bind)&&e.bind.legend,o=t=>e=>{const n=$z(e);return n.markname=t,n};for(const t of e.project.items){if(!t.hasLegend)continue;const a=`${Qz(t.field)}_legend`,s=`${r}_${a}`;if(0===n.filter(t=>t.name===s).length){const t=i.merge.map(o(`${a}_symbols`)).concat(i.merge.map(o(`${a}_labels`))).concat(i.merge.map(o(`${a}_entries`)));n.unshift(Object.assign(Object.assign({name:s},e.init?{}:{value:null}),{on:[{events:t,update:"datum.value || item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${s}`,force:!0}]}))}}return n},signals:(t,e,n)=>{const r=e.name,i=e.project,o=n.find(t=>t.name===r+OG),a=r+JY,s=i.items.filter(t=>t.hasLegend).map(t=>Qz(`${r}_${Qz(t.field)}_legend`)),u=`${s.map(t=>`${t} !== null`).join(" && ")} ? {fields: ${a}, values: [${s.join(", ")}]} : null`;e.events&&s.length>0?o.on.push({events:s.map(t=>({signal:t})),update:u}):s.length>0&&(o.update=u,delete o.value,delete o.on);const l=n.find(t=>t.name===r+"_toggle"),c=VW(e.bind)&&e.bind.legend;return l&&(e.events?l.on.push(Object.assign(Object.assign({},l.on[0]),{events:c})):l.on[0].events=c),n}};const iG="_translate_anchor",oG="_translate_delta";function aG(t,e,n,r,i){var o;const a=e.name,s=a+iG,u=a+oG,l=n.channel,c=tG.has(e),f=i.filter(t=>t.name===n.signals[c?"data":"visual"])[0],d=t.getSizeSignalRef(r).signal,h=t.getScaleComponent(l),p=h.get("type"),g=`${s}.extent_${l}`,m=`${c?"log"===p?"panLog":"pow"===p?"panPow":"panLinear":"panLinear"}(${g}, ${`${c&&l===iP?"-":""}${u}.${l} / `+(c?`${d}`:`span(${g})`)}`+(c&&"pow"===p?`, ${null!==(o=h.get("exponent"))&&void 0!==o?o:1}`:"")+")";f.on.push({events:{signal:u},update:c?m:`clampRange(${m}, 0, ${d})`})}const sG="_zoom_anchor",uG="_zoom_delta";function lG(t,e,n,r,i){var o;const a=e.name,s=n.channel,u=tG.has(e),l=i.filter(t=>t.name===n.signals[u?"data":"visual"])[0],c=t.getSizeSignalRef(r).signal,f=t.getScaleComponent(s),d=f.get("type"),h=u?eG(t,s):l.name,p=a+uG,g=`${u?"log"===d?"zoomLog":"pow"===d?"zoomPow":"zoomLinear":"zoomLinear"}(${h}, ${`${a}${sG}.${s}`}, ${p}`+(u&&"pow"===d?`, ${null!==(o=f.get("exponent"))&&void 0!==o?o:1}`:"")+")";l.on.push({events:{signal:p},update:u?g:`clampRange(${g}, 0, ${c})`})}const cG=[{has:()=>!0,parse:(t,e,n)=>{var r,i,o;const a=e.name,s=null!==(r=e.project)&&void 0!==r?r:e.project=new class{constructor(...t){this.items=t,this.hasChannel={},this.hasField={}}},u={},l={},c=new Set,f=(t,e)=>{const n="visual"===e?t.channel:t.field;let r=Qz(`${a}_${n}`);for(let t=1;c.has(r);t++)r=Qz(`${a}_${n}_${t}`);return c.add(r),{[e]:r}};if(!n.fields&&!n.encodings){const e=t.config.selection[n.type];if(n.init)for(const t of Object(K.i)(n.init))for(const r of Vz(t))KP(r)?(n.encodings||(n.encodings=[])).push(r):"interval"===n.type?(bI('Interval selections should be initialized using "x" and/or "y" keys.'),n.encodings=e.encodings):(n.fields||(n.fields=[])).push(r);else n.encodings=e.encodings,n.fields=e.fields}for(const t of null!==(i=n.fields)&&void 0!==i?i:[]){const e={type:"E",field:t};e.signals=Object.assign({},f(e,"data")),s.items.push(e),s.hasField[t]=e}for(const r of null!==(o=n.encodings)&&void 0!==o?o:[]){const n=t.fieldDef(r);if(n){let i=n.field;if(n.aggregate){bI(v.cannotProjectAggregate(r,n.aggregate));continue}if(!i){bI(v.cannotProjectOnChannelWithoutField(r));continue}if(n.timeUnit){i=t.vgField(r);const e={timeUnit:n.timeUnit,as:i,field:n.field};l[Rz(e)]=e}if(!u[i]){let o="E";if("interval"===e.type){_U(t.getScaleComponent(r).get("type"))&&(o="R")}else n.bin&&(o="R-RE");const a={field:i,channel:r,type:o};a.signals=Object.assign(Object.assign({},f(a,"data")),f(a,"visual")),s.items.push(u[i]=a),s.hasField[i]=s.hasChannel[r]=u[i]}}else bI(v.cannotProjectOnChannelWithoutField(r))}if(n.init){const t=t=>s.items.map(e=>void 0!==t[e.channel]?t[e.channel]:t[e.field]);if("interval"===n.type)e.init=t(n.init);else{const r=Object(K.i)(n.init);e.init=r.map(t)}}Gz(l)||(s.timeUnit=new XY(null,l))},signals:(t,e,n)=>{const r=e.name+JY;return n.filter(t=>t.name===r).length>0?n:n.concat({name:r,value:e.project.items.map(t=>{const{signals:e,hasLegend:n}=t,r=wz(t,["signals","hasLegend"]);return r.field=iR(r.field),r})})}},KY,tG,rG,{has:t=>"interval"===t.type&&t.translate,signals:(t,e,n)=>{const r=e.name,i=tG.has(e),o=r+iG,{x:a,y:s}=e.project.hasChannel;let u=R$(e.translate,"scope");return i||(u=u.map(t=>(t.between[0].markname=r+gG,t))),n.push({name:o,value:{},on:[{events:u.map(t=>t.between[0]),update:"{x: x(unit), y: y(unit)"+(void 0!==a?", extent_x: "+(i?eG(t,iP):`slice(${a.signals.visual})`):"")+(void 0!==s?", extent_y: "+(i?eG(t,oP):`slice(${s.signals.visual})`):"")+"}"}]},{name:r+oG,value:{},on:[{events:u,update:`{x: ${o}.x - x(unit), y: ${o}.y - y(unit)}`}]}),void 0!==a&&aG(t,e,a,"width",n),void 0!==s&&aG(t,e,s,"height",n),n}},{has:t=>"interval"===t.type&&t.zoom,signals:(t,e,n)=>{const r=e.name,i=tG.has(e),o=r+uG,{x:a,y:s}=e.project.hasChannel,u=Object(K.Z)(t.scaleName(iP)),l=Object(K.Z)(t.scaleName(oP));let c=R$(e.zoom,"scope");return i||(c=c.map(t=>(t.markname=r+gG,t))),n.push({name:r+sG,on:[{events:c,update:i?"{"+[u?`x: invert(${u}, x(unit))`:"",l?`y: invert(${l}, y(unit))`:""].filter(t=>!!t).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:o,on:[{events:c,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),void 0!==a&&lG(t,e,a,"width",n),void 0!==s&&lG(t,e,s,"height",n),n}},QY,GY,{has:t=>void 0!==t.clear&&!1!==t.clear,parse:(t,e,n)=>{n.clear&&(e.clear=Object(K.H)(n.clear)?R$(n.clear,"scope"):n.clear)},topLevelSignals:(t,e,n)=>{if(QY.has(e))for(const t of e.project.items){const r=n.findIndex(n=>n.name===Qz(`${e.name}_${t.field}`));-1!==r&&n[r].on.push({events:e.clear,update:"null"})}return n},signals:(t,e,n)=>{function r(t,r){-1!==t&&n[t].on&&n[t].on.push({events:e.clear,update:r})}if("interval"===e.type)for(const t of e.project.items){const e=n.findIndex(e=>e.name===t.signals.visual);if(r(e,"[0, 0]"),-1===e){r(n.findIndex(e=>e.name===t.signals.data),"null")}}else{let t=n.findIndex(t=>t.name===e.name+OG);r(t,"null"),KY.has(e)&&r(t=n.findIndex(t=>t.name===e.name+"_toggle"),"false")}return n}}];function fG(t,e){for(const n of cG)n.has(t)&&e(n)}function dG(t,e=!0,n=K.x){if(Object(K.A)(t)){const r=t.map(t=>dG(t,e,n));return e?`[${r.join(", ")}]`:r}return xI(t)?n(e?AI(t):function(t){const e=kI(t,!0);return t.utc?+new Date(Date.UTC(...e)):+new Date(...e)}(t)):e?n(JSON.stringify(t)):t}function hG(t,e){return EG(t,(n,r)=>{e=r.marks?r.marks(t,n,e):e,fG(n,r=>{r.marks&&(e=r.marks(t,n,e))})}),e}function pG(t){return t.map(t=>(t.on&&!t.on.length&&delete t.on,t))}const gG="_brush",mG="_scale_trigger",vG={signals:(t,e)=>{const n=e.name,r=n+JY,i=tG.has(e),o=[],a=[],s=[];if(e.translate&&!i){const t=`!event.item || event.item.mark.name !== ${Object(K.Z)(n+gG)}`;yG(e,(e,n)=>{var r;const i=Object(K.i)(null!==(r=n.between[0].filter)&&void 0!==r?r:n.between[0].filter=[]);return i.indexOf(t)<0&&i.push(t),e})}e.project.items.forEach((n,r)=>{const i=n.channel;if(i!==iP&&i!==oP)return void bI("Interval selections only support x and y encoding channels.");const u=e.init?e.init[r]:null,l=function(t,e,n,r){const i=n.channel,o=n.signals.visual,a=n.signals.data,s=tG.has(e),u=Object(K.Z)(t.scaleName(i)),l=t.getScaleComponent(i),c=l?l.get("type"):void 0,f=t=>`scale(${u}, ${t})`,d=t.getSizeSignalRef(i===iP?"width":"height").signal,h=`${i}(unit)`,p=yG(e,(t,e)=>[...t,{events:e.between[0],update:`[${h}, ${h}]`},{events:e,update:`[${o}[0], clamp(${h}, 0, ${d})]`}]);return p.push({events:{signal:e.name+mG},update:_U(c)?`[${f(`${a}[0]`)}, ${f(`${a}[1]`)}]`:"[0, 0]"}),s?[{name:a,on:[]}]:[Object.assign(Object.assign({name:o},r?{init:dG(r,!0,f)}:{value:[]}),{on:p}),Object.assign(Object.assign({name:a},r?{init:dG(r)}:{}),{on:[{events:{signal:o},update:`${o}[0] === ${o}[1] ? null : invert(${u}, ${o})`}]})]}(t,e,n,u),c=n.signals.data,f=n.signals.visual,d=Object(K.Z)(t.scaleName(i)),h=_U(t.getScaleComponent(i).get("type"))?"+":"";o.push(...l),a.push(c),s.push({scaleName:t.scaleName(i),expr:`(!isArray(${c}) || `+`(${h}invert(${d}, ${f})[0] === ${h}${c}[0] && `+`${h}invert(${d}, ${f})[1] === ${h}${c}[1]))`})}),i||o.push({name:n+mG,value:{},on:[{events:s.map(t=>({scale:t.scaleName})),update:s.map(t=>t.expr).join(" && ")+` ? ${n+mG} : {}`}]});const u=e.init,l=`unit: ${SG(t)}, fields: ${r}, values`;return o.concat(Object.assign(Object.assign({name:n+OG},u?{init:`{${l}: ${dG(u)}}`}:{}),{on:[{events:[{signal:a.join(" || ")}],update:a.join(" && ")+` ? {${l}: [${a}]} : null`}]}))},modifyExpr:(t,e)=>{return e.name+OG+", "+("global"===e.resolve?"true":`{unit: ${SG(t)}}`)},marks:(t,e,n)=>{const r=e.name,{x:i,y:o}=e.project.hasChannel,a=i&&i.signals.visual,s=o&&o.signals.visual,u=`data(${Object(K.Z)(e.name+wG)})`;if(tG.has(e))return n;const l={x:void 0!==i?{signal:`${a}[0]`}:{value:0},y:void 0!==o?{signal:`${s}[0]`}:{value:0},x2:void 0!==i?{signal:`${a}[1]`}:{field:{group:"width"}},y2:void 0!==o?{signal:`${s}[1]`}:{field:{group:"height"}}};if("global"===e.resolve)for(const e of Vz(l))l[e]=[Object.assign({test:`${u}.length && ${u}[0].unit === ${SG(t)}`},l[e]),{value:0}];const c=e.mark,{fill:f,fillOpacity:d,cursor:h}=c,p=wz(c,["fill","fillOpacity","cursor"]),g=Vz(p).reduce((t,e)=>(t[e]=[{test:[void 0!==i&&`${a}[0] !== ${a}[1]`,void 0!==o&&`${s}[0] !== ${s}[1]`].filter(t=>t).join(" && "),value:p[e]},{value:null}],t),{});return[{name:r+gG+"_bg",type:"rect",clip:!0,encode:{enter:{fill:{value:f},fillOpacity:{value:d}},update:l}},...n,{name:r+gG,type:"rect",clip:!0,encode:{enter:Object.assign(Object.assign({},h?{cursor:{value:h}}:{}),{fill:{value:"transparent"}}),update:Object.assign(Object.assign({},l),g)}}]}};function yG(t,e){return t.events.reduce((t,n)=>n.between?e(t,n):(bI(`${n} is not an ordered event stream for interval selections.`),t),[])}function bG(t,e){const n=e.name,r=n+JY,i="(item().isVoronoi ? datum.datum : datum)",o=e.project.items.map(e=>{const n=t.fieldDef(e.channel);return n&&n.bin?`[${i}[${Object(K.Z)(t.vgField(e.channel,{}))}], `+`${i}[${Object(K.Z)(t.vgField(e.channel,{binSuffix:"end"}))}]]`:`${i}[${Object(K.Z)(e.field)}]`}).join(", "),a=`unit: ${SG(t)}, fields: ${r}, values`,s=e.events;return[{name:n+OG,on:s?[{events:s,update:`datum && item().mark.marktype !== 'group' ? {${a}: [${o}]} : null`,force:!0}]:[]}]}const xG={signals:bG,modifyExpr:(t,e)=>{return e.name+OG+", "+("global"===e.resolve?"null":`{unit: ${SG(t)}}`)}};const _G={signals:bG,modifyExpr:(t,e)=>{return e.name+OG+", "+("global"===e.resolve?"true":`{unit: ${SG(t)}}`)}};const wG="_store",OG="_tuple",jG="_modify",kG="vlSelectionResolve",AG={single:_G,multi:xG,interval:vG};function EG(t,e){const n=t.component.selection;if(n)for(const t of Zz(n)){if(!0===e(t,AG[t.type]))break}}function SG(t,{escape:e}={escape:!0}){let n=e?Object(K.Z)(t.name):t.name;const r=function(t){let e=t.parent;for(;e&&!aX(e);)e=e.parent;return e}(t);if(r){const{facet:t}=r;for(const e of UP)t[e]&&(n+=` + '__facet_${e}_' + (facet[${Object(K.Z)(r.vgField(e))}])`)}return n}function DG(t){let e=!1;return EG(t,t=>{e=e||t.project.items.some(t=>t.field===HW)}),e}function CG(t){const e=mC(t),n=new Set;return e.visit(t=>{"MemberExpression"===t.type&&function t(e){return"MemberExpression"===e.object.type?t(e.object):"datum"===e.object.name}(t)&&n.add(function t(e){const n=[];return"Identifier"===e.type?[e.name]:"Literal"===e.type?[e.value]:("MemberExpression"===e.type&&(n.push(...t(e.object)),n.push(...t(e.property))),n)}(t).slice(1).join("."))}),n}class MG extends VY{constructor(t,e,n){super(t),this.model=e,this.filter=n,this.expr=NG(this.model,this.filter,this),this._dependentFields=CG(this.expr)}clone(){return new MG(null,this.model,$z(this.filter))}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function FG(t,e,n,r="datum"){const i=[];const o=Kz(e,function(e){const o=Qz(e),a=t.getSelectionComponent(o,e),s=Object(K.Z)(o+wG);if(a.project.timeUnit){const e=null!==n&&void 0!==n?n:t.component.data.raw,r=a.project.timeUnit.clone();e.parent?r.insertAsParentOf(e):e.parent=r}return"none"!==a.empty&&i.push(s),`vlSelectionTest(${s}, ${r}`+("global"===a.resolve?")":`, ${Object(K.Z)(a.resolve)})`)});return(i.length?"!("+i.map(t=>`length(data(${t}))`).join(" || ")+") || ":"")+`(${o})`}function $G(t,e){const n=e.encoding;let r=e.field;if(n||r){if(n&&!r){const i=t.project.items.filter(t=>t.channel===n);!i.length||i.length>1?(r=t.project.items[0].field,bI((i.length?"Multiple ":"No ")+`matching ${Object(K.Z)(n)} encoding found for selection ${Object(K.Z)(e.selection)}. `+`Using "field": ${Object(K.Z)(r)}.`)):r=i[0].field}}else r=t.project.items[0].field,t.project.items.length>1&&bI('A "field" or "encoding" must be specified when using a selection as a scale domain. '+`Using "field": ${Object(K.Z)(r)}.`);return`${t.name}[${Object(K.Z)(r)}]`}function NG(t,e,n){return Kz(e,e=>Object(K.H)(e)?e:function(t){return null===t||void 0===t?void 0:t.selection}(e)?FG(t,e.selection,n):JI(e))}function TG(t,e,n,r){var i,o,a;t.encode=null!==(i=t.encode)&&void 0!==i?i:{},t.encode[e]=null!==(o=t.encode[e])&&void 0!==o?o:{},t.encode[e].update=null!==(a=t.encode[e].update)&&void 0!==a?a:{},t.encode[e].update[n]=r}function zG(t,e,n,r={header:!1}){var i,o;const a=t.combine(),{disable:s,orient:u,scale:l,labelExpr:c,title:f,zindex:d}=a,h=wz(a,["disable","orient","scale","labelExpr","title","zindex"]);if(!s){for(const t in h){const n=mR[t],r=h[t];if(n&&n!==e&&"both"!==n)delete h[t];else if(pR(r)){const{condition:e}=r,n=wz(r,["condition"]),i=Object(K.i)(e),o=hR[t];if(o){const{vgProp:e,part:r}=o;TG(h,r,e,[...i.map(t=>{const{test:e}=t,n=wz(t,["test"]);return Object.assign({test:NG(null,e)},n)}),n]),delete h[t]}else if(null===o){const e={signal:i.map(t=>{const{test:e}=t,n=wz(t,["test"]);return`${NG(null,e)} ? ${tW(n)} : `}).join("")+tW(n)};h[t]=e}}else if(zI(r)){const e=hR[t];if(e){const{vgProp:n,part:i}=e;TG(h,i,n,r),delete h[t]}}}if("grid"===e){if(!h.grid)return;if(h.encode){const{grid:t}=h.encode;h.encode=Object.assign({},t?{grid:t}:{}),Gz(h.encode)&&delete h.encode}return Object.assign(Object.assign({scale:l,orient:u},h),{domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:uR(d,0)})}{if(!r.header&&t.mainExtracted)return;if(void 0!==c){let t=c;(null===(o=null===(i=h.encode)||void 0===i?void 0:i.labels)||void 0===o?void 0:o.update)&&zI(h.encode.labels.update.text)&&(t=oR(c,"datum.label",h.encode.labels.update.text.signal)),TG(h,"labels","text",{signal:t})}if(null===h.labelAlign&&delete h.labelAlign,h.encode){for(const e of gR)t.hasAxisPart(e)||delete h.encode[e];Gz(h.encode)&&delete h.encode}const e=function(t,e){if(t)return Object(K.A)(t)&&!Qq(t)?t.map(t=>Pq(t,e)).join(", "):t}(f,n);return Object.assign(Object.assign(Object.assign(Object.assign({scale:l,orient:u,grid:!1},e?{title:e}:{}),h),!1===n.aria?{aria:!1}:{}),{zindex:uR(d,0)})}}}function RG(t){const{axes:e}=t.component,n=[];for(const r of wL)if(e[r])for(const i of e[r])if(!i.get("disable")&&!i.get("gridScale")){const e="x"===r?"height":"width",i=t.getSizeSignalRef(e).signal;e!==i&&n.push({name:e,update:i})}return n}const PG={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"},LG={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"},BG=Vz(PG),IG=Vz(LG);function UG(t,e,n,r){return Object.assign.apply(null,[{},...t.map(t=>{if("axisOrient"===t){const t="x"===n?"bottom":"left",i=e["x"===n?"axisBottom":"axisLeft"]||{},o=e["x"===n?"axisTop":"axisRight"]||{},a=new Set([...Vz(i),...Vz(o)]),s={};for(const e of a.values())s[e]={signal:`${r.signal} === "${t}" ? ${eW(i[e])} : ${eW(o[e])}`};return s}return e[t]})])}function qG(t,e,n,r){const i="band"===e?["axisDiscrete","axisBand"]:"point"===e?["axisDiscrete","axisPoint"]:function(t){return t in gU}(e)?["axisQuantitative"]:"time"===e||"utc"===e?["axisTemporal"]:[],o="x"===t?"axisX":"axisY",a=zI(n)?"axisOrient":"axis"+eR(n),s=[...i,...i.map(t=>o+t.substr(4))],u=["axis",a,o];return{vlOnlyAxisConfig:UG(s,r,t,n),vgAxisConfig:UG(u,r,t,n),axisConfigStyle:function(t,e){var n;const r=[{}];for(const i of t){let t=null===(n=e[i])||void 0===n?void 0:n.style;if(t){t=Object(K.i)(t);for(const n of t)r.push(e.style[n])}}return Object.assign.apply(null,r)}([...u,...s],r)}}function WG(t,e,n,r={}){var i;const o=aW(t,n,e.style);if(void 0!==o)return{configFrom:"style",configValue:o};for(const e of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(void 0!==(null===(i=r[e])||void 0===i?void 0:i[t]))return{configFrom:e,configValue:r[e][t]};return{}}const HG={scale:({model:t,channel:e})=>t.scaleName(e),format:({fieldOrDatumDef:t,config:e,axis:n})=>{const{format:r,formatType:i}=n;return XU(t,t.type,r,i,e,!0)},formatType:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return JU(r,e,n)},grid:({fieldOrDatumDef:t,axis:e,scaleType:n})=>{var r;return(!yq(t)||!GL(t.bin))&&(null!==(r=e.grid)&&void 0!==r?r:function(t,e){return!xU(t)&&yq(e)&&!YL(null===e||void 0===e?void 0:e.bin)}(n,t))},gridScale:({model:t,channel:e})=>(function(t,e){const n="x"===e?"y":"x";if(t.getScaleComponent(n))return t.scaleName(n);return})(t,e),labelAlign:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelAlign||VG(e,n,r),labelAngle:({labelAngle:t})=>t,labelBaseline:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelBaseline||GG(e,n,r),labelFlush:({axis:t,fieldOrDatumDef:e,channel:n})=>{var r;return null!==(r=t.labelFlush)&&void 0!==r?r:function(t,e){if("x"===e&&Lz(["quantitative","temporal"],t))return!0;return}(e.type,n)},labelOverlap:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{var r;return null!==(r=t.labelOverlap)&&void 0!==r?r:function(t,e){if("nominal"!==t)return"log"!==e||"greedy";return}(e.type,n)},orient:({orient:t})=>t,tickCount:({channel:t,model:e,axis:n,fieldOrDatumDef:r,scaleType:i})=>{var o;const a="x"===t?"width":"y"===t?"height":void 0,s=a?e.getSizeSignalRef(a):void 0;return null!==(o=n.tickCount)&&void 0!==o?o:function({fieldOrDatumDef:t,scaleType:e,size:n,values:r}){var i;if(!r&&!xU(e)&&"log"!==e){if(yq(t)){if(YL(t.bin))return{signal:`ceil(${n.signal}/10)`};if(t.timeUnit&&Lz(["month","hours","day","quarter"],null===(i=TI(t.timeUnit))||void 0===i?void 0:i.unit))return}return{signal:`ceil(${n.signal}/40)`}}return}({fieldOrDatumDef:r,scaleType:i,size:s,values:n.values})},title:({axis:t,model:e,channel:n})=>{if(void 0!==t.title)return t.title;const r=ZG(e,n);if(void 0!==r)return r;const i=e.typedFieldDef(n),o="x"===n?"x2":"y2",a=e.fieldDef(o);return uW(i?[fq(i)]:[],yq(a)?[fq(a)]:[])},values:({axis:t,fieldOrDatumDef:e})=>(function(t,e){const n=t.values;if(Object(K.A)(n))return Zq(e,n);if(zI(n))return n;return})(t,e),zindex:({axis:t,fieldOrDatumDef:e,mark:n})=>{var r;return null!==(r=t.zindex)&&void 0!==r?r:function(t,e){if("rect"===t&&Mq(e))return 1;return 0}(n,e)}};function YG(t){return`(((${t.signal} % 360) + 360) % 360)`}function GG(t,e,n,r){if(void 0!==t){if("x"===n){if(zI(t)){const n=YG(t);return{signal:`(45 < ${n} && ${n} < 135) || (225 < ${n} && ${n} < 315) ? "middle" :`+`(${n} <= 45 || 315 <= ${n}) === ${zI(e)?`(${e.signal} === "top")`:"top"===e} ? "bottom" : "top"`}}if(45{if(Aq(e)&&sq(e.sort)){const{field:r,timeUnit:i}=e,o=e.sort,a=o.map((t,e)=>`${JI({field:r,timeUnit:i,equal:t})} ? ${e} : `).join("")+o.length;t=new XG(t,{calculate:a,as:JG(e,n,{forAs:!0})})}}),t}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 ${Rz(this.transform)}`}}function JG(t,e,n){return Cq(t,Object.assign({prefix:e,suffix:"sort_index"},null!==n&&void 0!==n?n:{}))}function QG(t,e){return Lz(["top","bottom"],e)?"column":Lz(["left","right"],e)?"row":"row"===t?"row":"column"}function KG(t,e,n,r){const i="row"===r?n.headerRow:"column"===r?n.headerColumn:n.headerFacet;return uR(((null===e||void 0===e?void 0:e.header)||{})[t],i[t],n.header[t])}function tV(t,e,n,r){const i={};for(const o of t){const t=KG(o,e,n,r);void 0!==t&&(i[o]=t)}return i}const eV=["row","column"],nV=["header","footer"];function rV(t,e){const n=t.component.layoutHeaders[e].title,r=t.config?t.config:void 0,i=t.component.layoutHeaders[e].facetFieldDef?t.component.layoutHeaders[e].facetFieldDef:void 0,{titleAnchor:o,titleAngle:a,titleOrient:s}=tV(["titleAnchor","titleAngle","titleOrient"],i,r,e),u=QG(e,s),l=fR(a);return{name:`${e}-title`,type:"group",role:`${u}-title`,title:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:n},"row"===e?{orient:"left"}:{}),{style:"guide-title"}),oV(l,u)),iV(u,l,o)),fV(r,i,e,BG,PG))}}function iV(t,e,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}const r=VG(e,"row"===t?"left":"top","row"===t?"y":"x");return r?{align:r}:{}}function oV(t,e){const n=GG(t,"row"===e?"left":"top","row"===e?"y":"x",!0);return n?{baseline:n}:{}}function aV(t,e){const n=t.component.layoutHeaders[e],r=[];for(const i of nV)if(n[i])for(const o of n[i]){const a=uV(t,e,i,n,o);null!=a&&r.push(a)}return r}function sV(t,e,n){const{format:r,formatType:i,labelAngle:o,labelAnchor:a,labelOrient:s,labelExpr:u}=tV(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],t,n,e),l=GU({fieldOrDatumDef:t,format:r,formatType:i,expr:"parent",config:n}).signal,c=QG(e,s);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:{signal:u?oR(oR(u,"datum.label",l),"datum.value",Cq(t,{expr:"parent"})):l}},"row"===e?{orient:"left"}:{}),{style:"guide-label",frame:"group"}),oV(o,c)),iV(c,o,a)),fV(n,t,e,IG,LG))}function uV(t,e,n,r,i){if(i){let o=null;const{facetFieldDef:a}=r,s=t.config?t.config:void 0;if(a&&i.labels){const{labelOrient:t}=tV(["labelOrient"],a,s,e);("row"===e&&!Lz(["top","bottom"],t)||"column"===e&&!Lz(["left","right"],t))&&(o=sV(a,e,s))}const u=aX(t)&&!uq(t.facet),l=i.axes,c=(null===l||void 0===l?void 0:l.length)>0;if(o||c){const s="row"===e?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName(`${e}_${n}`),type:"group",role:`${e}-${n}`},r.facetFieldDef?{from:{data:t.getName(e+"_domain")},sort:function(t,e){var n;const{sort:r}=t;return aq(r)?{field:Cq(r,{expr:"datum"}),order:null!==(n=r.order)&&void 0!==n?n:"ascending"}:Object(K.A)(r)?{field:JG(t,e,{expr:"datum"}),order:"ascending"}:{field:Cq(t,{expr:"datum"}),order:null!==r&&void 0!==r?r:"ascending"}}(a,e)}:{}),c&&u?{from:{data:t.getName(`facet_domain_${e}`)}}:{}),o?{title:o}:{}),i.sizeSignal?{encode:{update:{[s]:i.sizeSignal}}}:{}),c?{axes:l}:{})}}return null}const lV={column:{start:0,end:1},row:{start:1,end:0}};function cV(t,e){return lV[e][t]}function fV(t,e,n,r,i){const o={};for(const a of r){if(!i[a])continue;const r=KG(a,e,t,n);void 0!==r&&(o[i[a]]=r)}return o}function dV(t){return[...hV(t,"width"),...hV(t,"height"),...hV(t,"childWidth"),...hV(t,"childHeight")]}function hV(t,e){const n="width"===e?"x":"y",r=t.component.layoutSize.get(e);if(!r||"merged"===r)return[];const i=t.getSizeSignalRef(e).signal;if("step"===r){const e=t.getScaleComponent(n);if(e){const r=e.get("type"),o=e.get("range");if(xU(r)&&RI(o)){const r=t.scaleName(n);if(aX(t.parent)){if("independent"===t.parent.component.resolve.scale[n])return[pV(r,o)]}return[pV(r,o),{name:i,update:gV(r,e,`domain('${r}').length`)}]}}throw new Error("layout size is step although width/height is not step.")}if("container"==r){const e=i.endsWith("width"),n=e?"containerSize()[0]":"containerSize()[1]",r=`isFinite(${n}) ? ${n} : ${eH(t.config.view,e?"width":"height")}`;return[{name:i,init:r,on:[{update:r,events:"window:resize"}]}]}return[{name:i,value:r}]}function pV(t,e){return{name:t+"_step",value:e.step}}function gV(t,e,n){const r=e.get("type"),i=e.get("padding"),o=uR(e.get("paddingOuter"),i);let a=e.get("paddingInner");return`bandspace(${n}, ${a="band"===r?void 0!==a?a:i:1}, ${o}) * ${t}_step`}function mV(t){return"childWidth"===t?"width":"childHeight"===t?"height":t}function vV(t,e){return Vz(t).reduce((n,r)=>{const i=t[r];return Object.assign(Object.assign({},n),_Y(e,i,r,t=>zI(t)?t:{value:t.value}))},{})}function yV(t,e){if(uX(e)||aX(e))return"shared";if(sX(e))return OL(t)?"independent":"shared";throw new Error("invalid model type for resolve")}function bV(t,e){const n=t.scale[e],r=OL(e)?"axis":"legend";return"independent"===n?("shared"===t[r][e]&&bI(v.independentScaleMeansIndependentGuide(e)),"independent"):t[r][e]||"shared"}const xV=Object.assign(Object.assign({},WW),{disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),_V=Vz(xV);class wV extends BH{}const OV={symbols:function(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i,legendType:o}){var a,s,u,l,c;if("symbol"!==o)return;const{markDef:f,encoding:d,config:h,mark:p}=n,g=f.filled&&"trail"!==p;let m=Object.assign(Object.assign({},function(t,e,n){for(const r of n){const n=iW(r,e.markDef,e.config);void 0!==n&&(t[r]=Kq(n))}return t}({},n,LR)),DY(n,{filled:g}));const v=null!==(a=jV(d.opacity))&&void 0!==a?a:f.opacity;if(m.fill)if("fill"===r||g&&r===mP)delete m.fill;else if(m.fill.field)i.get("symbolFillColor")?delete m.fill:(m.fill=Kq(null!==(s=h.legend.symbolBaseFillColor)&&void 0!==s?s:"black"),m.fillOpacity=Kq(null!==v&&void 0!==v?v:1));else if(Object(K.A)(m.fill)){const t=null!==(c=null!==(l=kV(null!==(u=d.fill)&&void 0!==u?u:d.color))&&void 0!==l?l:f.fill)&&void 0!==c?c:g&&f.color;t&&(m.fill=Kq(t))}if(m.stroke)if("stroke"===r||!g&&r===mP)delete m.stroke;else if(m.stroke.field)delete m.stroke;else if(Object(K.A)(m.stroke)){const t=uR(kV(d.stroke||d.color),f.stroke,g?f.color:void 0);t&&(m.stroke={value:t})}if(r!==wP){const t=yq(e)&&EV(n,i,e);t?m.opacity=[Object.assign({test:t},Kq(null!==v&&void 0!==v?v:1)),Kq(h.legend.unselectedOpacity)]:v&&(m.opacity=Kq(v))}return Gz(m=Object.assign(Object.assign({},m),t))?void 0:m},gradient:function(t,{model:e,legendType:n}){if("gradient"!==n)return;let r={};const i=jV(e.encoding.opacity)||e.markDef.opacity;i&&(r.opacity=Kq(i));return Gz(r=Object.assign(Object.assign({},r),t))?void 0:r},labels:function(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i}){const o=n.legend(r)||{},a=n.config,s=yq(e)?EV(n,i,e):void 0,u=s?[{test:s,value:1},{value:a.legend.unselectedOpacity}]:void 0,{format:l,formatType:c}=o,f=WU(c)?ZU({fieldOrDatumDef:e,field:"datum.value",format:l,formatType:c,config:a}):void 0,d=Object.assign(Object.assign(Object.assign({},u?{opacity:u}:{}),f?{text:f}:{}),t);return Gz(d)?void 0:d},entries:function(t,{legendCmpt:e}){const n=e.get("selections");return(null===n||void 0===n?void 0:n.length)?Object.assign(Object.assign({},t),{fill:{value:"transparent"}}):t}};function jV(t){return AV(t,(t,e)=>Math.max(t,e.value))}function kV(t){return AV(t,(t,e)=>uR(t,e.value))}function AV(t,e){return function(t){const e=t&&t.condition;return!!e&&(Object(K.A)(e)||kq(e))}(t)?Object(K.i)(t.condition).reduce(e,t.value):kq(t)?t.value:void 0}function EV(t,e,n){const r=e.get("selections");if(!(null===r||void 0===r?void 0:r.length))return;const i=Object(K.Z)(n.field);return r.map(t=>{return`(!length(data(${Object(K.Z)(Qz(t)+wG)})) || (${t}[${i}] && indexof(${t}[${i}], datum.value) >= 0))`}).join(" || ")}const SV={direction:({direction:t})=>t,format:({fieldOrDatumDef:t,legend:e,config:n})=>{const{format:r,formatType:i}=e;return XU(t,t.type,r,i,n,!1)},formatType:({legend:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return JU(r,e,n)},gradientLength:t=>{var e,n;const{legend:r,legendConfig:i}=t;return null!==(n=null!==(e=r.gradientLength)&&void 0!==e?e:i.gradientLength)&&void 0!==n?n:function({legendConfig:t,model:e,direction:n,orient:r,scaleType:i}){const{gradientHorizontalMaxLength:o,gradientHorizontalMinLength:a,gradientVerticalMaxLength:s,gradientVerticalMinLength:u}=t;if(wU(i))return"horizontal"===n?"top"===r||"bottom"===r?MV(e,"width",a,o):a:MV(e,"height",u,s);return}(t)},labelOverlap:({legend:t,legendConfig:e,scaleType:n})=>{var r,i;return null!==(i=null!==(r=t.labelOverlap)&&void 0!==r?r:e.labelOverlap)&&void 0!==i?i:function(t){if(Lz(["quantile","threshold","log"],t))return"greedy";return}(n)},symbolType:({legend:t,markDef:e,channel:n,encoding:r})=>{var i;return null!==(i=t.symbolType)&&void 0!==i?i:function(t,e,n,r){var i;if("shape"!==e){const t=null!==(i=kV(n))&&void 0!==i?i:r;if(t)return t}switch(t){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"}}(e.type,n,r.shape,e.shape)},title:({fieldOrDatumDef:t,config:e})=>zq(t,e,{allowDisabling:!0}),type:({legendType:t,scaleType:e,channel:n})=>{if(BP(n)&&wU(e)){if("gradient"===t)return}else if("symbol"===t)return;return t},values:({fieldOrDatumDef:t,legend:e})=>(function(t,e){const n=t.values;if(Object(K.A)(n))return Zq(e,n);if(zI(n))return n;return})(e,t)};function DV(t){const{legend:e}=t;return uR(e.type,function({channel:t,timeUnit:e,scaleType:n}){if(BP(t)){if(Lz(["quarter","month","day"],e))return"symbol";if(wU(n))return"gradient"}return"symbol"}(t))}function CV({legendConfig:t,legendType:e,orient:n,legend:r}){var i,o;return null!==(o=null!==(i=r.direction)&&void 0!==i?i:t[e?"gradientDirection":"symbolDirection"])&&void 0!==o?o:function(t,e){switch(t){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return"gradient"===e?"horizontal":void 0}}(n,e)}function MV(t,e,n,r){return{signal:`clamp(${t.getSizeSignalRef(e).signal}, ${n}, ${r})`}}function FV(t){const e=oX(t)?function(t){const{encoding:e}=t,n={};for(const r of[mP,...UW]){const i=Iq(e[r]);i&&t.getScaleComponent(r)&&(r===bP&&yq(i)&&i.type===oU||(n[r]=NV(t,r)))}return n}(t):function(t){const{legends:e,resolve:n}=t.component;for(const r of t.children){FV(r);for(const i of Vz(r.component.legends))n.legend[i]=bV(t.component.resolve,i),"shared"===n.legend[i]&&(e[i]=TV(e[i],r.component.legends[i]),e[i]||(n.legend[i]="independent",delete e[i]))}for(const r of Vz(e))for(const e of t.children)e.component.legends[r]&&"shared"===n.legend[r]&&delete e.component.legends[r];return e}(t);return t.component.legends=e,e}function $V(t,e,n,r){switch(e){case"disable":return void 0!==n;case"values":return!!(null===n||void 0===n?void 0:n.values);case"title":if("title"===e&&t===(null===r||void 0===r?void 0:r.title))return!0}return t===(n||{})[e]}function NV(t,e){var n,r,i;let o=t.legend(e);const{markDef:a,encoding:s,config:u}=t,l=u.legend,c=new wV({},function(t,e){const n=t.scaleName(e);if("trail"===t.mark){if("color"===e)return{stroke:n};if("size"===e)return{strokeWidth:n}}return"color"===e?t.markDef.filled?{fill:n}:{stroke:n}:{[e]:n}}(t,e));!function(t,e,n){var r;const i=null===(r=t.fieldDef(e))||void 0===r?void 0:r.field;EG(t,t=>{var r,o;const a=null!==(r=t.project.hasField[i])&&void 0!==r?r:t.project.hasChannel[e];if(a&&rG.has(t)){const e=null!==(o=n.get("selections"))&&void 0!==o?o:[];e.push(t.name),n.set("selections",e,!1),a.hasLegend=!0}})}(t,e,c);const f=void 0!==o?!o:l.disable;if(c.set("disable",f,void 0!==o),f)return c;o=o||{};const d=t.getScaleComponent(e).get("type"),h=Iq(s[e]),p=yq(h)?null===(n=TI(h.timeUnit))||void 0===n?void 0:n.unit:void 0,g=o.orient||u.legend.orient||"right",m=DV({legend:o,channel:e,timeUnit:p,scaleType:d}),v={legend:o,channel:e,model:t,markDef:a,encoding:s,fieldOrDatumDef:h,legendConfig:l,config:u,scaleType:d,orient:g,legendType:m,direction:CV({legend:o,legendType:m,orient:g,legendConfig:l})};for(const n of _V){const r=n in SV?SV[n](v):o[n];if(void 0!==r){const i=$V(r,n,o,t.fieldDef(e));(i||void 0===u.legend[n])&&c.set(n,r,i)}}const y=null!==(r=null===o||void 0===o?void 0:o.encoding)&&void 0!==r?r:{},b=c.get("selections"),x={},_={fieldOrDatumDef:h,model:t,channel:e,legendCmpt:c,legendType:m};for(const e of["labels","legend","title","symbols","gradient","entries"]){const n=vV(null!==(i=y[e])&&void 0!==i?i:{},t),r=e in OV?OV[e](n,_):n;void 0===r||Gz(r)||(x[e]=Object.assign(Object.assign(Object.assign({},(null===b||void 0===b?void 0:b.length)&&yq(h)?{name:`${Qz(h.field)}_legend_${e}`}:{}),(null===b||void 0===b?void 0:b.length)?{interactive:!!b}:{}),{update:r}))}return Gz(x)||c.set("encode",x,!!(null===o||void 0===o?void 0:o.encoding)),c}function TV(t,e){var n,r,i,o;if(!t)return e.clone();const a=t.getWithExplicit("orient"),s=e.getWithExplicit("orient");if(a.explicit&&s.explicit&&a.value!==s.value)return;let u=!1;for(const n of _V){const r=HH(t.getWithExplicit(n),e.getWithExplicit(n),n,"legend",(t,e)=>{switch(n){case"symbolType":return zV(t,e);case"title":return cW(t,e);case"type":return u=!0,UH("symbol")}return WH(t,e,n,"legend")});t.setWithExplicit(n,r)}return u&&((null===(r=null===(n=t.implicit)||void 0===n?void 0:n.encode)||void 0===r?void 0:r.gradient)&&tR(t.implicit,["encode","gradient"]),(null===(o=null===(i=t.explicit)||void 0===i?void 0:i.encode)||void 0===o?void 0:o.gradient)&&tR(t.explicit,["encode","gradient"])),t}function zV(t,e){return"circle"===e.value?e:t}function RV(t,e,n,r){var i,o,a;t.encode=null!==(i=t.encode)&&void 0!==i?i:{},t.encode[e]=null!==(o=t.encode[e])&&void 0!==o?o:{},t.encode[e].update=null!==(a=t.encode[e].update)&&void 0!==a?a:{},t.encode[e].update[n]=r}function PV(t){const e=t.component.legends,n={};for(const r of Vz(e)){const i=t.getScaleComponent(r),o=zz(i.get("domains"));if(n[o])for(const t of n[o]){TV(t,e[r])||n[o].push(e[r])}else n[o]=[e[r].clone()]}return Zz(n).flat().map(e=>(function(t,e){var n,r,i;const o=t.combine(),{disable:a,labelExpr:s,selections:u}=o,l=wz(o,["disable","labelExpr","selections"]);if(a)return;!1===e.aria&&void 0==l.aria&&(l.aria=!1);if(null===(n=l.encode)||void 0===n?void 0:n.symbols){const t=l.encode.symbols.update;!t.fill||"transparent"===t.fill.value||t.stroke||l.stroke||(t.stroke={value:"transparent"});for(const e of UW)l[e]&&delete t[e]}l.title||delete l.title;if(void 0!==s){let t=s;(null===(i=null===(r=l.encode)||void 0===r?void 0:r.labels)||void 0===i?void 0:i.update)&&zI(l.encode.labels.update.text)&&(t=oR(s,"datum.label",l.encode.labels.update.text.signal)),RV(l,"labels","text",{signal:t})}for(const t in l){const e=l[t];if(zI(e)){const n=qW[t];if(n){const{vgProp:r,part:i}=n;RV(l,i,r,e),delete l[t]}}}return l})(e,t.config)).filter(t=>void 0!==t)}function LV(t){return uX(t)||sX(t)?function(t){return t.children.reduce((t,e)=>t.concat(e.assembleProjections()),BV(t))}(t):BV(t)}function BV(t){const e=t.component.projection;if(!e||e.merged)return[];const n=e.combine(),{name:r}=n;if(e.data){const i={signal:`[${e.size.map(t=>t.signal).join(", ")}]`},o=e.data.reduce((e,n)=>{const r=zI(n)?n.signal:`data('${t.lookupDataSource(n)}')`;return Lz(e,r)||e.push(r),e},[]);if(o.length<=0)throw new Error("Projection's fit didn't find any data sources");return[Object.assign({name:r,size:i,fit:{signal:o.length>1?`[${o.join(", ")}]`:o[0]}},n)]}return[Object.assign(Object.assign({name:r},{translate:{signal:"[width / 2, height / 2]"}}),n)]}const IV=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class UV extends BH{constructor(t,e,n,r){super(Object.assign({},e),{name:t}),this.specifiedProjection=e,this.size=n,this.data=r,this.merged=!1}get isFit(){return!!this.data}}function qV(t){t.component.projection=oX(t)?function(t){var e;if(t.hasProjection){const n=t.specifiedProjection,r=!(n&&(null!=n.scale||null!=n.translate)),i=r?[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]:void 0,o=r?function(t){const e=[],{encoding:n}=t;for(const r of[[hP,dP],[gP,pP]])(Iq(n[r[0]])||Iq(n[r[1]]))&&e.push({signal:t.getName(`geojson_${e.length}`)});t.channelHasField(bP)&&t.typedFieldDef(bP).type===oU&&e.push({signal:t.getName(`geojson_${e.length}`)});0===e.length&&e.push(t.requestDataName(tY));return e}(t):void 0;return new UV(t.projectionName(!0),Object.assign(Object.assign({},null!==(e=t.config.projection)&&void 0!==e?e:{}),null!==n&&void 0!==n?n:{}),i,o)}return}(t):function(t){if(0===t.children.length)return;let e;for(const e of t.children)qV(e);const n=Iz(t.children,t=>{const n=t.component.projection;if(n){if(e){const t=function(t,e){const n=Iz(IV,n=>!Object(K.v)(t.explicit,n)&&!Object(K.v)(e.explicit,n)||!(!Object(K.v)(t.explicit,n)||!Object(K.v)(e.explicit,n)||zz(t.get(n))!==zz(e.get(n))));if(zz(t.size)===zz(e.size)){if(n)return t;if(zz(t.explicit)===zz({}))return e;if(zz(e.explicit)===zz({}))return t}return null}(e,n);return t&&(e=t),!!t}return e=n,!0}return!0});if(e&&n){const n=t.projectionName(!0),r=new UV(n,e.specifiedProjection,e.size,$z(e.data));for(const e of t.children){const t=e.component.projection;t&&(t.isFit&&r.data.push(...e.component.projection.data),e.renameProjection(t.get("name"),n),t.merged=!0)}return r}return}(t)}function WV(t,e){return`${HL(t)}_${e}`}function HV(t,e,n){var r;const i=WV(null!==(r=Hq(n,void 0))&&void 0!==r?r:{},e);return t.getName(`${i}_bins`)}function YV(t,e,n){let r,i;r=function(t){return"as"in t}(t)?Object(K.H)(t.as)?[t.as,`${t.as}_end`]:[t.as[0],t.as[1]]:[Cq(t,{forAs:!0}),Cq(t,{binSuffix:"end",forAs:!0})];const o=Object.assign({},Hq(e,void 0)),a=WV(o,t.field),{signal:s,extentSignal:u}=function(t,e){return{signal:t.getName(`${e}_bins`),extentSignal:t.getName(`${e}_extent`)}}(n,a);if(ZL(o.extent)){const t=o.extent,e=t.selection;i=$G(n.getSelectionComponent(Qz(e),e),t),delete o.extent}return{key:a,binComponent:Object.assign(Object.assign(Object.assign({bin:o,field:t.field,as:[r]},s?{signal:s}:{}),u?{extentSignal:u}:{}),i?{span:i}:{})}}class GV extends VY{constructor(t,e){super(t),this.bins=e}clone(){return new GV(null,$z(this.bins))}static makeFromEncoding(t,e){const n=e.reduceFieldDef((t,n,r)=>{if(jq(n)&&YL(n.bin)){const{key:i,binComponent:o}=YV(n,n.bin,e);t[i]=Object.assign(Object.assign(Object.assign({},o),t[i]),function(t,e,n,r){var i,o;if(Xq(e,n)){const a=oX(t)&&null!==(o=null!==(i=t.axis(n))&&void 0!==i?i:t.legend(n))&&void 0!==o?o:{},s=Cq(e,{expr:"datum"}),u=Cq(e,{expr:"datum",binSuffix:"end"});return{formulaAs:Cq(e,{binSuffix:"range",forAs:!0}),formula:eq(s,u,a.format,a.formatType,r)}}return{}}(e,n,r,e.config))}return t},{});return Gz(n)?null:new GV(t,n)}static makeFromTransform(t,e,n){const{key:r,binComponent:i}=YV(e,e.bin,n);return new GV(t,{[r]:i})}merge(t,e){for(const n of Vz(t.bins))n in this.bins?(e(t.bins[n].signal,this.bins[n].signal),this.bins[n].as=qz([...this.bins[n].as,...t.bins[n].as],Rz)):this.bins[n]=t.bins[n];for(const e of t.children)t.removeChild(e),e.parent=this;t.remove()}producedFields(){return new Set(Zz(this.bins).map(t=>t.as).flat(2))}dependentFields(){return new Set(Zz(this.bins).map(t=>t.field))}hash(){return`Bin ${Rz(this.bins)}`}assemble(){return Zz(this.bins).flatMap(t=>{const e=[],[n,...r]=t.as,i=t.bin,{extent:o}=i,a=wz(i,["extent"]),s=Object.assign(Object.assign(Object.assign({type:"bin",field:iR(t.field),as:n,signal:t.signal},ZL(o)?{extent:null}:{extent:o}),t.span?{span:{signal:`span(${t.span})`}}:{}),a);!o&&t.extentSignal&&(e.push({type:"extent",field:iR(t.field),signal:t.extentSignal}),s.extent={signal:t.extentSignal}),e.push(s);for(const t of r)for(let r=0;r<2;r++)e.push({type:"formula",expr:Cq({field:n[r]},{expr:"datum"}),as:t[r]});return t.formula&&e.push({type:"formula",expr:t.formula,as:t.formulaAs}),e})}}class VV extends VY{constructor(t){let e;if(super(null),XH(t=null!==t&&void 0!==t?t:{name:"source"})||(e=t.format?Object.assign({},Tz(t.format,["parse"])):{}),VH(t))this._data={values:t.values};else if(GH(t)){if(this._data={url:t.url},!e.type){let n=/(?:\.([^.]+))?$/.exec(t.url)[1];Lz(["json","csv","tsv","dsv","topojson"],n)||(n="json"),e.type=n}}else QH(t)?this._data={values:[{type:"Sphere"}]}:(ZH(t)||XH(t))&&(this._data={});this._generator=XH(t),t.name&&(this._name=t.name),e&&!Gz(e)&&(this._data.format=e)}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(t){this._name=t}set parent(t){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return Object.assign(Object.assign({name:this._name},this._data),{transform:[]})}}function ZV(t){for(const e of t){for(const t of e.children)if(t.parent!==e)return console.error("Dataflow graph is inconsistent.",e,t),!1;if(!ZV(e.children))return!1}return!0}class XV extends VY{constructor(t,e){super(t),this.params=e}clone(){return new XV(null,this.params)}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${Rz(this.params)}`}assemble(){return Object.assign({type:"graticule"},!0===this.params?{}:this.params)}}class JV extends VY{constructor(t,e){super(t),this.params=e}clone(){return new JV(null,this.params)}dependentFields(){return new Set}producedFields(){var t;return new Set([null!==(t=this.params.as)&&void 0!==t?t:"data"])}hash(){return`Hash ${Rz(this.params)}`}assemble(){return Object.assign({type:"sequence"},this.params)}}function QV(t){return t instanceof VV||t instanceof XV||t instanceof JV}class KV{constructor(){this._mutated=!1}setMutated(){this._mutated=!0}get mutatedFlag(){return this._mutated}}class tZ extends KV{constructor(){super(),this._continue=!1}setContinue(){this._continue=!0}get continueFlag(){return this._continue}get flags(){return{continueFlag:this.continueFlag,mutatedFlag:this.mutatedFlag}}set flags({continueFlag:t,mutatedFlag:e}){t&&this.setContinue(),e&&this.setMutated()}reset(){}optimizeNextFromLeaves(t){if(QV(t))return!1;const e=t.parent,{continueFlag:n}=this.run(t);return n&&this.optimizeNextFromLeaves(e),this.mutatedFlag}}class eZ extends KV{}function nZ(t,e,n,r){const i=oX(r)?r.encoding[oL(e)]:void 0;if(jq(n)&&oX(r)&&pq(e,n,i,r.stack,r.markDef,r.config))t.add(Cq(n,{})),t.add(Cq(n,{suffix:"end"})),n.bin&&Xq(n,e)&&t.add(Cq(n,{binSuffix:"range"}));else if(function(t){return t in RP}(e)){const n=function(t){switch(t){case dP:return"y";case pP:return"y2";case hP:return"x";case gP:return"x2"}}(e);t.add(r.getName(n))}else t.add(Cq(n));return t}class rZ extends VY{constructor(t,e,n){super(t),this.dimensions=e,this.measures=n}clone(){return new rZ(null,new Set(this.dimensions),$z(this.measures))}get groupBy(){return this.dimensions}static makeFromEncoding(t,e){let n=!1;e.forEachFieldDef(t=>{t.aggregate&&(n=!0)});const r={},i=new Set;return n?(e.forEachFieldDef((t,n)=>{var o,a,s,u;const{aggregate:l,field:c}=t;if(l)if("count"===l)r["*"]=null!==(o=r["*"])&&void 0!==o?o:{},r["*"].count=new Set([Cq(t,{forAs:!0})]);else{if(VR(l)||ZR(l)){const t=VR(l)?"argmin":"argmax",e=l[t];r[e]=null!==(a=r[e])&&void 0!==a?a:{},r[e][t]=new Set([Cq({op:t,field:e},{forAs:!0})])}else r[c]=null!==(s=r[c])&&void 0!==s?s:{},r[c][l]=new Set([Cq(t,{forAs:!0})]);LL(n)&&"unaggregated"===e.scaleDomain(n)&&(r[c]=null!==(u=r[c])&&void 0!==u?u:{},r[c].min=new Set([Cq({field:c,aggregate:"min"},{forAs:!0})]),r[c].max=new Set([Cq({field:c,aggregate:"max"},{forAs:!0})]))}else nZ(i,n,t,e)}),i.size+Vz(r).length===0?null:new rZ(t,i,r)):null}static makeFromTransform(t,e){var n,r,i;const o=new Set,a={};for(const t of e.aggregate){const{op:e,field:i,as:o}=t;e&&("count"===e?(a["*"]=null!==(n=a["*"])&&void 0!==n?n:{},a["*"].count=new Set([o||Cq(t,{forAs:!0})])):(a[i]=null!==(r=a[i])&&void 0!==r?r:{},a[i][e]=new Set([o||Cq(t,{forAs:!0})])))}for(const t of null!==(i=e.groupby)&&void 0!==i?i:[])o.add(t);return o.size+Vz(a).length===0?null:new rZ(t,o,a)}merge(t){return function(t,e){if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0}(this.dimensions,t.dimensions)?(function(t,e){var n;for(const r of Vz(e)){const i=e[r];for(const e of Vz(i))r in t?t[r][e]=new Set([...null!==(n=t[r][e])&&void 0!==n?n:[],...i[e]]):t[r]={[e]:i[e]}}}(this.measures,t.measures),!0):(function(...t){vI.debug(...t)}("different dimensions, cannot merge"),!1)}addDimensions(t){t.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...Vz(this.measures)])}producedFields(){const t=new Set;for(const e of Vz(this.measures))for(const n of Vz(this.measures[e])){const r=this.measures[e][n];0===r.size?t.add(`${n}_${e}`):r.forEach(t.add,t)}return t}hash(){return`Aggregate ${Rz({dimensions:this.dimensions,measures:this.measures})}`}assemble(){const t=[],e=[],n=[];for(const r of Vz(this.measures))for(const i of Vz(this.measures[r]))for(const o of this.measures[r][i])n.push(o),t.push(i),e.push("*"===r?null:iR(r));return{type:"aggregate",groupby:[...this.dimensions].map(iR),ops:t,fields:e,as:n}}}class iZ extends VY{constructor(t,e,n,r){super(t),this.model=e,this.name=n,this.data=r;for(const t of UP){const n=e.facet[t];if(n){const{bin:r,sort:i}=n;this[t]=Object.assign({name:e.getName(`${t}_domain`),fields:[Cq(n),...YL(r)?[Cq(n,{binSuffix:"end"})]:[]]},aq(i)?{sortField:i}:Object(K.A)(i)?{sortIndexField:JG(n,t)}:{})}}this.childModel=e.child}hash(){let t="Facet";for(const e of UP)this[e]&&(t+=` ${e.charAt(0)}:${Rz(this[e])}`);return t}get fields(){var t;const e=[];for(const n of UP)(null===(t=this[n])||void 0===t?void 0:t.fields)&&e.push(...this[n].fields);return e}dependentFields(){const t=new Set(this.fields);for(const e of UP)this[e]&&(this[e].sortField&&t.add(this[e].sortField.field),this[e].sortIndexField&&t.add(this[e].sortIndexField));return t}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){const t={};for(const e of wL){const n=this.childModel.component.scales[e];if(n&&!n.merged){const r=n.get("type"),i=n.get("range");if(xU(r)&&RI(i)){const n=BZ(IZ(this.childModel,e));n?t[e]=n:bI(`Unknown field for ${e}. Cannot calculate view size.`)}}}return t}assembleRowColumnHeaderData(t,e,n){const r={row:"y",column:"x"}[t],i=[],o=[],a=[];n&&n[r]&&(e?(i.push(`distinct_${n[r]}`),o.push("max")):(i.push(n[r]),o.push("distinct")),a.push(`distinct_${n[r]}`));const{sortField:s,sortIndexField:u}=this[t];if(s){const{op:t=nq,field:e}=s;i.push(e),o.push(t),a.push(Cq(s,{forAs:!0}))}else u&&(i.push(u),o.push("max"),a.push(u));return{name:this[t].name,source:null!==e&&void 0!==e?e:this.data,transform:[Object.assign({type:"aggregate",groupby:this[t].fields},i.length?{fields:i,ops:o,as:a}:{})]}}assembleFacetHeaderData(t){var e,n;const{columns:r}=this.model.layout,{layoutHeaders:i}=this.model.component,o=[],a={};for(const t of eV){for(const r of nV){const o=null!==(e=i[t]&&i[t][r])&&void 0!==e?e:[];for(const e of o)if((null===(n=e.axes)||void 0===n?void 0:n.length)>0){a[t]=!0;break}}if(a[t]){const e=`length(data("${this.facet.name}"))`,n="row"===t?r?{signal:`ceil(${e} / ${r})`}:1:r?{signal:`min(${e}, ${r})`}:{signal:e};o.push({name:`${this.facet.name}_${t}`,transform:[{type:"sequence",start:0,stop:n}]})}}const{row:s,column:u}=a;return(s||u)&&o.unshift(this.assembleRowColumnHeaderData("facet",null,t)),o}assemble(){var t,e;const n=[];let r=null;const i=this.getChildIndependentFieldsWithStep(),{column:o,row:a,facet:s}=this;if(o&&a&&(i.x||i.y)){r=`cross_${this.column.name}_${this.row.name}`;const o=[].concat(null!==(t=i.x)&&void 0!==t?t:[],null!==(e=i.y)&&void 0!==e?e:[]),a=o.map(()=>"distinct");n.push({name:r,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:o,ops:a}]})}for(const t of[nP,eP])this[t]&&n.push(this.assembleRowColumnHeaderData(t,r,i));if(s){const t=this.assembleFacetHeaderData(i);t&&n.push(...t)}return n}}function oZ(t){return"'"===t[0]&&"'"===t[t.length-1]||'"'===t[0]&&'"'===t[t.length-1]?t.slice(1,-1):t}function aZ(t){const e={};return function t(e,n){if(Mz(e))t(e.not,n);else if(Cz(e))for(const r of e.and)t(r,n);else if(Dz(e))for(const r of e.or)t(r,n);else n(e)}(t.filter,t=>{var n;if(ZI(t)){let r=null;UI(t)?r=t.equal:GI(t)?r=t.range[0]:VI(t)&&(r=(null!==(n=t.oneOf)&&void 0!==n?n:t.in)[0]),r&&(xI(r)?e[t.field]="date":Object(K.E)(r)?e[t.field]="number":Object(K.H)(r)&&(e[t.field]="string")),t.timeUnit&&(e[t.field]="date")}}),e}function sZ(t){const e={};function n(t){Gq(t)?e[t.field]="date":"quantitative"===t.type&&function(t){return Object(K.H)(t)&&Lz(["min","max"],t)}(t.aggregate)?e[t.field]="number":sR(t.field)>1?t.field in e||(e[t.field]="flatten"):Aq(t)&&aq(t.sort)&&sR(t.sort.field)>1&&(t.sort.field in e||(e[t.sort.field]="flatten"))}if((oX(t)||aX(t))&&t.forEachFieldDef((e,r)=>{if(jq(e))n(e);else{const i=rL(r),o=t.fieldDef(i);n(Object.assign(Object.assign({},e),{type:o.type}))}}),oX(t)){const{mark:n,markDef:r,encoding:i}=t;if(TR(n)&&!t.encoding.order){const t=i["horizontal"===r.orient?"y":"x"];!yq(t)||"quantitative"!==t.type||t.field in e||(e[t.field]="number")}}return e}class uZ extends VY{constructor(t,e){super(t),this._parse=e}clone(){return new uZ(null,$z(this._parse))}hash(){return`Parse ${Rz(this._parse)}`}static makeExplicit(t,e,n){let r={};const i=e.data;return!XH(i)&&i&&i.format&&i.format.parse&&(r=i.format.parse),this.makeWithAncestors(t,r,{},n)}static makeWithAncestors(t,e,n,r){for(const t of Vz(n)){const e=r.getWithExplicit(t);void 0!==e.value&&(e.explicit||e.value===n[t]||"derived"===e.value||"flatten"===n[t]?delete n[t]:bI(v.differentParse(t,n[t],e.value)))}for(const t of Vz(e)){const n=r.get(t);void 0!==n&&(n===e[t]?delete e[t]:bI(v.differentParse(t,e[t],n)))}const i=new BH(e,n);r.copyAll(i);const o={};for(const t of Vz(i.combine())){const e=i.get(t);null!==e&&(o[t]=e)}return 0===Vz(o).length||r.parseNothing?null:new uZ(t,o)}get parse(){return this._parse}merge(t){this._parse=Object.assign(Object.assign({},this._parse),t.parse),t.remove()}assembleFormatParse(){const t={};for(const e of Vz(this._parse)){const n=this._parse[e];1===sR(e)&&(t[e]=n)}return t}producedFields(){return new Set(Vz(this._parse))}dependentFields(){return new Set(Vz(this._parse))}assembleTransforms(t=!1){return Vz(this._parse).filter(e=>!t||sR(e)>1).map(t=>{const e=function(t,e){const n=nR(t);if("number"===e)return`toNumber(${n})`;if("boolean"===e)return`toBoolean(${n})`;if("string"===e)return`toString(${n})`;if("date"===e)return`toDate(${n})`;if("flatten"===e)return n;if(0===e.indexOf("date:"))return`timeParse(${n},'${oZ(e.slice(5,e.length))}')`;if(0===e.indexOf("utc:"))return`utcParse(${n},'${oZ(e.slice(4,e.length))}')`;return bI(v.unrecognizedParse(e)),null}(t,this._parse[t]);return e?{type:"formula",expr:e,as:aR(t)}:null}).filter(t=>null!==t)}}class lZ extends VY{clone(){return new lZ(null)}constructor(t){super(t)}dependentFields(){return new Set}producedFields(){return new Set([HW])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:HW}}}class cZ extends VY{constructor(t,e){super(t),this.transform=e}clone(){return new cZ(null,$z(this.transform))}addDimensions(t){this.transform.groupby=qz(this.transform.groupby.concat(t),t=>t)}dependentFields(){const t=new Set;return this.transform.groupby&&this.transform.groupby.forEach(t.add,t),this.transform.joinaggregate.map(t=>t.field).filter(t=>void 0!==t).forEach(t.add,t),t}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(t){var e;return null!==(e=t.as)&&void 0!==e?e:Cq(t)}hash(){return`JoinAggregateTransform ${Rz(this.transform)}`}assemble(){const t=[],e=[],n=[];for(const r of this.transform.joinaggregate)e.push(r.op),n.push(this.getDefaultName(r)),t.push(void 0===r.field?null:r.field);const r=this.transform.groupby;return Object.assign({type:"joinaggregate",as:n,ops:e,fields:t},void 0!==r?{groupby:r}:{})}}class fZ extends VY{constructor(t,e){super(t),this._stack=e}clone(){return new fZ(null,$z(this._stack))}static makeFromTransform(t,e){const{stack:n,groupby:r,as:i,offset:o="zero"}=e,a=[],s=[];if(void 0!==e.sort)for(const t of e.sort)a.push(t.field),s.push(uR(t.order,"ascending"));const u={field:a,order:s};let l;return l=function(t){return Object(K.A)(t)&&t.every(t=>Object(K.H)(t))&&t.length>1}(i)?i:Object(K.H)(i)?[i,i+"_end"]:[e.stack+"_start",e.stack+"_end"],new fZ(t,{stackField:n,groupby:r,offset:o,sort:u,facetby:[],as:l})}static makeFromEncoding(t,e){const n=e.stack,{encoding:r}=e;if(!n)return null;const{groupbyChannel:i,fieldChannel:o,offset:a,impute:s}=n;let u;if(i){u=Bq(r[i])}const l=function(t){return t.stack.stackBy.reduce((t,e)=>{const n=Cq(e.fieldDef);return n&&t.push(n),t},[])}(e),c=e.encoding.order;let f;return f=Object(K.A)(c)||yq(c)?sW(c):l.reduce((t,e)=>(t.field.push(e),t.order.push("y"===o?"descending":"ascending"),t),{field:[],order:[]}),new fZ(t,{dimensionFieldDef:u,stackField:e.vgField(o),facetby:[],stackby:l,sort:f,offset:a,impute:s,as:[e.vgField(o,{suffix:"start",forAs:!0}),e.vgField(o,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(t){this._stack.facetby.push(...t)}dependentFields(){const t=new Set;return t.add(this._stack.stackField),this.getGroupbyFields().forEach(t.add,t),this._stack.facetby.forEach(t.add,t),this._stack.sort.field.forEach(t.add,t),t}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${Rz(this._stack)}`}getGroupbyFields(){const{dimensionFieldDef:t,impute:e,groupby:n}=this._stack;return t?t.bin?e?[Cq(t,{binSuffix:"mid"})]:[Cq(t,{}),Cq(t,{binSuffix:"end"})]:[Cq(t)]:null!==n&&void 0!==n?n:[]}assemble(){const t=[],{facetby:e,dimensionFieldDef:n,stackField:r,stackby:i,sort:o,offset:a,impute:s,as:u}=this._stack;if(s&&n){const{band:o=.5,bin:a}=n;a&&t.push({type:"formula",expr:`${o}*`+Cq(n,{expr:"datum"})+`+${1-o}*`+Cq(n,{expr:"datum",binSuffix:"end"}),as:Cq(n,{binSuffix:"mid",forAs:!0})}),t.push({type:"impute",field:r,groupby:[...i,...e],key:Cq(n,{binSuffix:"mid"}),method:"value",value:0})}return t.push({type:"stack",groupby:[...this.getGroupbyFields(),...e],field:r,sort:o,as:u,offset:a}),t}}class dZ extends VY{constructor(t,e){super(t),this.transform=e}clone(){return new dZ(null,$z(this.transform))}addDimensions(t){this.transform.groupby=qz(this.transform.groupby.concat(t),t=>t)}dependentFields(){var t,e;const n=new Set;return(null!==(t=this.transform.groupby)&&void 0!==t?t:[]).forEach(n.add,n),(null!==(e=this.transform.sort)&&void 0!==e?e:[]).forEach(t=>n.add(t.field)),this.transform.window.map(t=>t.field).filter(t=>void 0!==t).forEach(n.add,n),n}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(t){var e;return null!==(e=t.as)&&void 0!==e?e:Cq(t)}hash(){return`WindowTransform ${Rz(this.transform)}`}assemble(){var t;const e=[],n=[],r=[],i=[];for(const t of this.transform.window)n.push(t.op),r.push(this.getDefaultName(t)),i.push(void 0===t.param?null:t.param),e.push(void 0===t.field?null:t.field);const o=this.transform.frame,a=this.transform.groupby;if(o&&null===o[0]&&null===o[1]&&n.every(t=>XR(t)))return Object.assign({type:"joinaggregate",as:r,ops:n,fields:e},void 0!==a?{groupby:a}:{});const s=[],u=[];if(void 0!==this.transform.sort)for(const e of this.transform.sort)s.push(e.field),u.push(null!==(t=e.order)&&void 0!==t?t:"ascending");const l={field:s,order:u},c=this.transform.ignorePeers;return Object.assign(Object.assign(Object.assign({type:"window",params:i,as:r,ops:n,fields:e,sort:l},void 0!==c?{ignorePeers:c}:{}),void 0!==a?{groupby:a}:{}),void 0!==o?{frame:o}:{})}}class hZ extends tZ{run(t){const e=t.parent;if(t instanceof uZ){if(QV(e))return this.flags;if(e.numChildren()>1)return this.setContinue(),this.flags;if(e instanceof uZ)this.setMutated(),e.merge(t);else{if(Yz(e.producedFields(),t.dependentFields()))return this.setContinue(),this.flags;this.setMutated(),t.swapWithParent()}}return this.setContinue(),this.flags}}class pZ extends eZ{mergeNodes(t,e){const n=e.shift();for(const r of e)t.removeChild(r),r.parent=n,r.remove()}run(t){const e=t.children.map(t=>t.hash()),n={};for(let r=0;r1&&(this.setMutated(),this.mergeNodes(t,n[e]));for(const e of t.children)this.run(e);return this.mutatedFlag}}class gZ extends tZ{run(t){return t instanceof ZY||t.numChildren()>0||t instanceof iZ?this.flags:(this.setMutated(),t.remove(),this.flags)}}class mZ extends tZ{constructor(){super(...arguments),this.fields=new Set,this.prev=null}run(t){if(this.setContinue(),t instanceof XY){const e=t.producedFields();Wz(e,this.fields)?(this.setMutated(),this.prev.remove()):this.fields=new Set([...this.fields,...e]),this.prev=t}return this.flags}reset(){this.fields.clear()}}class vZ extends tZ{run(t){this.setContinue();const e=t.parent.children.filter(t=>t instanceof XY),n=e.pop();for(const t of e)this.setMutated(),n.merge(t);return this.flags}}function yZ(t){if(t instanceof iZ)if(1!==t.numChildren()||t.children[0]instanceof ZY){const e=t.model.component.data.main;!function t(e){if(e instanceof ZY&&e.type===tY&&1===e.numChildren()){const n=e.children[0];n instanceof iZ||(n.swapWithParent(),t(e))}}(e);const n=function(t){return function e(n){if(!(n instanceof iZ)){const r=n.clone();if(r instanceof ZY){const e=kZ+r.getSource();r.setSource(e),t.model.component.data.outputNodes[e]=r}else(r instanceof rZ||r instanceof fZ||r instanceof dZ||r instanceof cZ)&&r.addDimensions(t.fields);for(const t of n.children.flatMap(e))t.parent=r;return[r]}return n.children.flatMap(e)}}(t),r=t.children.map(n).flat();for(const t of r)t.parent=e}else{const e=t.children[0];(e instanceof rZ||e instanceof fZ||e instanceof dZ||e instanceof cZ)&&e.addDimensions(t.fields),e.swapWithParent(),yZ(t)}else t.children.map(yZ)}class bZ extends eZ{constructor(){super()}run(t){t instanceof ZY&&!t.isRequired()&&(this.setMutated(),t.remove());for(const e of t.children)this.run(e);return this.mutatedFlag}}class xZ extends eZ{constructor(t){super(),this.requiresSelectionId=t&&DG(t)}run(t){t instanceof lZ&&(this.requiresSelectionId&&(QV(t.parent)||t.parent instanceof rZ||t.parent instanceof uZ)||(this.setMutated(),t.remove()));for(const e of t.children)this.run(e);return this.mutatedFlag}}class _Z extends tZ{run(t){const e=t.parent,n=[...e.children],r=e.children.filter(t=>t instanceof uZ);if(e.numChildren()>1&&r.length>=1){const t={},i=new Set;for(const e of r){const n=e.parse;for(const e of Vz(n))e in t?t[e]!==n[e]&&i.add(e):t[e]=n[e]}for(const e of i)delete t[e];if(!Gz(t)){this.setMutated();const r=new uZ(e,t);for(const i of n){if(i instanceof uZ)for(const e of Vz(t))delete i.parse[e];e.removeChild(i),i.parent=r,i instanceof uZ&&0===Vz(i.parse).length&&i.remove()}}}return this.setContinue(),this.flags}}class wZ extends tZ{run(t){const e=t.parent,n=e.children.filter(t=>t instanceof rZ),r={};for(const t of n){const e=Rz(t.groupBy);e in r||(r[e]=[]),r[e].push(t)}for(const t of Vz(r)){const n=r[t];if(n.length>1){const t=n.pop();for(const r of n)t.merge(r)&&(e.removeChild(r),r.parent=t,r.remove(),this.setMutated())}}return this.setContinue(),this.flags}}class OZ extends tZ{constructor(t){super(),this.model=t}run(t){const e=t.parent,n=!(QV(e)||e instanceof MG||e instanceof uZ||e instanceof lZ),r=[],i=[];for(const t of e.children)t instanceof GV&&(n&&!Yz(e.producedFields(),t.dependentFields())?r.push(t):i.push(t));if(r.length>0){const t=r.pop();for(const e of r)t.merge(e,this.model.renameSignal.bind(this.model));this.setMutated(),e instanceof GV?e.merge(t,this.model.renameSignal.bind(this.model)):t.swapWithParent()}if(i.length>1){const t=i.pop();for(const e of i)t.merge(e,this.model.renameSignal.bind(this.model));this.setMutated()}return this.setContinue(),this.flags}}class jZ extends tZ{run(t){const e=t.parent,n=[...e.children];if(!Bz(n,t=>t instanceof ZY)||e.numChildren()<=1)return this.setContinue(),this.flags;const r=[];let i;for(const t of n)if(t instanceof ZY){let n=t;for(;1===n.numChildren();){const t=n.children[0];if(!(t instanceof ZY))break;n=t}r.push(...n.children),i?(e.removeChild(t),t.parent=i.parent,i.parent.removeChild(i),i.parent=n,this.setMutated()):i=n}else r.push(t);if(r.length){this.setMutated();for(const t of r)t.parent.removeChild(t),t.parent=i}return this.setContinue(),this.flags}}const kZ="scale_",AZ=5;function EZ(t){const e=[];function n(t){if(0===t.numChildren())e.push(t);else for(const e of t.children)n(e)}for(const e of t)n(e);return e}function SZ(t){return t}function DZ(t,e){return e.map(e=>{if(t instanceof tZ){const n=t.optimizeNextFromLeaves(e);return t.reset(),n}return t.run(e)}).some(SZ)}function CZ(t,e){let n=t.sources;const r=new Set;return r.add(DZ(new bZ,n)),r.add(DZ(new xZ(e),n)),n=n.filter(t=>t.numChildren()>0),r.add(DZ(new gZ,EZ(n))),n=n.filter(t=>t.numChildren()>0),r.add(DZ(new hZ,EZ(n))),r.add(DZ(new OZ(e),EZ(n))),r.add(DZ(new mZ,EZ(n))),r.add(DZ(new _Z,EZ(n))),r.add(DZ(new wZ,EZ(n))),r.add(DZ(new vZ,EZ(n))),r.add(DZ(new pZ,n)),r.add(DZ(new jZ,EZ(n))),t.sources=n,r.has(!0)}class MZ{constructor(t){Object.defineProperty(this,"signal",{enumerable:!0,get:t})}static fromName(t,e){return new MZ(()=>t(e))}}function FZ(t){oX(t)?function(t){const e=t.component.scales;for(const n of Vz(e)){const r=$Z(t,n),i=e[n];if(i.setWithExplicit("domains",r),RZ(t,n),t.component.data.isFaceted){let e=t;for(;!aX(e)&&e.parent;)e=e.parent;const i=e.component.resolve.scale[n];if("shared"===i)for(const t of r.value)PI(t)&&(t.data=kZ+t.data.replace(kZ,""))}}}(t):function(t){for(const e of t.children)FZ(e);const e=t.component.scales;for(const n of Vz(e)){let r,i=null;for(const e of t.children){const t=e.component.scales[n];if(t){r=void 0===r?t.getWithExplicit("domains"):HH(r,t.getWithExplicit("domains"),"domains","scale",LZ);const e=t.get("selectionExtent");i&&e&&i.selection!==e.selection&&bI("The same selection must be used to override scale domains in a layered view."),i=e}}e[n].setWithExplicit("domains",r),i&&e[n].set("selectionExtent",i,!0)}}(t)}function $Z(t,e){const n=t.getScaleComponent(e).get("type"),{encoding:r}=t,i=function(t,e,n,r){if("unaggregated"===t){const{valid:t,reason:r}=PZ(e,n);if(!t)return void bI(r)}else if(void 0===t&&r.useUnaggregatedDomain){const{valid:t}=PZ(e,n);if(t)return"unaggregated"}return t}(t.scaleDomain(e),t.typedFieldDef(e),n,t.config.scale);return i!==t.scaleDomain(e)&&(t.specifiedScales[e]=Object.assign(Object.assign({},t.specifiedScales[e]),{domain:i})),"x"===e&&Iq(r.x2)?Iq(r.x)?HH(TZ(n,i,t,"x"),TZ(n,i,t,"x2"),"domain","scale",LZ):TZ(n,i,t,"x2"):"y"===e&&Iq(r.y2)?Iq(r.y)?HH(TZ(n,i,t,"y"),TZ(n,i,t,"y2"),"domain","scale",LZ):TZ(n,i,t,"y2"):TZ(n,i,t,e)}function NZ(t,e,n){var r;const i=null===(r=TI(n))||void 0===r?void 0:r.unit;return"temporal"===e||i?function(t,e,n){return t.map(t=>({signal:`{data: ${Vq(t,{timeUnit:n,type:e})}}`}))}(t,e,i):[t]}function TZ(t,e,n,r){const{encoding:i}=n,o=Iq(i[r]),{type:a}=o,s=o.timeUnit;if(function(t){return t&&t.unionWith}(e)){const i=TZ(t,void 0,n,r),o=NZ(e.unionWith,a,s);return IH([...i.value,...o])}if(zI(e))return IH([e]);if(e&&"unaggregated"!==e&&!jU(e))return IH(NZ(e,a,s));const u=n.stack;if(u&&r===u.fieldChannel){if("normalize"===u.offset)return UH([[0,1]]);const t=n.requestDataName(tY);return UH([{data:t,field:n.vgField(r,{suffix:"start"})},{data:t,field:n.vgField(r,{suffix:"end"})}])}const l=LL(r)&&yq(o)?function(t,e,n){if(!xU(n))return;const r=t.fieldDef(e),i=r.sort;if(sq(i))return{op:"min",field:JG(r,e),order:"ascending"};const{stack:o}=t,a=o?[...o.groupbyField?[o.groupbyField]:[],...o.stackBy.map(t=>t.fieldDef.field)]:void 0;if(aq(i)){const t=o&&!Lz(a,i.field);return zZ(i,t)}if(oq(i)){const{encoding:e,order:n}=i,r=t.fieldDef(e),{aggregate:s,field:u}=r,l=o&&!Lz(a,u);if(VR(s)||ZR(s))return zZ({field:Cq(r),order:n},l);if(XR(s)||!s)return zZ({op:s,field:u,order:n},l)}else{if("descending"===i)return{op:"min",field:t.vgField(e),order:"descending"};if(Lz(["ascending",void 0],i))return!0}return}(n,r,t):void 0;if(xq(o)){return UH(NZ([o.datum],a,s))}const c=o;if("unaggregated"===e){const t=n.requestDataName(tY),{field:e}=o;return UH([{data:t,field:Cq({field:e,aggregate:"min"})},{data:t,field:Cq({field:e,aggregate:"max"})}])}if(YL(c.bin)){if(xU(t))return UH("bin-ordinal"===t?[]:[{data:Jz(l)?n.requestDataName(tY):n.requestDataName(eY),field:n.vgField(r,Xq(c,r)?{binSuffix:"range"}:{}),sort:!0!==l&&Object(K.F)(l)?l:{field:n.vgField(r,{}),op:"min"}}]);{const{bin:t}=c;if(YL(t)){const e=HV(n,c.field,t);return UH([new MZ(()=>{const t=n.getSignalName(e);return`[${t}.start, ${t}.stop]`})])}return UH([{data:n.requestDataName(tY),field:n.vgField(r,{})}])}}if(c.timeUnit&&Lz(["time","utc"],t)&&pq(r,c,oX(n)?n.encoding[oL(r)]:void 0,n.stack,n.markDef,n.config)){const t=n.requestDataName(tY);return UH([{data:t,field:n.vgField(r)},{data:t,field:n.vgField(r,{suffix:"end"})}])}return UH(l?[{data:Jz(l)?n.requestDataName(tY):n.requestDataName(eY),field:n.vgField(r),sort:l}]:[{data:n.requestDataName(tY),field:n.vgField(r)}])}function zZ(t,e){const{op:n,field:r,order:i}=t;return Object.assign(Object.assign({op:null!==n&&void 0!==n?n:e?"sum":nq},r?{field:iR(r)}:{}),i?{order:i}:{})}function RZ(t,e){var n;const r=t.component.scales[e],i=t.specifiedScales[e].domain,o=null===(n=t.fieldDef(e))||void 0===n?void 0:n.bin,a=jU(i)&&i,s=VL(o)&&ZL(o.extent)&&o.extent;(a||s)&&r.set("selectionExtent",null!==a&&void 0!==a?a:s,!0)}function PZ(t,e){const{aggregate:n,type:r}=t;return n?Object(K.H)(n)&&!tP[n]?{valid:!1,reason:v.unaggregateDomainWithNonSharedDomainOp(n)}:"quantitative"===r&&"log"===e?{valid:!1,reason:v.unaggregatedDomainWithLogScale(t)}:{valid:!0}:{valid:!1,reason:v.unaggregateDomainHasNoEffectForRawField(t)}}function LZ(t,e,n,r){return t.explicit&&e.explicit&&bI(v.mergeConflictingDomainProperty(n,r,t.value,e.value)),{explicit:t.explicit,value:[...t.value,...e.value]}}function BZ(t){if(PI(t)&&Object(K.H)(t.field))return t.field;if(function(t){return!Object(K.A)(t)&&"fields"in t&&!("data"in t)}(t)){let e;for(const n of t.fields)if(PI(n)&&Object(K.H)(n.field))if(e){if(e!==n.field)return bI(v.FACETED_INDEPENDENT_DIFFERENT_SOURCES),e}else e=n.field;return bI(v.FACETED_INDEPENDENT_SAME_FIELDS_DIFFERENT_SOURCES),e}if(function(t){return!Object(K.A)(t)&&"fields"in t&&"data"in t}(t)){bI(v.FACETED_INDEPENDENT_SAME_SOURCE);const e=t.fields[0];return Object(K.H)(e)?e:void 0}}function IZ(t,e){return function(t){const e=qz(t.map(t=>{if(PI(t)){const{sort:e}=t;return wz(t,["sort"])}return t}),Rz),n=qz(t.map(t=>{if(PI(t)){const e=t.sort;return void 0===e||Jz(e)||("op"in e&&"count"===e.op&&delete e.field,"ascending"===e.order&&delete e.order),e}}).filter(t=>void 0!==t),Rz);if(0===e.length)return;if(1===e.length){const e=t[0];if(PI(e)&&n.length>0){let t=n[0];if(n.length>1)bI(v.MORE_THAN_ONE_SORT),t=!0;else if(Object(K.F)(t)&&"field"in t){const n=t.field;e.field===n&&(t=!t.order||{order:t.order})}return Object.assign(Object.assign({},e),{sort:t})}return e}const r=qz(n.map(t=>Jz(t)||!("op"in t)||t.op in GR?t:(bI(v.domainSortDropped(t)),!0)),Rz);let i;1===r.length?i=r[0]:r.length>1&&(bI(v.MORE_THAN_ONE_SORT),i=!0);const o=qz(t.map(t=>PI(t)?t.data:null),t=>t);if(1===o.length&&null!==o[0])return Object.assign({data:o[0],fields:e.map(t=>t.field)},i?{sort:i}:{});return Object.assign({fields:e},i?{sort:i}:{})}(t.component.scales[e].get("domains").map(e=>(PI(e)&&(e.data=t.lookupDataSource(e.data)),e)))}function UZ(t){return Vz(t.component.scales).reduce((e,n)=>{const r=t.component.scales[n];if(r.merged)return e;const i=r.combine(),{name:o,type:a,selectionExtent:s,domains:u,range:l,reverse:c}=i,f=wz(i,["name","type","selectionExtent","domains","range","reverse"]),d=function(t,e,n){if(OL(n)&&RI(t))return{step:{signal:e+"_step"}};return t}(i.range,o,n);let h;s&&(h=function(t,e){const n=e.selection;return{signal:$G(t.getSelectionComponent(n,Qz(n)),e)}}(t,s));const p=IZ(t,n);return e.push(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:o,type:a},p?{domain:p}:{}),h?{domainRaw:h}:{}),{range:d}),void 0!==c?{reverse:c}:{}),f)),e},[])}class qZ extends BH{constructor(t,e){super({},{name:t}),this.merged=!1,this.setWithExplicit("type",e)}domainDefinitelyIncludesZero(){return!1!==this.get("zero")||Bz(this.get("domains"),t=>Object(K.A)(t)&&2===t.length&&t[0]<=0&&t[1]>=0)}}const WZ=["range","scheme"];function HZ(t){return"x"===t?"width":"y"===t?"height":void 0}function YZ(t,e){const n=t.fieldDef(e);if(n&&n.bin&&YL(n.bin)){const r=HV(t,n.field,n.bin),i=HZ(e),o=t.getName(i);return new MZ(()=>{const e=t.getSignalName(r),n=`(${e}.stop - ${e}.start) / ${e}.step`;return`${t.getSignalName(o)} / (${n})`})}}function GZ(t,e){const n=e.specifiedScales[t],{size:r}=e,i=e.getScaleComponent(t).get("type");for(const r of WZ)if(void 0!==n[r]){const o=FU(i,r),a=$U(t,r);if(o)if(a)bI(a);else switch(r){case"range":return Object(K.A)(n.range)&&OL(t)?IH(n.range.map(t=>{if("width"===t||"height"===t){const n=e.getName(t),r=e.getSignalName.bind(e);return MZ.fromName(r,n)}return t})):IH(n.range);case"scheme":return IH(VZ(n[r]))}else bI(v.scalePropertyNotWorkWithScaleType(i,r,t))}if(t===iP||t===oP){const e=t===iP?"width":"height",n=r[e];if(QW(n)){if(xU(i))return IH({step:n.step});bI(v.stepDropped(e))}}return UH(function(t,e){const{size:n,config:r,mark:i,encoding:o}=e,a=e.getSignalName.bind(e),{type:s}=Iq(o[t]),u=e.getScaleComponent(t).get("type"),{domain:l,domainMid:c}=e.specifiedScales[t];switch(t){case iP:case oP:{if(Lz(["point","band"],u))if(t!==iP||n.width){if(t===oP&&!n.height){const t=rH(r.view,"height");if(QW(t))return t}}else{const t=rH(r.view,"width");if(QW(t))return t}const i=HZ(t),o=e.getName(i);return t===oP&&_U(u)?[MZ.fromName(a,o),0]:[0,MZ.fromName(a,o)]}case xP:{const o=e.component.scales[t].get("zero"),a=function t(e,n,r){if(n)return zI(n)?{signal:`${n.signal} ? 0 : ${t(e,!1,r)}`}:0;switch(e){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 new Error(v.incompatibleChannel("size",e))}(i,o,r),s=function(t,e,n,r){const i={x:YZ(n,"x"),y:YZ(n,"y")};switch(t){case"bar":case"tick":{if(void 0!==r.scale.maxBandSize)return r.scale.maxBandSize;const t=XZ(e,i,r.view);return Object(K.E)(t)?t-1:new MZ(()=>`${t.signal} - 1`)}case"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;const t=XZ(e,i,r.view);return Object(K.E)(t)?Math.pow(ZZ*t,2):new MZ(()=>`pow(${ZZ} * ${t.signal}, 2)`)}}throw new Error(v.incompatibleChannel("size",t))}(i,n,e,r);return OU(u)?function(t,e,n){const r=()=>{const r=eW(e),i=eW(t),o=`(${r} - ${i}) / (${n} - 1)`;return`sequence(${i}, ${r} + ${o}, ${o})`};return zI(e)?new MZ(r):{signal:r()}}(a,s,function(t,e,n,r){switch(t){case"quantile":return e.scale.quantileCount;case"quantize":return e.scale.quantizeCount;case"threshold":return void 0!==n&&Object(K.A)(n)?n.length+1:(bI(v.domainRequiredForThresholdScale(r)),3)}}(u,r,l,t)):[a,s]}case cP:return[0,2*Math.PI];case _P:return[0,360];case uP:return[0,new MZ(()=>{const t=e.getSignalName("width"),n=e.getSignalName("height");return`min(${t},${n})/2`})];case kP:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case AP:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case bP:return"symbol";case mP:case vP:case yP:return"ordinal"===u?"nominal"===s?"category":"ordinal":void 0!==c?"diverging":"rect"===i||"geoshape"===i?"heatmap":"ramp";case wP:case OP:case jP:return[r.scale.minOpacity,r.scale.maxOpacity]}throw new Error(`Scale range undefined for channel ${t}`)}(t,e))}function VZ(t){return function(t){return!Object(K.H)(t)&&!!t.name}(t)?Object.assign({scheme:t.name},Tz(t,["name"])):{scheme:t}}const ZZ=.95;function XZ(t,e,n){const r=QW(t.width)?t.width.step:nH(n,"width"),i=QW(t.height)?t.height.step:nH(n,"height");return e.x||e.y?new MZ(()=>{return`min(${[e.x?e.x.signal:r,e.y?e.y.signal:i].join(", ")})`}):Math.min(r,i)}function JZ(t,e){oX(t)?function(t,e){const n=t.component.scales,{config:r,encoding:i,markDef:o,specifiedScales:a}=t;for(const s of Vz(n)){const u=a[s],l=n[s],c=t.getScaleComponent(s),f=Iq(i[s]),d=u[e],h=c.get("type"),p=c.get("padding"),g=c.get("paddingInner"),m=FU(h,e),y=$U(s,e);if(void 0!==d&&(m?y&&bI(y):bI(v.scalePropertyNotWorkWithScaleType(h,e,s))),m&&void 0===y)if(void 0!==d)l.copyKeyFromObject(e,u);else{const n=e in QZ?QZ[e]({model:t,channel:s,fieldOrDatumDef:f,scaleType:h,scalePadding:p,scalePaddingInner:g,domain:u.domain,markDef:o,config:r}):r.scale[e];void 0!==n&&l.set(e,n,!1)}}}(t,e):tX(t,e)}const QZ={bins:({model:t,fieldOrDatumDef:e})=>yq(e)?function(t,e){const n=e.bin;if(YL(n)){const r=HV(t,e.field,n);return new MZ(()=>t.getSignalName(r))}if(GL(n)&&VL(n)&&void 0!==n.step)return{step:n.step};return}(t,e):void 0,interpolate:({channel:t,fieldOrDatumDef:e})=>(function(t,e){if(Lz([mP,vP,yP],t)&&"nominal"!==e)return"hcl";return})(t,e.type),nice:({scaleType:t,channel:e,fieldOrDatumDef:n})=>(function(t,e,n){var r;if((null===(r=Bq(n))||void 0===r?void 0:r.bin)||Lz([sU.TIME,sU.UTC],t))return;return e in _L||void 0})(t,e,n),padding:({channel:t,scaleType:e,fieldOrDatumDef:n,markDef:r,config:i})=>(function(t,e,n,r,i,o){if(t in _L){if(wU(e)){if(void 0!==n.continuousPadding)return n.continuousPadding;const{type:e,orient:a}=i;if("bar"===e&&(!yq(r)||!r.bin&&!r.timeUnit)&&("vertical"===a&&"x"===t||"horizontal"===a&&"y"===t))return o.continuousBandSize}if(e===sU.POINT)return n.pointPadding}return})(t,e,i.scale,n,r,i.bar),paddingInner:({scalePadding:t,channel:e,markDef:n,config:r})=>(function(t,e,n,r){if(void 0!==t)return;if(e in _L){const{bandPaddingInner:t,barBandPaddingInner:e,rectBandPaddingInner:i}=r;return uR(t,"bar"===n?e:i)}return})(t,e,n.type,r.scale),paddingOuter:({scalePadding:t,channel:e,scaleType:n,markDef:r,scalePaddingInner:i,config:o})=>(function(t,e,n,r,i,o){if(void 0!==t)return;if(e in _L&&n===sU.BAND){const{bandPaddingOuter:t}=o;return uR(t,zI(i)?{signal:`${i.signal}/2`}:i/2)}return})(t,e,n,r.type,i,o.scale),reverse:({fieldOrDatumDef:t,scaleType:e,channel:n,config:r})=>{return function(t,e,n,r){if("x"===n&&void 0!==r.xReverse)return _U(t)&&"descending"===e?zI(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(_U(t)&&"descending"===e)return!0;return}(e,yq(t)?t.sort:void 0,n,r.scale)},zero:({channel:t,fieldOrDatumDef:e,domain:n,markDef:r,scaleType:i})=>(function(t,e,n,r,i){if(n&&"unaggregated"!==n&&_U(i)){if(Object(K.A)(n)){const t=n[0],e=n[n.length-1];if(t<=0&&e>=0)return!0}return!1}if("size"===t&&"quantitative"===e.type&&!OU(i))return!0;if((!yq(e)||!e.bin)&&Lz([...wL,...kL],t)){const{orient:e,type:n}=r;return!Lz(["bar","area","line","trail"],n)||!("horizontal"===e&&"y"===t||"vertical"===e&&"x"===t)}return!1})(t,e,n,r,i)};function KZ(t){oX(t)?function(t){const e=t.component.scales;for(const n of PL){const r=e[n];if(!r)continue;const i=GZ(n,t);r.setWithExplicit("range",i)}}(t):tX(t,"range")}function tX(t,e){const n=t.component.scales;for(const n of t.children)"range"===e?KZ(n):JZ(n,e);for(const r of Vz(n)){let i;for(const n of t.children){const t=n.component.scales[r];if(t){i=HH(i,t.getWithExplicit(e),e,"scale",qH((t,n)=>{switch(e){case"range":return t.step&&n.step?t.step-n.step:0}return 0}))}}n[r].setWithExplicit(e,i)}}function eX(t,e,n,r){const i=function(t,e,n){var r;switch(e.type){case"nominal":case"ordinal":if(BP(t)||"discrete"===WL(t))return"shape"===t&&"ordinal"===e.type&&bI(v.discreteChannelCannotEncode(t,"ordinal")),"ordinal";if(t in _L){if(Lz(["rect","bar","image","rule"],n))return"band"}else if("arc"===n&&t in jL)return"band";return void 0!==e.band||Eq(e)&&(null===(r=e.axis)||void 0===r?void 0:r.tickBand)?"band":"point";case"temporal":return BP(t)?"time":"discrete"===WL(t)?(bI(v.discreteChannelCannotEncode(t,"temporal")),"ordinal"):yq(e)&&e.timeUnit&&TI(e.timeUnit).utc?"utc":"time";case"quantitative":return BP(t)?yq(e)&&YL(e.bin)?"bin-ordinal":"linear":"discrete"===WL(t)?(bI(v.discreteChannelCannotEncode(t,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(v.invalidFieldType(e.type))}(e,n,r),{type:o}=t;return LL(e)?void 0!==o?TU(e,o)?yq(n)&&!NU(o,n.type)?(bI(v.scaleTypeNotWorkWithFieldDef(o,i)),i):o:(bI(v.scaleTypeNotWorkWithChannel(e,o,i)),i):i:null}function nX(t){oX(t)?t.component.scales=function(t){const{encoding:e,mark:n}=t;return PL.reduce((r,i)=>{const o=Iq(e[i]);if(o&&n===NR&&i===bP&&o.type===oU)return r;let a=o&&o.scale;if(o&&null!==a&&!1!==a){const e=eX(a=null!==a&&void 0!==a?a:{},i,o,n);r[i]=new qZ(t.scaleName(i+"",!0),{value:e,explicit:a.type===e})}return r},{})}(t):t.component.scales=function(t){var e;const n=t.component.scales={},r={},i=t.component.resolve;for(const n of t.children){nX(n);for(const o of Vz(n.component.scales))if(i.scale[o]=null!==(e=i.scale[o])&&void 0!==e?e:yV(o,t),"shared"===i.scale[o]){const t=r[o],e=n.component.scales[o].getWithExplicit("type");t?cU(t.value,e.value)?r[o]=HH(t,e,"type","scale",rX):(i.scale[o]="independent",delete r[o]):r[o]=e}}for(const e of Vz(r)){const i=t.scaleName(e,!0),o=r[e];n[e]=new qZ(i,o);for(const n of t.children){const t=n.component.scales[e];t&&(n.renameScale(t.get("name"),i),t.merged=!0)}}return n}(t)}const rX=qH((t,e)=>dU(t)-dU(e));class iX{constructor(){this.nameMap={}}rename(t,e){this.nameMap[t]=e}has(t){return void 0!==this.nameMap[t]}get(t){for(;this.nameMap[t]&&t!==this.nameMap[t];)t=this.nameMap[t];return t}}function oX(t){return"unit"===(null===t||void 0===t?void 0:t.type)}function aX(t){return"facet"===(null===t||void 0===t?void 0:t.type)}function sX(t){return"concat"===(null===t||void 0===t?void 0:t.type)}function uX(t){return"layer"===(null===t||void 0===t?void 0:t.type)}class lX{constructor(t,e,n,r,i,o,a){var s,u;this.type=e,this.parent=n,this.config=i,this.view=a,this.children=[],this.correctDataNames=(t=>(t.from&&t.from.data&&(t.from.data=this.lookupDataSource(t.from.data)),t.from&&t.from.facet&&t.from.facet.data&&(t.from.facet.data=this.lookupDataSource(t.from.facet.data)),t)),this.parent=n,this.config=i,this.name=null!==(s=t.name)&&void 0!==s?s:r,this.title=Qq(t.title)?{text:t.title}:t.title,this.scaleNameMap=n?n.scaleNameMap:new iX,this.projectionNameMap=n?n.projectionNameMap:new iX,this.signalNameMap=n?n.signalNameMap:new iX,this.data=t.data,this.description=t.description,this.transforms=xY(null!==(u=t.transform)&&void 0!==u?u:[]),this.layout="layer"===e||"unit"===e?{}:function(t,e,n){var r,i;const o=n[e],a={},{spacing:s,columns:u}=o;void 0!==s&&(a.spacing=s),void 0!==u&&(cq(t)&&!uq(t.facet)||ZW(t))&&(a.columns=u),XW(t)&&(a.columns=1);for(const e of tH)if(void 0!==t[e])if("spacing"===e){const n=t[e];a[e]=Object(K.E)(n)?n:{row:null!==(r=n.row)&&void 0!==r?r:s,column:null!==(i=n.column)&&void 0!==i?i:s}}else a[e]=t[e];return a}(t,e,i),this.component={data:{sources:n?n.component.data.sources:[],outputNodes:n?n.component.data.outputNodes:{},outputNodeRefCounts:n?n.component.data.outputNodeRefCounts:{},isFaceted:cq(t)||n&&n.component.data.isFaceted&&void 0===t.data},layoutSize:new BH,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:Object.assign({scale:{},axis:{},legend:{}},o?$z(o):{}),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(t,{ignoreRange:e}={}){nX(t),FZ(t);for(const e of MU)JZ(t,e);e||KZ(t)}(this)}parseProjection(){qV(this)}renameTopLevelLayoutSizeSignal(){"width"!==this.getName("width")&&this.renameSignal(this.getName("width"),"width"),"height"!==this.getName("height")&&this.renameSignal(this.getName("height"),"height")}parseLegends(){FV(this)}assembleGroupStyle(){var t,e;if("unit"===this.type||"layer"===this.type)return null!==(e=null===(t=this.view)||void 0===t?void 0:t.style)&&void 0!==e?e:"cell"}assembleEncodeFromView(t){const{style:e}=t,n=wz(t,["style"]),r={};for(const t of Vz(n)){const e=n[t];void 0!==e&&(r[t]=Kq(e))}return r}assembleGroupEncodeEntry(t){let e={};return this.view&&(e=this.assembleEncodeFromView(this.view)),t||(this.description&&(e.description=Kq(this.description)),"unit"!==this.type&&"layer"!==this.type)?Gz(e)?void 0:e:Object.assign({width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")},null!==e&&void 0!==e?e:{})}assembleLayout(){if(!this.layout)return;const t=this.layout,{spacing:e}=t,n=wz(t,["spacing"]),{component:r,config:i}=this,o=function(t,e){const n={};for(const r of UP){const i=t[r];if(null===i||void 0===i?void 0:i.facetFieldDef){const{titleAnchor:t,titleOrient:o}=tV(["titleAnchor","titleOrient"],i.facetFieldDef,e,r),a=QG(r,o),s=cV(t,a);void 0!==s&&(n[a]=s)}}return Gz(n)?void 0:n}(r.layoutHeaders,i);return Object.assign(Object.assign(Object.assign({padding:e},this.assembleDefaultLayout()),n),o?{titleBand:o}:{})}assembleDefaultLayout(){return{}}assembleHeaderMarks(){const{layoutHeaders:t}=this.component;let e=[];for(const n of UP)t[n].title&&e.push(rV(this,n));for(const t of eV)e=e.concat(aV(this,t));return e}assembleAxes(){return function(t,e){const{x:n=[],y:r=[]}=t;return[...n.map(t=>zG(t,"grid",e)),...r.map(t=>zG(t,"grid",e)),...n.map(t=>zG(t,"main",e)),...r.map(t=>zG(t,"main",e))].filter(t=>t)}(this.component.axes,this.config)}assembleLegends(){return PV(this)}assembleProjections(){return LV(this)}assembleTitle(){var t,e,n;const r=null!==(t=this.title)&&void 0!==t?t:{},{encoding:i}=r,o=wz(r,["encoding"]),a=Object.assign(Object.assign(Object.assign({},Jq(this.config.title).nonMark),o),i?{encode:{update:i}}:{});if(a.text)return Lz(["unit","layer"],this.type)?Lz(["middle",void 0],a.anchor)&&(a.frame=null!==(e=a.frame)&&void 0!==e?e:"group"):a.anchor=null!==(n=a.anchor)&&void 0!==n?n:"start",Gz(a)?void 0:a}assembleGroup(t=[]){const e={};(t=t.concat(this.assembleSignals())).length>0&&(e.signals=t);const n=this.assembleLayout();n&&(e.layout=n),e.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());const r=!this.parent||aX(this.parent)?function t(e){return uX(e)||sX(e)?e.children.reduce((e,n)=>e.concat(t(n)),UZ(e)):UZ(e)}(this):[];r.length>0&&(e.scales=r);const i=this.assembleAxes();i.length>0&&(e.axes=i);const o=this.assembleLegends();return o.length>0&&(e.legends=o),e}getName(t){return Qz((this.name?this.name+"_":"")+t)}requestDataName(t){var e;const n=this.getName(t),r=this.component.data.outputNodeRefCounts;return r[n]=(null!==(e=r[n])&&void 0!==e?e:0)+1,n}getSizeSignalRef(t){if(aX(this.parent)){const e=AL(mV(t)),n=this.component.scales[e];if(n&&!n.merged){const t=n.get("type"),r=n.get("range");if(xU(t)&&RI(r)){const t=n.get("name"),r=BZ(IZ(this,e));if(r){return{signal:gV(t,n,Cq({aggregate:"distinct",field:r},{expr:"datum"}))}}return bI(`Unknown field for ${e}. Cannot calculate view size.`),null}}}return{signal:this.signalNameMap.get(this.getName(t))}}lookupDataSource(t){const e=this.component.data.outputNodes[t];return e?e.getSource():t}getSignalName(t){return this.signalNameMap.get(t)}renameSignal(t,e){this.signalNameMap.rename(t,e)}renameScale(t,e){this.scaleNameMap.rename(t,e)}renameProjection(t,e){this.projectionNameMap.rename(t,e)}scaleName(t,e){return e?this.getName(t):tL(t)&&LL(t)&&this.component.scales[t]||this.scaleNameMap.has(this.getName(t))?this.scaleNameMap.get(this.getName(t)):void 0}projectionName(t){return t?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(t){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");const e=this.component.scales[t];return e&&!e.merged?e:this.parent?this.parent.getScaleComponent(t):void 0}getSelectionComponent(t,e){let n=this.component.selection[t];if(!n&&this.parent&&(n=this.parent.getSelectionComponent(t,e)),!n)throw new Error(v.selectionNotFound(e));return n}hasAxisOrientSignalRef(){var t,e;return(null===(t=this.component.axes.x)||void 0===t?void 0:t.some(t=>t.hasOrientSignalRef()))||(null===(e=this.component.axes.y)||void 0===e?void 0:e.some(t=>t.hasOrientSignalRef()))}}class cX extends lX{vgField(t,e={}){const n=this.fieldDef(t);if(n)return Cq(n,e)}reduceFieldDef(t,e){return mW(this.getMapping(),(e,n,r)=>{const i=Bq(n);return i?t(e,i,r):e},e)}forEachFieldDef(t,e){gW(this.getMapping(),(e,n)=>{const r=Bq(e);r&&t(r,n)},e)}}class fX extends VY{constructor(t,e){var n,r,i;super(t),this.transform=e,this.transform=$z(e);const o=null!==(n=this.transform.as)&&void 0!==n?n:[void 0,void 0];this.transform.as=[null!==(r=o[0])&&void 0!==r?r:"value",null!==(i=o[1])&&void 0!==i?i:"density"]}clone(){return new fX(null,$z(this.transform))}dependentFields(){var t;return new Set([this.transform.density,...null!==(t=this.transform.groupby)&&void 0!==t?t:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${Rz(this.transform)}`}assemble(){const t=this.transform,{density:e}=t,n=wz(t,["density"]);return Object.assign({type:"kde",field:e},n)}}class dX extends VY{constructor(t,e){super(t),this.filter=e}clone(){return new dX(null,Object.assign({},this.filter))}static make(t,e){const{config:n,mark:r,markDef:i}=e;if("filter"!==rW("invalid",i,n))return null;const o=e.reduceFieldDef((t,n,i)=>{const o=LL(i)&&e.getScaleComponent(i);if(o){_U(o.get("type"))&&"count"!==n.aggregate&&!TR(r)&&(t[n.field]=n)}return t},{});return Vz(o).length?new dX(t,o):null}dependentFields(){return new Set(Vz(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${Rz(this.filter)}`}assemble(){const t=Vz(this.filter).reduce((t,e)=>{const n=this.filter[e],r=Cq(n,{expr:"datum"});return null!==n&&("temporal"===n.type?t.push(`(isDate(${r}) || (isValid(${r}) && isFinite(+${r})))`):"quantitative"===n.type&&(t.push(`isValid(${r})`),t.push(`isFinite(+${r})`))),t},[]);return t.length>0?{type:"filter",expr:t.join(" && ")}:null}}class hX extends VY{constructor(t,e){super(t),this.transform=e,this.transform=$z(e);const{flatten:n,as:r=[]}=this.transform;this.transform.as=n.map((t,e)=>{var n;return null!==(n=r[e])&&void 0!==n?n:t})}clone(){return new hX(this.parent,$z(this.transform))}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${Rz(this.transform)}`}assemble(){const{flatten:t,as:e}=this.transform;return{type:"flatten",fields:t,as:e}}}class pX extends VY{constructor(t,e){var n,r,i;super(t),this.transform=e,this.transform=$z(e);const o=null!==(n=this.transform.as)&&void 0!==n?n:[void 0,void 0];this.transform.as=[null!==(r=o[0])&&void 0!==r?r:"key",null!==(i=o[1])&&void 0!==i?i:"value"]}clone(){return new pX(null,$z(this.transform))}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${Rz(this.transform)}`}assemble(){const{fold:t,as:e}=this.transform;return{type:"fold",fields:t,as:e}}}class gX extends VY{constructor(t,e,n,r){super(t),this.fields=e,this.geojson=n,this.signal=r}clone(){return new gX(null,$z(this.fields),this.geojson,this.signal)}static parseAll(t,e){if(e.component.projection&&!e.component.projection.isFit)return t;let n=0;for(const r of[[hP,dP],[gP,pP]]){const i=r.map(t=>{const n=Iq(e.encoding[t]);return yq(n)?n.field:xq(n)?{expr:`${n.datum}`}:kq(n)?{expr:`${n.value}`}:void 0});(i[0]||i[1])&&(t=new gX(t,i,null,e.getName(`geojson_${n++}`)))}if(e.channelHasField(bP)){const r=e.typedFieldDef(bP);r.type===oU&&(t=new gX(t,null,r.field,e.getName(`geojson_${n++}`)))}return t}dependentFields(){var t;const e=(null!==(t=this.fields)&&void 0!==t?t:[]).filter(K.H);return new Set([...this.geojson?[this.geojson]:[],...e])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${Rz(this.fields)}`}assemble(){return Object.assign(Object.assign(Object.assign({type:"geojson"},this.fields?{fields:this.fields}:{}),this.geojson?{geojson:this.geojson}:{}),{signal:this.signal})}}class mX extends VY{constructor(t,e,n,r){super(t),this.projection=e,this.fields=n,this.as=r}clone(){return new mX(null,this.projection,$z(this.fields),$z(this.as))}static parseAll(t,e){if(!e.projectionName())return t;for(const n of[[hP,dP],[gP,pP]]){const r=n.map(t=>{const n=Iq(e.encoding[t]);return yq(n)?n.field:xq(n)?{expr:`${n.datum}`}:kq(n)?{expr:`${n.value}`}:void 0}),i=n[0]===gP?"2":"";(r[0]||r[1])&&(t=new mX(t,e.projectionName(),r,[e.getName("x"+i),e.getName("y"+i)]))}return t}dependentFields(){return new Set(this.fields.filter(K.H))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${Rz(this.fields)} ${Rz(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class vX extends VY{constructor(t,e){super(t),this.transform=e}clone(){return new vX(null,$z(this.transform))}dependentFields(){var t;return new Set([this.transform.impute,this.transform.key,...null!==(t=this.transform.groupby)&&void 0!==t?t:[]])}producedFields(){return new Set([this.transform.impute])}processSequence(t){const{start:e=0,stop:n,step:r}=t;return{signal:`sequence(${[e,n,...r?[r]:[]].join(",")})`}}static makeFromTransform(t,e){return new vX(t,e)}static makeFromEncoding(t,e){const n=e.encoding,r=n.x,i=n.y;if(yq(r)&&yq(i)){const o=r.impute?r:i.impute?i:void 0;if(void 0===o)return;const a=r.impute?i:i.impute?r:void 0,{method:s,value:u,frame:l,keyvals:c}=o.impute,f=vW(e.mark,n);return new vX(t,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({impute:o.field,key:a.field},s?{method:s}:{}),void 0!==u?{value:u}:{}),l?{frame:l}:{}),void 0!==c?{keyvals:c}:{}),f.length?{groupby:f}:{}))}return null}hash(){return`Impute ${Rz(this.transform)}`}assemble(){const{impute:t,key:e,keyvals:n,method:r,groupby:i,value:o,frame:a=[null,null]}=this.transform,s=Object.assign(Object.assign(Object.assign(Object.assign({type:"impute",field:t,key:e},n?{keyvals:function(t){return void 0!==(null===t||void 0===t?void 0:t.stop)}(n)?this.processSequence(n):n}:{}),{method:"value"}),i?{groupby:i}:{}),{value:r&&"value"!==r?null:o});if(r&&"value"!==r){return[s,Object.assign({type:"window",as:[`imputed_${t}_value`],ops:[r],fields:[t],frame:a,ignorePeers:!1},i?{groupby:i}:{}),{type:"formula",expr:`datum.${t} === null ? datum.imputed_${t}_value : datum.${t}`,as:t}]}return[s]}}class yX extends VY{constructor(t,e){var n,r,i;super(t),this.transform=e,this.transform=$z(e);const o=null!==(n=this.transform.as)&&void 0!==n?n:[void 0,void 0];this.transform.as=[null!==(r=o[0])&&void 0!==r?r:e.on,null!==(i=o[1])&&void 0!==i?i:e.loess]}clone(){return new yX(null,$z(this.transform))}dependentFields(){var t;return new Set([this.transform.loess,this.transform.on,...null!==(t=this.transform.groupby)&&void 0!==t?t:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${Rz(this.transform)}`}assemble(){const t=this.transform,{loess:e,on:n}=t,r=wz(t,["loess","on"]);return Object.assign({type:"loess",x:n,y:e},r)}}class bX extends VY{constructor(t,e,n){super(t),this.transform=e,this.secondary=n}clone(){return new bX(null,$z(this.transform),this.secondary)}static make(t,e,n,r){const i=e.component.data.sources,{from:o}=n;let a=null;if(function(t){return"data"in t}(o)){let t=TX(o.data,i);t||(t=new VV(o.data),i.push(t));const n=e.getName(`lookup_${r}`);a=new ZY(t,n,"lookup",e.component.data.outputNodeRefCounts),e.component.data.outputNodes[n]=a}else if(function(t){return"selection"in t}(o)){const t=o.selection;if(n=Object.assign({as:t},n),!(a=e.getSelectionComponent(Qz(t),t).materialized))throw new Error(v.noSameUnitLookup(t))}return new bX(t,n,a.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?Object(K.i)(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${Rz({transform:this.transform,secondary:this.secondary})}`}assemble(){let t;if(this.transform.from.fields)t=Object.assign({values:this.transform.from.fields},this.transform.as?{as:Object(K.i)(this.transform.as)}:{});else{let e=this.transform.as;Object(K.H)(e)||(bI(v.NO_FIELDS_NEEDS_AS),e="_lookup"),t={as:[e]}}return Object.assign(Object.assign({type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup]},t),this.transform.default?{default:this.transform.default}:{})}}class xX extends VY{constructor(t,e){var n,r,i;super(t),this.transform=e,this.transform=$z(e);const o=null!==(n=this.transform.as)&&void 0!==n?n:[void 0,void 0];this.transform.as=[null!==(r=o[0])&&void 0!==r?r:"prob",null!==(i=o[1])&&void 0!==i?i:"value"]}clone(){return new xX(null,$z(this.transform))}dependentFields(){var t;return new Set([this.transform.quantile,...null!==(t=this.transform.groupby)&&void 0!==t?t:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${Rz(this.transform)}`}assemble(){const t=this.transform,{quantile:e}=t,n=wz(t,["quantile"]);return Object.assign({type:"quantile",field:e},n)}}class _X extends VY{constructor(t,e){var n,r,i;super(t),this.transform=e,this.transform=$z(e);const o=null!==(n=this.transform.as)&&void 0!==n?n:[void 0,void 0];this.transform.as=[null!==(r=o[0])&&void 0!==r?r:e.on,null!==(i=o[1])&&void 0!==i?i:e.regression]}clone(){return new _X(null,$z(this.transform))}dependentFields(){var t;return new Set([this.transform.regression,this.transform.on,...null!==(t=this.transform.groupby)&&void 0!==t?t:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${Rz(this.transform)}`}assemble(){const t=this.transform,{regression:e,on:n}=t,r=wz(t,["regression","on"]);return Object.assign({type:"regression",x:n,y:e},r)}}class wX extends VY{constructor(t,e){super(t),this.transform=e}clone(){return new wX(null,$z(this.transform))}addDimensions(t){var e;this.transform.groupby=qz((null!==(e=this.transform.groupby)&&void 0!==e?e:[]).concat(t),t=>t)}producedFields(){}dependentFields(){var t;return new Set([this.transform.pivot,this.transform.value,...null!==(t=this.transform.groupby)&&void 0!==t?t:[]])}hash(){return`PivotTransform ${Rz(this.transform)}`}assemble(){const{pivot:t,value:e,groupby:n,limit:r,op:i}=this.transform;return Object.assign(Object.assign(Object.assign({type:"pivot",field:t,value:e},void 0!==r?{limit:r}:{}),void 0!==i?{op:i}:{}),void 0!==n?{groupby:n}:{})}}class OX extends VY{constructor(t,e){super(t),this.transform=e}clone(){return new OX(null,$z(this.transform))}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${Rz(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function jX(t){let e=0;return function n(r,i){var o;r instanceof VV&&!r.isGenerator&&!GH(r.data)&&(t.push(i),i={name:null,source:i.name,transform:[]});if(r instanceof uZ&&(r.parent instanceof VV&&!i.source?(i.format=Object.assign(Object.assign({},null!==(o=i.format)&&void 0!==o?o:{}),{parse:r.assembleFormatParse()}),i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof iZ){i.name||(i.name=`data_${e++}`),!i.source||i.transform.length>0?(t.push(i),r.data=i.name):r.data=i.source;for(const e of r.assemble())t.push(e)}else switch((r instanceof XV||r instanceof JV||r instanceof dX||r instanceof MG||r instanceof XG||r instanceof mX||r instanceof gX||r instanceof rZ||r instanceof bX||r instanceof dZ||r instanceof cZ||r instanceof pX||r instanceof hX||r instanceof fX||r instanceof yX||r instanceof xX||r instanceof _X||r instanceof lZ||r instanceof OX||r instanceof wX)&&i.transform.push(r.assemble()),(r instanceof GV||r instanceof XY||r instanceof vX||r instanceof fZ)&&i.transform.push(...r.assemble()),r instanceof ZY&&(i.source&&0===i.transform.length?r.setSource(i.source):r.parent instanceof ZY?r.setSource(i.name):(i.name||(i.name=`data_${e++}`),r.setSource(i.name),1===r.numChildren()&&(t.push(i),i={name:null,source:i.name,transform:[]}))),r.numChildren()){case 0:r instanceof ZY&&(!i.source||i.transform.length>0)&&t.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name=`data_${e++}`);let o=i.name;!i.source||i.transform.length>0?t.push(i):o=i.source;for(const t of r.children)n(t,{name:null,source:o,transform:[]});break}}}}function kX(t){return"top"===t||"left"===t||zI(t)?"header":"footer"}function AX(t,e){var n;const{facet:r,config:i,child:o,component:a}=t;if(t.channelHasField(e)){const s=r[e],u=KG("title",null,i,e);let l=zq(s,i,{allowDisabling:!0,includeDefault:void 0===u||!!u});o.component.layoutHeaders[e].title&&(l=Object(K.A)(l)?l.join(", "):l,l+=" / "+o.component.layoutHeaders[e].title,o.component.layoutHeaders[e].title=null);const c=KG("labelOrient",s,i,e),f=uR((null!==(n=s.header)&&void 0!==n?n:{}).labels,i.header.labels,!0),d=Lz(["bottom","right"],c)?"footer":"header";a.layoutHeaders[e]={title:l,facetFieldDef:s,[d]:"facet"===e?[]:[EX(t,e,f)]}}}function EX(t,e,n){const r="row"===e?"height":"width";return{labels:n,sizeSignal:t.child.component.layoutSize.get(r)?t.child.getSizeSignalRef(r):void 0,axes:[]}}function SX(t,e){var n;const{child:r}=t;if(r.component.axes[e]){const{layoutHeaders:i,resolve:o}=t.component;if(o.axis[e]=bV(o,e),"shared"===o.axis[e]){const o="x"===e?"column":"row",a=i[o];for(const i of r.component.axes[e]){const e=kX(i.get("orient"));a[e]=null!==(n=a[e])&&void 0!==n?n:[EX(t,o,!1)];const r=zG(i,"main",t.config,{header:!0});r&&a[e][0].axes.push(r),i.mainExtracted=!0}}}}function DX(t){CX(t);const e=1===t.layout.columns?"width":"childWidth",n=void 0===t.layout.columns?"height":"childHeight";MX(t,e),MX(t,n)}function CX(t){for(const e of t.children)e.parseLayoutSize()}function MX(t,e){const n=mV(e),r=AL(n),i=t.component.resolve,o=t.component.layoutSize;let a;for(const e of t.children){const t=e.component.layoutSize.getWithExplicit(n),o=i.scale[r];if("independent"===o&&"step"===t.value){a=void 0;break}if(a){if("independent"===o&&a.value!==t.value){a=void 0;break}a=HH(a,t,n,"")}else a=t}if(a){for(const r of t.children)t.renameSignal(r.getName(n),t.getName(e)),r.component.layoutSize.set(n,"merged",!1);o.setWithExplicit(e,a)}else o.setWithExplicit(e,{explicit:!1,value:void 0})}function FX(t,e){const n="width"===e?"x":"y",r=t.config,i=t.getScaleComponent(n);if(i){const t=i.get("type"),n=i.get("range");if(xU(t)){const t=rH(r.view,e);return RI(n)||QW(t)?"step":t}return eH(r.view,e)}if(t.hasProjection||"arc"===t.mark)return eH(r.view,e);{const t=rH(r.view,e);return QW(t)?t.step:t}}function $X(t,e,n){return Cq(e,Object.assign({suffix:`by_${Cq(t)}`},null!==n&&void 0!==n?n:{}))}class NX extends cX{constructor(t,e,n,r){super(t,"facet",e,n,r,t.resolve),this.child=rJ(t.spec,this,this.getName("child"),void 0,r),this.children=[this.child],this.facet=this.initFacet(t.facet,r)}initFacet(t,e){return uq(t)?mW(t,(t,n,r)=>Lz([eP,nP],r)?void 0===n.field?(bI(v.emptyFieldDef(n,r)),t):(t[r]=Uq(n,r,e),t):(bI(v.incompatibleChannel(r,"facet")),t),{}):{facet:Uq(t,"facet",e)}}channelHasField(t){return!!this.facet[t]}fieldDef(t){return this.facet[t]}parseData(){this.component.data=RX(this),this.child.parseData()}parseLayoutSize(){CX(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),function(t){for(const e of UP)AX(t,e);SX(t,"x"),SX(t,"y")}(this)}assembleSelectionTopLevelSignals(t){return this.child.assembleSelectionTopLevelSignals(t)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(t){return this.child.assembleSelectionData(t)}getHeaderLayoutMixins(){var t,e,n;const r={};for(const i of UP)for(const o of nV){const a=this.component.layoutHeaders[i],s=a[o],{facetFieldDef:u}=a;if(u){const e=KG("titleOrient",u,this.config,i);if(Lz(["right","bottom"],e)){const n=QG(i,e);r.titleAnchor=null!==(t=r.titleAnchor)&&void 0!==t?t:{},r.titleAnchor[n]="end"}}if(null===s||void 0===s?void 0:s[0]){const t="row"===i?"height":"width",s="header"===o?"headerBand":"footerBand";"facet"===i||this.child.component.layoutSize.get(t)||(r[s]=null!==(e=r[s])&&void 0!==e?e:{},r[s][i]=.5),a.title&&(r.offset=null!==(n=r.offset)&&void 0!==n?n:{},r.offset["row"===i?"rowTitle":"columnTitle"]=10)}}return r}assembleDefaultLayout(){const{column:t,row:e}=this.facet,n=t?this.columnDistinctSignal():e?1:void 0;let r="all";return(e||"independent"!==this.component.resolve.scale.x)&&(t||"independent"!==this.component.resolve.scale.y)||(r="none"),Object.assign(Object.assign(Object.assign({},this.getHeaderLayoutMixins()),n?{columns:n}:{}),{bounds:"full",align:r})}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof NX)){return{signal:`length(data('${this.getName("column_domain")}'))`}}}assembleGroup(t){return this.parent&&this.parent instanceof NX?Object.assign(Object.assign({},this.channelHasField("column")?{encode:{update:{columns:{field:Cq(this.facet.column,{prefix:"distinct"})}}}}:{}),super.assembleGroup(t)):super.assembleGroup(t)}getCardinalityAggregateForChild(){const t=[],e=[],n=[];if(this.child instanceof NX){if(this.child.channelHasField("column")){const r=Cq(this.child.facet.column);t.push(r),e.push("distinct"),n.push(`distinct_${r}`)}}else for(const r of wL){const i=this.child.component.scales[r];if(i&&!i.merged){const o=i.get("type"),a=i.get("range");if(xU(o)&&RI(a)){const i=BZ(IZ(this.child,r));i?(t.push(i),e.push("distinct"),n.push(`distinct_${i}`)):bI(`Unknown field for ${r}. Cannot calculate view size.`)}}}return{fields:t,ops:e,as:n}}assembleFacet(){const{name:t,data:e}=this.component.data.facetRoot,{row:n,column:r}=this.facet,{fields:i,ops:o,as:a}=this.getCardinalityAggregateForChild(),s=[];for(const t of UP){const e=this.facet[t];if(e){s.push(Cq(e));const{bin:u,sort:l}=e;if(YL(u)&&s.push(Cq(e,{binSuffix:"end"})),aq(l)){const{field:t,op:s=nq}=l,u=$X(e,l);n&&r?(i.push(u),o.push("max"),a.push(u)):(i.push(t),o.push(s),a.push(u))}else if(Object(K.A)(l)){const n=JG(e,t);i.push(n),o.push("max"),a.push(n)}}}const u=!!n&&!!r;return Object.assign({name:t,data:e,groupby:s},u||i.length>0?{aggregate:Object.assign(Object.assign({},u?{cross:u}:{}),i.length?{fields:i,ops:o,as:a}:{})}:{})}facetSortFields(t){const{facet:e}=this,n=e[t];return n?aq(n.sort)?[$X(n,n.sort,{expr:"datum"})]:Object(K.A)(n.sort)?[JG(n,t,{expr:"datum"})]:[Cq(n,{expr:"datum"})]:[]}facetSortOrder(t){const{facet:e}=this,n=e[t];if(n){const{sort:t}=n;return[(aq(t)?t.order:!Object(K.A)(t)&&t)||"ascending"]}return[]}assembleLabelTitle(){const{facet:t,config:e}=this;if(t.facet)return sV(t.facet,"facet",e);const n={row:["top","bottom"],column:["left","right"]};for(const r of eV)if(t[r]){const i=KG("labelOrient",t[r],e,r);if(Lz(n[r],i))return sV(t[r],r,e)}}assembleMarks(){const{child:t}=this,e=function(t){const e=[],n=jX(e);for(const e of t.children)n(e,{source:t.name,name:null,transform:[]});return e}(this.component.data.facetRoot),n=t.assembleGroupEncodeEntry(!1),r=this.assembleLabelTitle()||t.assembleTitle(),i=t.assembleGroupStyle();return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:this.getName("cell"),type:"group"},r?{title:r}:{}),i?{style:i}:{}),{from:{facet:this.assembleFacet()},sort:{field:UP.map(t=>this.facetSortFields(t)).flat(),order:UP.map(t=>this.facetSortOrder(t)).flat()}}),e.length>0?{data:e}:{}),n?{encode:{update:n}}:{}),t.assembleGroup(function(t,e){if(t.component.selection&&Vz(t.component.selection).length){const n=Object(K.Z)(t.getName("cell"));e.unshift({name:"facet",value:{},on:[{events:R$("mousemove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return pG(e)}(this,[])))]}getMapping(){return this.facet}}function TX(t,e){var n,r,i,o,a,s,u,l,c,f;for(const d of e){const e=d.data;if((!t.name||!d.hasName()||t.name===d.dataName)&&!((null===(n=t.format)||void 0===n?void 0:n.mesh)&&(null===(r=e.format)||void 0===r?void 0:r.feature)||((null===(i=t.format)||void 0===i?void 0:i.feature)||(null===(o=e.format)||void 0===o?void 0:o.feature))&&(null===(a=t.format)||void 0===a?void 0:a.feature)!==(null===(s=e.format)||void 0===s?void 0:s.feature)||((null===(u=t.format)||void 0===u?void 0:u.mesh)||(null===(l=e.format)||void 0===l?void 0:l.mesh))&&(null===(c=t.format)||void 0===c?void 0:c.mesh)!==(null===(f=e.format)||void 0===f?void 0:f.mesh)))if(VH(t)&&VH(e)){if(Fz(t.values,e.values))return d}else if(GH(t)&&GH(e)){if(t.url===e.url)return d}else if(ZH(t)&&t.name===d.dataName)return d}return null}function zX(t,e){if(t.data||!t.parent){if(null===t.data){const t=new VV({values:[]});return e.push(t),t}const n=TX(t.data,e);if(n)return XH(t.data)||(n.data.format=function(t,...e){for(const n of e)Uz(t,null!==n&&void 0!==n?n:{});return t}({},t.data.format,n.data.format)),!n.hasName()&&t.data.name&&(n.dataName=t.data.name),n;{const n=new VV(t.data);return e.push(n),n}}return t.parent.component.data.facetRoot?t.parent.component.data.facetRoot:t.parent.component.data.main}function RX(t){var e,n,r,i,o,a,s,u,l,c;let f=zX(t,t.component.data.sources);const{outputNodes:d,outputNodeRefCounts:h}=t.component.data,p=t.parent?t.parent.component.data.ancestorParse.clone():new YH,g=t.data;XH(g)?(JH(g)?f=new JV(f,g.sequence):KH(g)&&(f=new XV(f,g.graticule)),p.parseNothing=!0):null===(null===(e=null===g||void 0===g?void 0:g.format)||void 0===e?void 0:e.parse)&&(p.parseNothing=!0),f=null!==(n=uZ.makeExplicit(f,t,p))&&void 0!==n?n:f,f=new lZ(f);const m=t.parent&&uX(t.parent);(oX(t)||aX(t))&&m&&(f=null!==(r=GV.makeFromEncoding(f,t))&&void 0!==r?r:f),t.transforms.length>0&&(f=function(t,e,n){var r,i;let o=0;for(const a of e.transforms){let s,u=void 0;if(hY(a))s=t=new XG(t,a),u="derived";else if(nY(a)){const i=aZ(a);s=t=null!==(r=uZ.makeWithAncestors(t,{},i,n))&&void 0!==r?r:t,t=new MG(t,e,a.filter)}else if(pY(a))s=t=GV.makeFromTransform(t,a,e),u="number";else if(mY(a))u="date",void 0===n.getWithExplicit(a.field).value&&(t=new uZ(t,{[a.field]:u}),n.set(a.field,u,!1)),s=t=XY.makeFromTransform(t,a);else if(vY(a))s=t=rZ.makeFromTransform(t,a),u="number",DG(e)&&(t=new lZ(t));else if(rY(a))s=t=bX.make(t,e,a,o++),u="derived";else if(cY(a))s=t=new dZ(t,a),u="number";else if(fY(a))s=t=new cZ(t,a),u="number";else if(yY(a))s=t=fZ.makeFromTransform(t,a),u="derived";else if(bY(a))s=t=new pX(t,a),u="derived";else if(dY(a))s=t=new hX(t,a),u="derived";else if(iY(a))s=t=new wX(t,a),u="derived";else if(lY(a))t=new OX(t,a);else if(gY(a))s=t=vX.makeFromTransform(t,a),u="derived";else if(oY(a))s=t=new fX(t,a),u="derived";else if(aY(a))s=t=new xX(t,a),u="derived";else if(sY(a))s=t=new _X(t,a),u="derived";else{if(!uY(a)){bI(v.invalidTransformIgnored(a));continue}s=t=new yX(t,a),u="derived"}if(s&&void 0!==u)for(const t of null!==(i=s.producedFields())&&void 0!==i?i:[])n.set(t,u,!1)}return t}(f,t,p));const y=function(t){const e={};if(oX(t)&&t.component.selection)for(const n of Vz(t.component.selection)){const r=t.component.selection[n];for(const t of r.project.items)!t.channel&&sR(t.field)>1&&(e[t.field]="flatten")}return e}(t),b=sZ(t);f=null!==(i=uZ.makeWithAncestors(f,{},Object.assign(Object.assign({},y),b),p))&&void 0!==i?i:f,oX(t)&&(f=gX.parseAll(f,t),f=mX.parseAll(f,t)),(oX(t)||aX(t))&&(m||(f=null!==(o=GV.makeFromEncoding(f,t))&&void 0!==o?o:f),f=null!==(a=XY.makeFromEncoding(f,t))&&void 0!==a?a:f,f=XG.parseAllForSortIndex(f,t));const x=t.getName(eY),_=new ZY(f,x,eY,h);if(d[x]=_,f=_,oX(t)){const e=rZ.makeFromEncoding(f,t);e&&(f=e,DG(t)&&(f=new lZ(f))),f=null!==(s=vX.makeFromEncoding(f,t))&&void 0!==s?s:f,f=null!==(u=fZ.makeFromEncoding(f,t))&&void 0!==u?u:f}oX(t)&&(f=null!==(l=dX.make(f,t))&&void 0!==l?l:f);const w=t.getName(tY),O=new ZY(f,w,tY,h);d[w]=O,f=O,oX(t)&&function(t,e){EG(t,n=>{const r=n.name,i=t.getName(`lookup_${r}`);t.component.data.outputNodes[i]=n.materialized=new ZY(new MG(e,t,{selection:r}),i,"lookup",t.component.data.outputNodeRefCounts)})}(t,O);let j=null;if(aX(t)){const e=t.getName("facet");f=null!==(c=function(t,e){const{row:n,column:r}=e;if(n&&r){let e=null;for(const i of[n,r])if(aq(i.sort)){const{field:n,op:r=nq}=i.sort;t=e=new cZ(t,{joinaggregate:[{op:r,field:n,as:$X(i,i.sort,{forAs:!0})}],groupby:[Cq(i)]})}return e}return null}(f,t.facet))&&void 0!==c?c:f,j=new iZ(f,t,e,O.getSource()),d[e]=j}return Object.assign(Object.assign({},t.component.data),{outputNodes:d,outputNodeRefCounts:h,raw:_,main:O,facetRoot:j,ancestorParse:p})}class PX extends lX{constructor(t,e,n,r){var i,o,a,s;super(t,"concat",e,n,r,t.resolve),"shared"!==(null===(o=null===(i=t.resolve)||void 0===i?void 0:i.axis)||void 0===o?void 0:o.x)&&"shared"!==(null===(s=null===(a=t.resolve)||void 0===a?void 0:a.axis)||void 0===s?void 0:s.y)||bI(v.CONCAT_CANNOT_SHARE_AXIS),this.children=this.getChildren(t).map((t,e)=>rJ(t,this,this.getName("concat_"+e),void 0,r))}parseData(){this.component.data=RX(this);for(const t of this.children)t.parseData()}parseSelections(){this.component.selection={};for(const t of this.children){t.parseSelections();for(const e of Vz(t.component.selection))this.component.selection[e]=t.component.selection[e]}}parseMarkGroup(){for(const t of this.children)t.parseMarkGroup()}parseAxesAndHeaders(){for(const t of this.children)t.parseAxesAndHeaders()}getChildren(t){return XW(t)?t.vconcat:JW(t)?t.hconcat:t.concat}parseLayoutSize(){DX(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(t){return this.children.reduce((t,e)=>e.assembleSelectionTopLevelSignals(t),t)}assembleSignals(){return this.children.forEach(t=>t.assembleSignals()),[]}assembleLayoutSignals(){const t=dV(this);for(const e of this.children)t.push(...e.assembleLayoutSignals());return t}assembleSelectionData(t){return this.children.reduce((t,e)=>e.assembleSelectionData(t),t)}assembleMarks(){return this.children.map(t=>{const e=t.assembleTitle(),n=t.assembleGroupStyle(),r=t.assembleGroupEncodeEntry(!1);return Object.assign(Object.assign(Object.assign(Object.assign({type:"group",name:t.getName("group")},e?{title:e}:{}),n?{style:n}:{}),r?{encode:{update:r}}:{}),t.assembleGroup())})}assembleDefaultLayout(){const t=this.layout.columns;return Object.assign(Object.assign({},null!=t?{columns:t}:{}),{bounds:"full",align:"each"})}}const LX=Object.assign(Object.assign({disable:1,gridScale:1,scale:1},vR),{labelExpr:1,encode:1}),BX=Vz(LX);class IX extends BH{constructor(t={},e={},n=!1){super(),this.explicit=t,this.implicit=e,this.mainExtracted=n}clone(){return new IX($z(this.explicit),$z(this.implicit),this.mainExtracted)}hasAxisPart(t){return"axis"===t||("grid"===t||"title"===t?!!this.get(t):!function(t){return!1===t||null===t}(this.get(t)))}hasOrientSignalRef(){return zI(this.explicit.orient)}}function UX(t){return wL.reduce((e,n)=>(t.component.scales[n]&&(e[n]=[function(t,e){var n,r,i;let o=e.axis(t);const a=new IX,s=Iq(e.encoding[t]),{mark:u,config:l}=e,c=(null===o||void 0===o?void 0:o.orient)||(null===(n=l["x"===t?"axisX":"axisY"])||void 0===n?void 0:n.orient)||(null===(r=l.axis)||void 0===r?void 0:r.orient)||function(t){return"x"===t?"bottom":"left"}(t),f=e.getScaleComponent(t).get("type"),d=qG(t,f,c,e.config),h=void 0!==o?!o:WG("disable",l,null===o||void 0===o?void 0:o.style,d).configValue;if(a.set("disable",h,void 0!==o),h)return a;const p=function(t,e,n,r,i){const o=null===e||void 0===e?void 0:e.labelAngle;if(void 0!==o)return zI(o)?o:fR(o);{const{configValue:o}=WG("labelAngle",t.config,null===e||void 0===e?void 0:e.style,i);return void 0!==o?fR(o):n===iP&&Lz([iU,nU],r.type)?270:void 0}}(e,o=o||{},t,s,d),g={fieldOrDatumDef:s,axis:o,channel:t,model:e,scaleType:f,orient:c,labelAngle:p,mark:u,config:l};for(const n of BX){const r=n in HG?HG[n](g):bR(n)?o[n]:void 0,i=void 0!==r,s=YX(r,n,o,e,t);if(i&&s)a.set(n,r,s);else{const{configValue:t,configFrom:u}=bR(n)&&"values"!==n?WG(n,e.config,o.style,d):{},l=void 0!==t;i&&!l?a.set(n,r,s):("vgAxisConfig"!==u||GX.has(n)&&l||pR(t)||zI(t))&&a.set(n,t,!1)}}const m=null!==(i=o.encoding)&&void 0!==i?i:{},v=gR.reduce((n,r)=>{var i;if(!a.hasAxisPart(r))return n;const o=vV(null!==(i=m[r])&&void 0!==i?i:{},e),s="labels"===r?function(t,e,n){var r;const{encoding:i,config:o}=t,a=null!==(r=Iq(i[e]))&&void 0!==r?r:Iq(i[oL(e)]),s=t.axis(e)||{},{format:u,formatType:l}=s;return WU(l)?Object.assign({text:ZU({fieldOrDatumDef:a,field:"datum.value",format:u,formatType:l,config:o})},n):n}(e,t,o):o;return void 0===s||Gz(s)||(n[r]={update:s}),n},{});Gz(v)||a.set("encode",v,!!o.encoding||void 0!==o.labelAngle);return a}(n,t)]),e),{})}const qX={bottom:"top",top:"bottom",left:"right",right:"left"};function WX(t,e){if(!t)return e.map(t=>t.clone());{if(t.length!==e.length)return;const n=t.length;for(let r=0;r{switch(n){case"title":return cW(t,e);case"gridScale":return{explicit:t.explicit,value:uR(t.value,e.value)}}return WH(t,e,n,"axis")});t.setWithExplicit(n,r)}return t}function YX(t,e,n,r,i){if("disable"===e)return void 0!==n;switch(n=n||{},e){case"titleAngle":case"labelAngle":return t===(zI(n.labelAngle)?n.labelAngle:fR(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(t===ZG(r,i))return!0}return t===n[e]}const GX=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function VX(t,e,n,{graticule:r}){const i=PR(t)?Object.assign({},t):{type:t},o=rW("orient",i,n);if(i.orient=function(t,e,n){switch(t){case AR:case FR:case $R:case DR:case ER:case jR:return}const{x:r,y:i,x2:o,y2:a}=e;switch(t){case OR:if(yq(r)&&(GL(r.bin)||yq(i)&&i.aggregate&&!r.aggregate))return"vertical";if(yq(i)&&(GL(i.bin)||yq(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(a||o){if(n)return n;if(!o&&(yq(r)&&r.type===eU&&!YL(r.bin)||wq(r)))return"horizontal";if(!a&&(yq(i)&&i.type===eU&&!YL(i.bin)||wq(i)))return"vertical"}case SR:if(o&&(!yq(r)||!GL(r.bin))&&a&&(!yq(i)||!GL(i.bin)))return;case wR:if(a)return yq(i)&&GL(i.bin)?"horizontal":"vertical";if(o)return yq(r)&&GL(r.bin)?"vertical":"horizontal";if(t===SR){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case kR:case CR:{const e=_q(r),o=_q(i);if(e&&!o)return"tick"!==t?"horizontal":"vertical";if(!e&&o)return"tick"!==t?"vertical":"horizontal";if(e&&o){const e=r,o=i,a=e.type===rU,s=o.type===rU;return a&&!s?"tick"!==t?"vertical":"horizontal":!a&&s?"tick"!==t?"horizontal":"vertical":!e.aggregate&&o.aggregate?"tick"!==t?"vertical":"horizontal":e.aggregate&&!o.aggregate?"tick"!==t?"horizontal":"vertical":n||"vertical"}return n||void 0}}return"vertical"}(i.type,e,o),void 0!==o&&o!==i.orient&&bI(v.orientOverridden(i.orient,o)),"bar"===i.type&&i.orient){const t=rW("cornerRadiusEnd",i,n);if(void 0!==t){const n="horizontal"===i.orient&&e.x2||"vertical"===i.orient&&e.y2?["cornerRadius"]:IR[i.orient];for(const e of n)i[e]=t;void 0!==i.cornerRadiusEnd&&delete i.cornerRadiusEnd}}return void 0===rW("opacity",i,n)&&(i.opacity=function(t,e){if(Lz([AR,CR,FR,$R],t)&&!dW(e))return.7;return}(i.type,e)),void 0===i.filled&&(i.filled=!r&&function(t,e){const n=iW("filled",t,e),r=t.type;return uR(n,r!==AR&&r!==kR&&r!==SR)}(i,n)),void 0===rW("cursor",i,n)&&(i.cursor=function(t,e,n){if(e.href||t.href||rW("href",t,n))return"pointer";return t.cursor}(i,e,n)),i}function ZX(t,e){const{config:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),MY("x",t,{defaultPos:"mid"})),MY("y",t,{defaultPos:"mid"})),SY("size",t)),SY("angle",t)),function(t,e,n){if(n)return{shape:{value:n}};return SY("shape",t)}(t,0,e))}const XX={arc:{vgMark:"arc",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),MY("x",t,{defaultPos:"mid"})),MY("y",t,{defaultPos:"mid"})),LY(t,"radius","arc")),LY(t,"theta","arc"))},area:{vgMark:"area",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"})),zY("x",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"horizontal"===t.markDef.orient})),zY("y",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"vertical"===t.markDef.orient})),HY(t))},bar:{vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),LY(t,"x","bar")),LY(t,"y","bar"))},circle:{vgMark:"symbol",encodeEntry:t=>ZX(t,"circle")},geoshape:{vgMark:"shape",encodeEntry:t=>Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),postEncodingTransform:t=>{const{encoding:e}=t,n=e.shape;return[Object.assign({type:"geoshape",projection:t.projectionName()},n&&yq(n)&&n.type===oU?{field:Cq(n,{expr:"datum"})}:{})]}},image:{vgMark:"image",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"})),LY(t,"x","image")),LY(t,"y","image")),wY(t,"url"))},line:{vgMark:"line",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),MY("x",t,{defaultPos:"mid"})),MY("y",t,{defaultPos:"mid"})),SY("size",t,{vgChannel:"strokeWidth"})),HY(t))},point:{vgMark:"symbol",encodeEntry:t=>ZX(t)},rect:{vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),LY(t,"x","rect")),LY(t,"y","rect"))},rule:{vgMark:"rule",encodeEntry:t=>{const{markDef:e}=t,n=e.orient;return t.encoding.x||t.encoding.y||t.encoding.latitude||t.encoding.longitude?Object.assign(Object.assign(Object.assign(Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),zY("x",t,{defaultPos:"horizontal"===n?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"vertical"!==n})),zY("y",t,{defaultPos:"vertical"===n?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"horizontal"!==n})),SY("size",t,{vgChannel:"strokeWidth"})):{}}},square:{vgMark:"symbol",encodeEntry:t=>ZX(t,"square")},text:{vgMark:"text",encodeEntry:t=>{const{config:e,encoding:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},qY(t,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"})),MY("x",t,{defaultPos:"mid"})),MY("y",t,{defaultPos:"mid"})),wY(t)),SY("size",t,{vgChannel:"fontSize"})),SY("angle",t)),YY("align",function(t,e,n){if(void 0===rW("align",t,n))return"center";return}(t.markDef,0,e))),YY("baseline",function(t,e,n){if(void 0===rW("baseline",t,n))return"middle";return}(t.markDef,0,e))),MY("radius",t,{defaultPos:null,isMidPoint:!0})),MY("theta",t,{defaultPos:null,isMidPoint:!0}))}},tick:{vgMark:"rect",encodeEntry:t=>{const{config:e,markDef:n}=t,r=n.orient,i="horizontal"===r?"width":"height",o="horizontal"===r?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),MY("x",t,{defaultPos:"mid",vgChannel:"xc"})),MY("y",t,{defaultPos:"mid",vgChannel:"yc"})),SY("size",t,{defaultValue:function(t){var e;const{config:n,markDef:r}=t,{orient:i}=r,o="horizontal"===i?"width":"height",a=t.getScaleComponent("horizontal"===i?"x":"y"),s=null!==(e=rW("size",r,n,{vgChannel:o}))&&void 0!==e?e:n.tick.bandSize;if(void 0!==s)return s;{const t=a?a.get("range"):void 0;if(t&&RI(t)&&Object(K.E)(t.step))return 3*t.step/4;const e=nH(n.view,o);return 3*e/4}}(t),vgChannel:i})),{[o]:Kq(rW("thickness",n,e))})}},trail:{vgMark:"trail",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},qY(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),MY("x",t,{defaultPos:"mid"})),MY("y",t,{defaultPos:"mid"})),SY("size",t)),HY(t))}};function JX(t){return Lz([kR,wR,MR],t.mark)?function(t){const e=vW(t.mark,t.encoding),n=tJ(t,{fromPrefix:e.length>0?QX:""});return e.length>0?[{name:t.getName("pathgroup"),type:"group",from:{facet:{name:QX+t.requestDataName(tY),data:t.requestDataName(tY),groupby:e}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:n}]:n}(t):Lz([OR],t.mark)?function(t){const e=II.some(e=>rW(e,t.markDef,t.config));if(t.stack&&!t.fieldDef("size")&&e){const[e]=tJ(t,{fromPrefix:KX}),n=t.scaleName(t.stack.fieldChannel),r=(e={})=>t.vgField(t.stack.fieldChannel,e),i=(t,e)=>{const i=[r({prefix:"min",suffix:"start",expr:e}),r({prefix:"max",suffix:"start",expr:e}),r({prefix:"min",suffix:"end",expr:e}),r({prefix:"max",suffix:"end",expr:e})];return`${t}(${i.map(t=>`scale('${n}',${t})`).join(",")})`};let o,a;"x"===t.stack.fieldChannel?(o=Object.assign(Object.assign({},Nz(e.encode.update,["y","yc","y2","height",...II])),{x:{signal:i("min","datum")},x2:{signal:i("max","datum")},clip:{value:!0}}),a={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},e.encode.update=Object.assign(Object.assign({},Tz(e.encode.update,["y","yc","y2"])),{height:{field:{group:"height"}}})):(o=Object.assign(Object.assign({},Nz(e.encode.update,["x","xc","x2","width"])),{y:{signal:i("min","datum")},y2:{signal:i("max","datum")},clip:{value:!0}}),a={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},e.encode.update=Object.assign(Object.assign({},Tz(e.encode.update,["x","xc","x2"])),{width:{field:{group:"width"}}}));for(const n of II){const r=iW(n,t.markDef,t.config);e.encode.update[n]?(o[n]=e.encode.update[n],delete e.encode.update[n]):r&&(o[n]=Kq(r)),r&&(e.encode.update[n]={value:0})}const s=t.fieldDef(t.stack.groupbyChannel),u=Cq(s)?[Cq(s)]:[];((null===s||void 0===s?void 0:s.bin)||(null===s||void 0===s?void 0:s.timeUnit))&&u.push(Cq(s,{binSuffix:"end"}));const l=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"];return(o=l.reduce((n,r)=>{if(e.encode.update[r])return Object.assign(Object.assign({},n),{[r]:e.encode.update[r]});{const e=iW(r,t.markDef,t.config);return void 0!==e?Object.assign(Object.assign({},n),{[r]:Kq(e)}):n}},o)).stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0}),[{type:"group",from:{facet:{data:t.requestDataName(tY),name:KX+t.requestDataName(tY),groupby:u,aggregate:{fields:[r({suffix:"start"}),r({suffix:"start"}),r({suffix:"end"}),r({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:o},marks:[{type:"group",encode:{update:a},marks:[e]}]}]}return tJ(t)}(t):tJ(t)}const QX="faceted_path_";const KX="stack_group_";function tJ(t,e={fromPrefix:""}){const{mark:n,markDef:r,config:i}=t,o=uR(r.clip,function(t){const e=t.getScaleComponent("x"),n=t.getScaleComponent("y");return!!(e&&e.get("selectionExtent")||n&&n.get("selectionExtent"))||void 0}(t),function(t){const e=t.component.projection;return!(!e||e.isFit)||void 0}(t)),a=nW(r),s=t.encoding.key,u=function(t){const{encoding:e,stack:n,mark:r,markDef:i,config:o}=t,a=e.order;if(!(!Object(K.A)(a)&&kq(a)&&Pz(a.value)||!a&&Pz(rW("order",i,o)))){if((Object(K.A)(a)||yq(a))&&!n)return sW(a,{expr:"datum"});if(TR(r)){const n="horizontal"===i.orient?"y":"x",r=e[n];if(yq(r)){const e=r.sort;return Object(K.A)(e)?{field:Cq(r,{prefix:n,suffix:"sort_index",expr:"datum"})}:aq(e)?{field:Cq({aggregate:dW(t.encoding)?e.op:void 0,field:e.field},{expr:"datum"})}:oq(e)?{field:Cq(t.fieldDef(e.encoding),{expr:"datum"}),order:e.order}:null===e?void 0:{field:Cq(r,{binSuffix:t.stack&&t.stack.impute?"mid":void 0,expr:"datum"})}}}}}(t),l=function(t){if(!t.component.selection)return null;const e=Vz(t.component.selection).length;let n=e,r=t.parent;for(;r&&0===n;)n=Vz(r.component.selection).length,r=r.parent;return n?{interactive:e>0}:null}(t),c=rW("aria",r,i),f=XX[n].postEncodingTransform?XX[n].postEncodingTransform(t):null;return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName("marks"),type:XX[n].vgMark},o?{clip:!0}:{}),a?{style:a}:{}),s?{key:s.field}:{}),u?{sort:u}:{}),l||{}),!1===c?{aria:c}:{}),{from:{data:e.fromPrefix+t.requestDataName(tY)},encode:{update:XX[n].encodeEntry(t)}}),f?{transform:f}:{})]}class eJ extends cX{constructor(t,e,n,r={},i){var o,a;super(t,"unit",e,n,i,void 0,KW(t)?t.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection={},this.children=[];const s=PR(t.mark)?t.mark.type:t.mark;this.markDef=VX(t.mark,null!==(o=t.encoding)&&void 0!==o?o:{},i,{graticule:t.data&&KH(t.data)});const u=this.encoding=pW(null!==(a=t.encoding)&&void 0!==a?a:{},this.markDef,i);this.size=function({encoding:t,size:e}){for(const n of wL){const r=aL(n);QW(e[r])&&_q(t[n])&&(delete e[r],bI(v.stepDropped(r)))}return e}({encoding:u,size:KW(t)?Object.assign(Object.assign(Object.assign({},r),t.width?{width:t.width}:{}),t.height?{height:t.height}:{}):r}),this.stack=_H(s,u),this.specifiedScales=this.initScales(s,u),this.specifiedAxes=this.initAxes(u),this.specifiedLegends=this.initLegend(u),this.specifiedProjection=t.projection,this.selection=t.selection}get hasProjection(){const{encoding:t}=this,e=this.mark===NR,n=t&&PP.some(e=>Oq(t[e]));return e||n}scaleDomain(t){const e=this.specifiedScales[t];return e?e.domain:void 0}axis(t){return this.specifiedAxes[t]}legend(t){return this.specifiedLegends[t]}initScales(t,e){return PL.reduce((t,n)=>{var r;const i=Iq(e[n]);return i&&(t[n]=null!==(r=i.scale)&&void 0!==r?r:{}),t},{})}initAxes(t){return wL.reduce((e,n)=>{const r=t[n];if(Oq(r)||n===iP&&Oq(t.x2)||n===oP&&Oq(t.y2)){const t=Oq(r)?r.axis:void 0;e[n]=t?Object.assign({},t):t}return e},{})}initLegend(t){return zL.reduce((e,n)=>{const r=Iq(t[n]);if(r&&function(t){switch(t){case mP:case vP:case yP:case xP:case bP:case wP:case kP:case AP:return!0;case OP:case jP:case _P:return!1}}(n)){const t=r.legend;e[n]=t?Object.assign({},t):t}return e},{})}parseData(){this.component.data=RX(this)}parseLayoutSize(){!function(t){const{size:e,component:n}=t;for(const r of wL){const i=aL(r);if(e[i]){const t=e[i];n.layoutSize.set(i,QW(t)?"step":t,!0)}else{const e=FX(t,i);n.layoutSize.set(i,e,!1)}}}(this)}parseSelections(){this.component.selection=function(t,e){var n;const r={},i=t.config.selection;for(const o of Vz(null!==e&&void 0!==e?e:{})){const a=$z(e[o]),s=i[a.type],{fields:u,encodings:l}=s,c=wz(s,["fields","encodings"]);for(const t in c)"encodings"===t&&a.fields||"fields"===t&&a.encodings||("mark"===t&&(a[t]=Object.assign(Object.assign({},c[t]),a[t])),void 0!==a[t]&&!0!==a[t]||(a[t]=null!==(n=c[t])&&void 0!==n?n:a[t]));const f=Qz(o),d=r[f]=Object.assign(Object.assign({},a),{name:f,events:Object(K.H)(a.on)?R$(a.on,"scope"):$z(a.on)});fG(d,n=>{n.has(d)&&n.parse&&n.parse(t,d,a,e[o])})}return r}(this,this.selection)}parseMarkGroup(){this.component.mark=JX(this)}parseAxesAndHeaders(){this.component.axes=UX(this)}assembleSelectionTopLevelSignals(t){return function(t,e){let n=!1;EG(t,(r,i)=>{const o=r.name,a=Object(K.Z)(o+wG);if(0===e.filter(t=>t.name===o).length){const t="global"===r.resolve?"union":r.resolve,n="multi"===r.type?", true)":")";e.push({name:r.name,update:`${kG}(${a}, ${Object(K.Z)(t)}${n}`})}n=!0,i.topLevelSignals&&(e=i.topLevelSignals(t,r,e)),fG(r,n=>{n.topLevelSignals&&(e=n.topLevelSignals(t,r,e))})}),n&&0===e.filter(t=>"unit"===t.name).length&&e.unshift({name:"unit",value:{},on:[{events:"mousemove",update:"isTuple(group()) ? group() : unit"}]});return pG(e)}(this,t)}assembleSignals(){return[...RG(this),...function(t,e){return EG(t,(n,r)=>{const i=n.name;let o=r.modifyExpr(t,n);e.push(...r.signals(t,n)),fG(n,r=>{r.signals&&(e=r.signals(t,n,e)),r.modifyExpr&&(o=r.modifyExpr(t,n,o))}),e.push({name:i+jG,on:[{events:{signal:n.name+OG},update:`modify(${Object(K.Z)(n.name+wG)}, ${o})`}]})}),pG(e)}(this,[])]}assembleSelectionData(t){return function(t,e){const n=[...e];return EG(t,e=>{const r={name:e.name+wG};if(e.init){const n=e.project.items.map(t=>{const{signals:e}=t;return wz(t,["signals"])}),i=e.init.map(t=>dG(t,!1));r.values="interval"===e.type?[{unit:SG(t,{escape:!1}),fields:n,values:i}]:i.map(e=>({unit:SG(t,{escape:!1}),fields:n,values:e}))}n.filter(t=>t.name===e.name+wG).length||n.push(r)}),n}(this,t)}assembleLayout(){return null}assembleLayoutSignals(){return dV(this)}assembleMarks(){var t;let e=null!==(t=this.component.mark)&&void 0!==t?t:[];return this.parent&&uX(this.parent)||(e=hG(this,e)),e.map(this.correctDataNames)}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(t){return fW(this.encoding,t)}fieldDef(t){return Bq(this.encoding[t])}typedFieldDef(t){const e=this.fieldDef(t);return jq(e)?e:null}}class nJ extends lX{constructor(t,e,n,r,i){super(t,"layer",e,n,i,t.resolve,t.view);const o=Object.assign(Object.assign(Object.assign({},r),t.width?{width:t.width}:{}),t.height?{height:t.height}:{});this.children=t.layer.map((t,e)=>{if(gH(t))return new nJ(t,this,this.getName("layer_"+e),o,i);if(WR(t))return new eJ(t,this,this.getName("layer_"+e),o,i);throw new Error(v.invalidSpec(t))})}parseData(){this.component.data=RX(this);for(const t of this.children)t.parseData()}parseLayoutSize(){!function(t){CX(t),MX(t,"width"),MX(t,"height")}(this)}parseSelections(){this.component.selection={};for(const t of this.children){t.parseSelections();for(const e of Vz(t.component.selection))this.component.selection[e]=t.component.selection[e]}}parseMarkGroup(){for(const t of this.children)t.parseMarkGroup()}parseAxesAndHeaders(){!function(t){var e;const{axes:n,resolve:r}=t.component,i={top:0,bottom:0,right:0,left:0};for(const e of t.children){e.parseAxesAndHeaders();for(const i of Vz(e.component.axes))r.axis[i]=bV(t.component.resolve,i),"shared"===r.axis[i]&&(n[i]=WX(n[i],e.component.axes[i]),n[i]||(r.axis[i]="independent",delete n[i]))}for(const o of wL){for(const a of t.children)if(a.component.axes[o]){if("independent"===r.axis[o]){n[o]=(null!==(e=n[o])&&void 0!==e?e:[]).concat(a.component.axes[o]);for(const t of a.component.axes[o]){const{value:e,explicit:n}=t.getWithExplicit("orient");if(!zI(e)){if(i[e]>0&&!n){const n=qX[e];i[e]>i[n]&&t.set("orient",n,!1)}i[e]++}}}delete a.component.axes[o]}if("independent"===r.axis[o]&&n[o]&&n[o].length>1)for(const t of n[o])t.get("grid")&&!t.explicit.grid&&(t.implicit.grid=!1)}}(this)}assembleSelectionTopLevelSignals(t){return this.children.reduce((t,e)=>e.assembleSelectionTopLevelSignals(t),t)}assembleSignals(){return this.children.reduce((t,e)=>t.concat(e.assembleSignals()),RG(this))}assembleLayoutSignals(){return this.children.reduce((t,e)=>t.concat(e.assembleLayoutSignals()),dV(this))}assembleSelectionData(t){return this.children.reduce((t,e)=>e.assembleSelectionData(t),t)}assembleTitle(){let t=super.assembleTitle();if(t)return t;for(const e of this.children)if(t=e.assembleTitle())return t}assembleLayout(){return null}assembleMarks(){return function(t,e){for(const n of t.children)oX(n)&&(e=hG(n,e));return e}(this,this.children.flatMap(t=>t.assembleMarks()))}assembleLegends(){return this.children.reduce((t,e)=>t.concat(e.assembleLegends()),PV(this))}}function rJ(t,e,n,r,i){if(cq(t))return new NX(t,e,n,i);if(gH(t))return new nJ(t,e,n,r,i);if(WR(t))return new eJ(t,e,n,r,i);if(function(t){return XW(t)||JW(t)||ZW(t)}(t))return new PX(t,e,n,i);throw new Error(v.invalidSpec(t))}function iJ(t,e={}){e.logger&&function(t){vI=t}(e.logger),e.fieldTitle&&Tq(e.fieldTitle);try{const n=lH(Object(K.N)(e.config,t.config)),r=TH(t,n),i=rJ(r,null,"",void 0,n);return i.parse(),function(t,e){ZV(t.sources);let n=0,r=0;for(let r=0;r"width"!==t.name&&"height"!==t.name||void 0===t.value||(e[t.name]=+t.value,!1)),Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({$schema:"https://vega.github.io/schema/vega/v5.json"},t.description?{description:t.description}:{}),e),s?{title:s}:{}),u?{style:u}:{}),l?{encode:{update:l}}:{}),{data:o}),a.length>0?{projections:a}:{}),t.assembleGroup([...c,...t.assembleSelectionTopLevelSignals([])])),i?{config:i}:{}),r?{usermeta:r}:{})}(i,function(t,e,n,r){const i=r.component.layoutSize.get("width"),o=r.component.layoutSize.get("height");void 0===e?(e={type:"pad"},r.hasAxisOrientSignalRef()&&(e.resize=!0)):Object(K.H)(e)&&(e={type:e});if(i&&o&&function(t){return"fit"===t||"fit-x"===t||"fit-y"===t}(e.type))if("step"===i&&"step"===o)bI(v.droppingFit()),e.type="pad";else if("step"===i||"step"===o){const t="step"===i?"width":"height";bI(v.droppingFit(AL(t)));const n="width"===t?"height":"width";e.type=function(t){return t?`fit-${AL(t)}`:"fit"}(n)}return Object.assign(Object.assign(Object.assign({},1===Vz(e).length&&e.type?"pad"===e.type?{}:{autosize:e.type}:{autosize:e}),LH(n)),LH(t))}(t,r.autosize,n,i),t.datasets,t.usermeta),normalized:r}}finally{e.logger&&yI(),e.fieldTitle&&Tq($q)}}const oJ=new class extends mH{mapUnit(t,{config:e}){if(t.encoding){const{encoding:n,transform:r}=t,{bins:i,timeUnits:o,aggregate:a,groupby:s,encoding:u}=hW(n,e),l=[...r||[],...i,...o,...0===a.length?[]:[{aggregate:a,groupby:s}]];return Object.assign(Object.assign(Object.assign({},t),l.length>0?{transform:l}:{}),{encoding:u})}return t}};function aJ(t,e){return oJ.map(t,{config:e})}const sJ=_z.version;var uJ=n(39),lJ=n.n(uJ),cJ=n(57);var fJ={background:"#333",title:{color:"#fff"},style:{"guide-label":{fill:"#fff"},"guide-title":{fill:"#fff"}},axis:{domainColor:"#fff",gridColor:"#888",tickColor:"#fff"}};var dJ={background:"#fff",arc:{fill:"#4572a7"},area:{fill:"#4572a7"},line:{stroke:"#4572a7",strokeWidth:2},path:{stroke:"#4572a7"},rect:{fill:"#4572a7"},shape:{stroke:"#4572a7"},symbol:{fill:"#4572a7",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"]}};var hJ={arc:{fill:"#30a2da"},area:{fill:"#30a2da"},axis:{domainColor:"#cbcbcb",grid:!0,gridColor:"#cbcbcb",gridWidth:1,labelColor:"#999",labelFontSize:10,titleColor:"#333",tickColor:"#cbcbcb",tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:"#f0f0f0",group:{fill:"#f0f0f0"},legend:{labelColor:"#333",labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:"#333",titleFontSize:14,titlePadding:10},line:{stroke:"#30a2da",strokeWidth:2},path:{stroke:"#30a2da",strokeWidth:.5},rect:{fill:"#30a2da"},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:"#30a2da"},bar:{binSpacing:2,fill:"#30a2da",stroke:null},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}};var pJ={group:{fill:"#e5e5e5"},arc:{fill:"#000"},area:{fill:"#000"},line:{stroke:"#000"},path:{stroke:"#000"},rect:{fill:"#000"},shape:{stroke:"#000"},symbol:{fill:"#000",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"]}};const gJ="Benton Gothic Bold, sans-serif",mJ={"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"]};var vJ={background:"#ffffff",title:{anchor:"start",color:"#000000",font:gJ,fontSize:22,fontWeight:"normal"},arc:{fill:"#82c6df"},area:{fill:"#82c6df"},line:{stroke:"#82c6df",strokeWidth:2},path:{stroke:"#82c6df"},rect:{fill:"#82c6df"},shape:{stroke:"#82c6df"},symbol:{fill:"#82c6df",size:30},axis:{labelFont:"Benton Gothic, sans-serif",labelFontSize:11.5,labelFontWeight:"normal",titleFont:gJ,titleFontSize:13,titleFontWeight:"normal"},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:"Benton Gothic, sans-serif",labelFontSize:11.5,symbolType:"square",titleFont:gJ,titleFontSize:13,titleFontWeight:"normal"},range:{category:mJ["category-6"],diverging:mJ["fireandice-6"],heatmap:mJ["fire-7"],ordinal:mJ["fire-7"],ramp:mJ["fire-7"]}};var yJ={background:"#f9f9f9",arc:{fill:"#ab5787"},area:{fill:"#ab5787"},line:{stroke:"#ab5787"},path:{stroke:"#ab5787"},rect:{fill:"#ab5787"},shape:{stroke:"#ab5787"},symbol:{fill:"#ab5787",size:30},axis:{domainColor:"#979797",domainWidth:.5,gridWidth:.2,labelColor:"#979797",tickColor:"#979797",tickWidth:.2,titleColor:"#979797"},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"]}};var bJ={background:"#fff",arc:{fill:"#3e5c69"},area:{fill:"#3e5c69"},line:{stroke:"#3e5c69"},path:{stroke:"#3e5c69"},rect:{fill:"#3e5c69"},shape:{stroke:"#3e5c69"},symbol:{fill:"#3e5c69"},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"]}};const xJ={"main-colors":["#1696d2","#d2d2d2","#000000","#fdbf11","#ec008b","#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"]};var _J={background:"#FFFFFF",title:{anchor:"start",fontSize:18,font:"Lato"},axisX:{domain:!0,domainColor:"#000000",domainWidth:1,grid:!1,labelFontSize:12,labelFont:"Lato",labelAngle:0,tickColor:"#000000",tickSize:5,titleFontSize:12,titlePadding:10,titleFont:"Lato"},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:"#DEDDDD",gridWidth:1,labelFontSize:12,labelFont:"Lato",labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:"Lato",titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:"Lato",symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:"Lato",orient:"right",offset:10},view:{stroke:"transparent"},range:{category:xJ["six-groups-cat-1"],diverging:xJ["diverging-colors"],heatmap:xJ["diverging-colors"],ordinal:xJ["six-groups-seq"],ramp:xJ["shades-blue"]},area:{fill:"#1696d2"},rect:{fill:"#1696d2"},line:{color:"#1696d2",stroke:"#1696d2",strokeWidth:5},trail:{color:"#1696d2",stroke:"#1696d2",strokeWidth:0,size:1},path:{stroke:"#1696d2",strokeWidth:.5},point:{filled:!0},text:{font:"Lato",color:"#1696d2",fontSize:11,align:"center",fontWeight:400,size:11},style:{bar:{fill:"#1696d2",stroke:null}},arc:{fill:"#1696d2"},shape:{stroke:"#1696d2"},symbol:{fill:"#1696d2",size:30}};var wJ={arc:{fill:"#3366CC"},area:{fill:"#3366CC"},path:{stroke:"#3366CC"},rect:{fill:"#3366CC"},shape:{stroke:"#3366CC"},symbol:{stroke:"#3366CC"},circle:{fill:"#3366CC"},background:"#fff",padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:"Arial, sans-serif",fontSize:12},"guide-title":{font:"Arial, sans-serif",fontSize:12},"group-title":{font:"Arial, sans-serif",fontSize:12}},title:{font:"Arial, sans-serif",fontSize:14,fontWeight:"bold",dy:-3,anchor:"start"},axis:{gridColor:"#ccc",tickColor:"#ccc",domain:!1,grid:!0},range:{category:["#4285F4","#DB4437","#F4B400","#0F9D58","#AB47BC","#00ACC1","#FF7043","#9E9D24","#5C6BC0","#F06292","#00796B","#C2185B"],heatmap:["#c6dafc","#5e97f6","#2a56c6"]}};const OJ=cJ.version;var jJ=n(58),kJ="#vg-tooltip-element {\n visibility: hidden;\n padding: 8px;\n position: fixed;\n z-index: 1000;\n font-family: sans-serif;\n font-size: 11px;\n border-radius: 3px;\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n /* The default theme is the light theme. */\n background-color: rgba(255, 255, 255, 0.95);\n border: 1px solid #d9d9d9;\n color: black; }\n #vg-tooltip-element.visible {\n visibility: visible; }\n #vg-tooltip-element h2 {\n margin-top: 0;\n margin-bottom: 10px;\n font-size: 13px; }\n #vg-tooltip-element img {\n max-width: 200px;\n max-height: 200px; }\n #vg-tooltip-element table {\n border-spacing: 0; }\n #vg-tooltip-element table tr {\n border: none; }\n #vg-tooltip-element table tr td {\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: 2px;\n padding-bottom: 2px; }\n #vg-tooltip-element table tr td.key {\n color: #808080;\n max-width: 150px;\n text-align: right;\n padding-right: 4px; }\n #vg-tooltip-element table tr td.value {\n display: block;\n max-width: 300px;\n max-height: 7em;\n text-align: left; }\n #vg-tooltip-element.dark-theme {\n background-color: rgba(32, 32, 32, 0.9);\n border: 1px solid #f5f5f5;\n color: white; }\n #vg-tooltip-element.dark-theme td.key {\n color: #bfbfbf; }\n";const AJ="vg-tooltip-element",EJ={offsetX:10,offsetY:10,id:AJ,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:function(t){return String(t).replace(/&/g,"&").replace(/t?"[Object]":e.indexOf(r)>=0?"[Circular]":(e.push(r),r)}}(e))}class CJ{constructor(t){this.options=Object.assign(Object.assign({},EJ),t);const e=this.options.id;if(this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){const t=document.createElement("style");t.setAttribute("id",this.options.styleId),t.innerHTML=function(t){if(!/^[A-Za-z]+[-:.\w]*$/.test(t))throw new Error("Invalid HTML ID");return kJ.toString().replace(AJ,t)}(e);const n=document.head;n.childNodes.length>0?n.insertBefore(t,n.childNodes[0]):n.appendChild(t)}this.el=document.getElementById(e),this.el||(this.el=document.createElement("div"),this.el.setAttribute("id",e),this.el.classList.add("vg-tooltip"),document.body.appendChild(this.el))}tooltipHandler(t,e,n,r){if(null==r||""===r)return void this.el.classList.remove("visible",`${this.options.theme}-theme`);this.el.innerHTML=function(t,e,n){if(Object(K.A)(t))return`[${t.map(t=>e(Object(K.H)(t)?t:DJ(t,n))).join(", ")}]`;if(Object(K.F)(t)){let r="";const i=t,{title:o,image:a}=i,s=SJ(i,["title","image"]);o&&(r+=`

${e(o)}

`),a&&(r+=``);const u=Object.keys(s);if(u.length>0){r+="";for(const t of u){let i=s[t];void 0!==i&&(Object(K.F)(i)&&(i=DJ(i,n)),r+=``)}r+="
${e(t)}:${e(i)}
"}return r||"{}"}return e(t)}(r,this.options.sanitize,this.options.maxDepth),this.el.classList.add("visible",`${this.options.theme}-theme`);const{x:i,y:o}=function(t,e,n,r){let i=t.clientX+n;i+e.width>window.innerWidth&&(i=+t.clientX-n-e.width);let o=t.clientY+r;return o+e.height>window.innerHeight&&(o=+t.clientY-r-e.height),{x:i,y:o}}(e,this.el.getBoundingClientRect(),this.options.offsetX,this.options.offsetY);this.el.setAttribute("style",`top: ${o}px; left: ${i}px`)}}jJ.version;var MJ,FJ=function(t,e,n){const r=t.open(e),i=250,{origin:o}=new URL(e);let a=~~(1e4/i);t.addEventListener("message",function e(n){n.source===r&&(a=0,t.removeEventListener("message",e,!1))},!1),setTimeout(function t(){a<=0||(r.postMessage(n,o),setTimeout(t,i),a-=1)},i)},$J='.vega-embed {\n position: relative;\n display: inline-block; }\n .vega-embed.has-actions {\n padding-right: 38px; }\n .vega-embed details:not([open]) > :not(summary) {\n display: none !important; }\n .vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n outline: none;\n cursor: pointer;\n line-height: 0px; }\n .vega-embed summary::-webkit-details-marker {\n display: none; }\n .vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset; }\n .vega-embed summary svg {\n width: 14px;\n height: 14px; }\n .vega-embed details[open] summary {\n opacity: 0.7; }\n .vega-embed:hover summary,\n .vega-embed:focus summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease; }\n .vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left; }\n .vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none; }\n .vega-embed .vega-actions a:hover {\n background-color: #f7f7f9;\n color: black; }\n .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: "";\n display: inline-block;\n position: absolute; }\n .vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid #0000;\n border-bottom-color: #d9d9d9; }\n .vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid #0000;\n border-bottom-color: #fff; }\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: scroll;\n padding-right: 14px; }\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6); }\n to {\n opacity: 1;\n transform: scale(1); } }\n';function NJ(t,...e){for(const n of e)TJ(t,n);return t}function TJ(t,e){for(const n of Object.keys(e))Object(K.jb)(t,n,e[n],!0)}String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return this.substr(!e||e<0?0:+e,t.length)===t}),n.d(e,"vega",function(){return zJ}),n.d(e,"vegaLite",function(){return RJ}),n.d(e,"DEFAULT_ACTIONS",function(){return LJ}),n.d(e,"guessMode",function(){return YJ}),n.d(e,"default",function(){return GJ});const zJ=m;let RJ=y;const PJ="undefined"!=typeof window?window:void 0;void 0===RJ&&(null===(MJ=null===PJ||void 0===PJ?void 0:PJ.vl)||void 0===MJ?void 0:MJ.compile)&&(RJ=PJ.vl);const LJ={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},BJ={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"},IJ={vega:"Vega","vega-lite":"Vega-Lite"},UJ={vega:zJ.version,"vega-lite":RJ?RJ.version:"not available"},qJ={vega:t=>t,"vega-lite":(t,e)=>RJ.compile(t,{config:e}).spec},WJ='\n\n \n \n \n';function HJ(t,e,n,r){const i=`${e}
`,o=`
${n}`,a=window.open("");a.document.write(i+t+o),a.document.title=`${IJ[r]} JSON Source`}function YJ(t,e){var n;if(t.$schema){const r=lJ()(t.$schema);e&&e!==r.library&&console.warn(`The given visualization spec is written in ${IJ[r.library]}, but mode argument sets ${null!==(n=IJ[e])&&void 0!==n?n:e}.`);const i=r.library;return Object(Q.satisfies)(UJ[i],`^${r.version.slice(1)}`)||console.warn(`The input spec uses ${IJ[i]} ${r.version}, but the current version of ${IJ[i]} is v${UJ[i]}.`),i}return"mark"in t||"encoding"in t||"layer"in t||"hconcat"in t||"vconcat"in t||"facet"in t||"repeat"in t?"vega-lite":"marks"in t||"signals"in t||"scales"in t||"axes"in t?"vega":null!==e&&void 0!==e?e:"vega"}function GJ(t,e,n={}){var r,i,o;return x(this,void 0,void 0,function*(){const a=function(t){return!!(t&&"load"in t)}(n.loader)?n.loader:zJ.loader(n.loader),s=Object(K.H)(e)?JSON.parse(yield a.load(e)):e,u=yield VJ(null!==(r=s.usermeta&&s.usermeta.embedOptions)&&void 0!==r?r:{},a),l=yield VJ(n,a),c=Object.assign(Object.assign({},NJ(l,u)),{config:Object(K.N)(null!==(i=l.config)&&void 0!==i?i:{},null!==(o=u.config)&&void 0!==o?o:{})});return yield function(t,e,n={},r){var i,o,a,s,u,l;return x(this,void 0,void 0,function*(){const c=n.theme?Object(K.N)(b[n.theme],null!==(i=n.config)&&void 0!==i?i:{}):n.config,f=Object(K.B)(n.actions)?n.actions:NJ({},LJ,null!==(o=n.actions)&&void 0!==o?o:{}),d=Object.assign(Object.assign({},BJ),n.i18n),h=null!==(a=n.renderer)&&void 0!==a?a:"canvas",p=null!==(s=n.logLevel)&&void 0!==s?s:zJ.Warn,g=null!==(u=n.downloadFileName)&&void 0!==u?u:"visualization";if(!1!==n.defaultStyle){const t="vega-embed-style";if(!document.getElementById(t)){const e=document.createElement("style");e.id=t,e.innerText=void 0===n.defaultStyle||!0===n.defaultStyle?(null!==$J&&void 0!==$J?$J:"").toString():n.defaultStyle,document.head.appendChild(e)}}const m=YJ(e,n.mode);let v=qJ[m](e,c);if("vega-lite"===m&&v.$schema){const t=lJ()(v.$schema);Object(Q.satisfies)(UJ.vega,`^${t.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${t.version}, but current version is v${UJ.vega}.`)}const y="string"==typeof t?document.querySelector(t):t;if(!y)throw Error(`${t} does not exist`);y.classList.add("vega-embed"),f&&y.classList.add("has-actions"),y.innerHTML="";const _=n.patch;_&&(v=_ instanceof Function?_(v):R(v,_,!0,!1).newDocument),n.formatLocale&&zJ.formatLocale(n.formatLocale),n.timeFormatLocale&&zJ.timeFormatLocale(n.timeFormatLocale);const w=zJ.parse(v,"vega-lite"===m?{}:c),O=new zJ.View(w,{loader:r,logLevel:p,renderer:h});if(!1!==n.tooltip){let t;t=function(t){return"function"==typeof t}(n.tooltip)?n.tooltip:new CJ(!0===n.tooltip?{}:n.tooltip).call,O.tooltip(t)}let j,{hover:k}=n;if(void 0===k&&(k="vega"===m),k){const{hoverSet:t,updateSet:e}="boolean"==typeof k?{}:k;O.hover(t,e)}if(n&&(null!=n.width&&O.width(n.width),null!=n.height&&O.height(n.height),null!=n.padding&&O.padding(n.padding)),yield O.initialize(t).runAsync(),!1!==f){let t=y;if(!1!==n.defaultStyle){const e=document.createElement("details");e.title=d.CLICK_TO_VIEW_ACTIONS,y.append(e),t=e;const n=document.createElement("summary");n.innerHTML=WJ,e.append(n),j=(t=>{e.contains(t.target)||e.removeAttribute("open")}),document.addEventListener("click",j)}const r=document.createElement("div");if(t.append(r),r.classList.add("vega-actions"),!0===f||!1!==f.export)for(const t of["svg","png"])if(!0===f||!0===f.export||f.export[t]){const e=d[`${t.toUpperCase()}_ACTION`],i=document.createElement("a");i.text=e,i.href="#",i.target="_blank",i.download=`${g}.${t}`,i.addEventListener("mousedown",function(e){return x(this,void 0,void 0,function*(){e.preventDefault();const r=yield O.toImageURL(t,n.scaleFactor);this.href=r})}),r.append(i)}if(!0===f||!1!==f.source){const t=document.createElement("a");t.text=d.SOURCE_ACTION,t.href="#",t.addEventListener("click",function(t){var r,i;HJ(J()(e),null!==(r=n.sourceHeader)&&void 0!==r?r:"",null!==(i=n.sourceFooter)&&void 0!==i?i:"",m),t.preventDefault()}),r.append(t)}if("vega-lite"===m&&(!0===f||!1!==f.compiled)){const t=document.createElement("a");t.text=d.COMPILED_ACTION,t.href="#",t.addEventListener("click",function(t){var e,r;HJ(J()(v),null!==(e=n.sourceHeader)&&void 0!==e?e:"",null!==(r=n.sourceFooter)&&void 0!==r?r:"","vega"),t.preventDefault()}),r.append(t)}if(!0===f||!1!==f.editor){const t=null!==(l=n.editorUrl)&&void 0!==l?l:"https://vega.github.io/editor/",i=document.createElement("a");i.text=d.EDITOR_ACTION,i.href="#",i.addEventListener("click",function(n){FJ(window,t,{config:c,mode:m,renderer:h,spec:J()(e)}),n.preventDefault()}),r.append(i)}}return{view:O,spec:e,vgSpec:v,finalize:function(){j&&document.removeEventListener("click",j);O.finalize()}}})}(t,s,c,a)})}function VJ(t,e){var n;return x(this,void 0,void 0,function*(){const r=Object(K.H)(t.config)?JSON.parse(yield e.load(t.config)):null!==(n=t.config)&&void 0!==n?n:{},i=Object(K.H)(t.patch)?JSON.parse(yield e.load(t.patch)):t.patch;return Object.assign(Object.assign(Object.assign({},t),i?{patch:i}:{}),r?{config:r}:{})})}},,,function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.compose=e.merge=e.$=e.style=e.presets=e.keyframes=e.fontFace=e.insertGlobal=e.insertRule=e.plugins=e.styleSheet=void 0,e.speedy=function(t){return f.speedy(t)},e.simulations=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];m=!!t},e.simulate=function(){for(var t=arguments.length,e=Array(t),n=0;n1?e-1:0),r=1;r1?e-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:"";return t.toLowerCase().replace(/[^a-z0-9]/g,e)}function _(t){var e=JSON.stringify(t),n=(0,u.default)(e).toString(36);return t.label&&t.label.length>0&&h?x(t.label.join("."),"-")+"-"+n:n}function w(t){var e=Object.keys(t).filter(function(t){return"toString"!==t});return 1===e.length&&!!/data\-css\-([a-zA-Z0-9\-_]+)/.exec(e[0])}function O(t){var e=Object.keys(t).filter(function(t){return"toString"!==t});if(1!==e.length)throw new Error("not a rule");var n=/data\-css\-([a-zA-Z0-9\-_]+)/.exec(e[0]);if(!n)throw new Error("not a rule");return n[1]}var j=/[(),]|"(?:\\.|[^"\n])*"|'(?:\\.|[^'\n])*'|\/\*[\s\S]*?\*\//g;function k(t){if(-1===t.indexOf(","))return[t];for(var e,n=[],r=[],i=0;e=j.exec(t);)switch(e[0]){case"(":i++;break;case")":i--;break;case",":if(i)break;n.push(e.index)}for(e=n.length;e--;)r.unshift(t.slice(n[e]+1)),t=t.slice(0,n[e]);return r.unshift(t),r}function A(t,e){if(!t)return e.replace(/\&/g,"");if(!e)return".css-"+t+",[data-css-"+t+"]";var n=k(e).map(function(e){return e.indexOf("&")>=0?[e.replace(/\&/gm,".css-"+t),e.replace(/\&/gm,"[data-css-"+t+"]")].join(","):".css-"+t+e+",[data-css-"+t+"]"+e}).join(",");return m&&/^\&\:/.exec(e)&&!/\s/.exec(e)&&(n+=",.css-"+t+"[data-simulate-"+x(e)+"],[data-css-"+t+"][data-simulate-"+x(e)+"]"),n}function E(t){var e=t.selector,n=t.style,r=d.transform({selector:e,style:n});return r.selector+"{"+(0,o.createMarkupForStyles)(r.style)+"}"}function S(t){var e=void 0,n=void 0,r=void 0,i=void 0;return Object.keys(t).forEach(function(o){o.indexOf("&")>=0?(n=n||{})[o]=t[o]:0===o.indexOf("@media")?(r=r||{})[o]=S(t[o]):0===o.indexOf("@supports")?(i=i||{})[o]=S(t[o]):"label"===o?t.label.length>0&&((e=e||{}).label=b?t.label.join("."):""):(e=e||{})[o]=t[o]}),{plain:e,selects:n,medias:r,supports:i}}function D(t,e){var n=[],r=e.plain,i=e.selects,o=e.medias,a=e.supports;return r&&n.push(E({style:r,selector:A(t)})),i&&Object.keys(i).forEach(function(e){return n.push(E({style:i[e],selector:A(t,e)}))}),o&&Object.keys(o).forEach(function(e){return n.push(e+"{"+D(t,o[e]).join("")+"}")}),a&&Object.keys(a).forEach(function(e){return n.push(e+"{"+D(t,a[e]).join("")+"}")}),n}var C=f.inserted={};var M=f.registered={};function F(t){M[t.id]||(M[t.id]=t)}var $={};function N(t){if(F(t),function(t){if(!C[t.id]){C[t.id]=!0;var e=S(t.style),n=D(t.id,e);C[t.id]=!!g||n,n.forEach(function(t){return f.insert(t)})}}(t),$[t.id])return $[t.id];var e=c({},"data-css-"+t.id,b&&t.label||"");return Object.defineProperty(e,"toString",{enumerable:!1,value:function(){return"css-"+t.id}}),$[t.id]=e,e}function T(t,e){var n=k(t).map(function(t){return t.indexOf("&")>=0?t:"&"+t});return k(e).map(function(t){return t.indexOf("&")>=0?t:"&"+t}).reduce(function(t,e){return t.concat(n.map(function(t){return e.replace(/\&/g,t)}))},[]).join(",")}var z={"::placeholder":["::-webkit-input-placeholder","::-moz-placeholder","::-ms-input-placeholder"],":fullscreen":[":-webkit-full-screen",":-moz-full-screen",":-ms-fullscreen"]};function R(t,e){var n=e.selector,r=void 0===n?"":n,i=e.mq,o=void 0===i?"":i,s=e.supp,u=void 0===s?"":s,l=e.src,c=void 0===l?{}:l;Array.isArray(c)||(c=[c]),(c=function t(e){for(var n=[],r=0;r"," "],n=!1,r=t.charAt(0),i=0;i=0}(n))z[n]&&z[n].forEach(function(i){return R(t,{selector:T(r,i),mq:o,supp:u,src:e[n]})}),R(t,{selector:T(r,n),mq:o,supp:u,src:e[n]});else if(function(t){return 0===t.indexOf("@media")}(n))R(t,{selector:r,mq:function(t,e){return t?"@media "+t.substring(6)+" and "+e.substring(6):e}(o,n),supp:u,src:e[n]});else if(function(t){return 0===t.indexOf("@supports")}(n))R(t,{selector:r,mq:o,supp:function(t,e){return t?"@supports "+t.substring(9)+" and "+e.substring(9):e}(u,n),src:e[n]});else if("composes"===n);else{var i=t;u&&(i[u]=i[u]||{},i=i[u]),o&&(i[o]=i[o]||{},i=i[o]),r&&(i[r]=i[r]||{},i=i[r]),"label"===n?b&&(t.label=t.label.concat(e.label)):i[n]=e[n]}})})}function P(t){var e={label:[]};return R(e,{src:t}),N({id:_(e),style:e,label:b?e.label.join("."):"",type:"css"})}var L={};Object.defineProperty(L,"toString",{enumerable:!1,value:function(){return"css-nil"}});var B="undefined"!=typeof WeakMap?[L,new WeakMap,new WeakMap,new WeakMap]:[L],I=!1;var U="undefined"!=typeof WeakMap?function(t){return function(e){if(B[e.length]){for(var n=B[e.length],r=0;r1?e-1:0),r=1;r1?e-1:0),r=1;rconsole.error("SEMVER",...t):()=>{};t.exports=n}).call(this,n(67))},function(t,e,n){const r=n(3);t.exports=((t,e,n)=>r(t,e,n)>0)},function(t,e,n){const r=Symbol("SemVer ANY");class i{static get ANY(){return r}constructor(t,e){if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),t instanceof i){if(t.loose===!!e.loose)return t;t=t.value}u("comparator",t,e),this.options=e,this.loose=!!e.loose,this.parse(t),this.semver===r?this.value="":this.value=this.operator+this.semver.version,u("comp",this)}parse(t){const e=this.options.loose?o[a.COMPARATORLOOSE]:o[a.COMPARATOR],n=t.match(e);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new l(n[2],this.options.loose):this.semver=r}toString(){return this.value}test(t){if(u("Comparator.test",t,this.options.loose),this.semver===r||t===r)return!0;if("string"==typeof t)try{t=new l(t,this.options)}catch(t){return!1}return s(t,this.operator,this.semver,this.options)}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Comparator is required");if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),""===this.operator)return""===this.value||new c(t.value,e).test(this.value);if(""===t.operator)return""===t.value||new c(this.value,e).test(t.semver);const n=!(">="!==this.operator&&">"!==this.operator||">="!==t.operator&&">"!==t.operator),r=!("<="!==this.operator&&"<"!==this.operator||"<="!==t.operator&&"<"!==t.operator),o=this.semver.version===t.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==t.operator&&"<="!==t.operator),u=s(this.semver,"<",t.semver,e)&&(">="===this.operator||">"===this.operator)&&("<="===t.operator||"<"===t.operator),l=s(this.semver,">",t.semver,e)&&("<="===this.operator||"<"===this.operator)&&(">="===t.operator||">"===t.operator);return n||r||o&&a||u||l}}t.exports=i;const{re:o,t:a}=n(9),s=n(43),u=n(18),l=n(2),c=n(4)},function(t,e,n){const r=n(4);t.exports=((t,e,n)=>{try{e=new r(e,n)}catch(t){return!1}return e.test(t)})},function(t,e,n){"use strict"; /* * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */ function r(t,e){if(!t)throw new Error("string"==typeof e?e:e())}function i(t,e){if(t.length!==e.length)return!1;for(let n=0;nn&&(n=e),e{const e=i.scalar(0,t.dtype);return[t.min(),t.max(),t.equal(e).sum()]});return Promise.all([t.data(),e.data(),n.data(),r.data()]).then(([t,e,n,r])=>{const i=t.length;let o=0,a=0;for(let e=0;ei.maximum(r.max(),s.max()).cast("int32").dataSync()[0]+1));let u=Promise.resolve(null);return null!=a&&(u=a.data()),Promise.all([r.data(),s.data(),u]).then(([t,e,r])=>{const i=Array(n).fill(0);for(let t=0;ti.maximum(t.max(),e.max()).dataSync()[0]+1)),Promise.all([t.data(),e.data()]).then(([t,e])=>{const r=Array(n).fill(0),i=Array(n).fill(0);for(let n=0;nt),h.exit().remove();const g=r.format(",.4~f"),m=c.select("tbody").selectAll("tr").data(e.values),v=m.enter().append("tr"),y=o.css({padding:"0.25rem",borderBottomStyle:"solid",borderBottomWidth:"1px",borderColor:"rgba( 0, 0, 0, .2 )"}),b=m.merge(v).selectAll("td").data(t=>t),x=b.enter().append("td").attr("class",`${y}`);b.merge(x).html(t=>"number"==typeof t?g(t):t),b.exit().remove(),m.exit().remove()};const s={fontSize:14}},function(t,e,n){"use strict";(function(t){n.d(e,"a",function(){return i});var r=n(0);function i(e,n){const i=n&&n.property?Object(r.t)(n.property):r.x;return Object(r.F)(e)&&!function(e){return!("function"!=typeof t||!Object(r.D)(t.isBuffer))&&t.isBuffer(e)}(e)?function(t,e){return e&&e.copy?JSON.parse(JSON.stringify(t)):t}(i(e)):i(JSON.parse(e))}i.responseType="json"}).call(this,n(44).Buffer)},function(t,e,n){"use strict";var r=/("(?:[^\\"]|\\.)*")|[:,]/g;t.exports=function(t,e){var n,i,o;return e=e||{},n=JSON.stringify([1],void 0,void 0===e.indent?2:e.indent).slice(2,-3),i=""===n?1/0:void 0===e.maxLength?80:e.maxLength,o=e.replacer,function t(e,a,s){var u,l,c,f,d,h,p,g,m,v,y,b;if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),void 0===(y=JSON.stringify(e,o)))return y;if(p=i-a.length-s,y.length<=p&&(m=y.replace(r,function(t,e){return e||t+" "})).length<=p)return m;if(null!=o&&(e=JSON.parse(y),o=void 0),"object"==typeof e&&null!==e){if(g=a+n,c=[],l=0,Array.isArray(e))for(v="[",u="]",p=e.length;l0)return[v,n+c.join(",\n"+g),u].join("\n"+a)}return y}(t,"",0)}},,function(t,e){const n=/^[0-9]+$/,r=(t,e)=>{const r=n.test(t),i=n.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tr(e,t)}},function(t,e,n){const r=n(3);t.exports=((t,e,n)=>0===r(t,e,n))},function(t,e,n){const r=n(2);t.exports=((t,e,n)=>{const i=new r(t,n),o=new r(e,n);return i.compare(o)||i.compareBuild(o)})},function(t,e,n){const r=n(3);t.exports=((t,e,n)=>r(t,e,n)<0)},function(t,e,n){const r=n(3);t.exports=((t,e,n)=>r(t,e,n)>=0)},function(t,e,n){const r=n(3);t.exports=((t,e,n)=>r(t,e,n)<=0)},function(t,e,n){const r=n(2),i=n(20),{ANY:o}=i,a=n(4),s=n(21),u=n(19),l=n(31),c=n(33),f=n(32);t.exports=((t,e,n,d)=>{let h,p,g,m,v;switch(t=new r(t,d),e=new a(e,d),n){case">":h=u,p=c,g=l,m=">",v=">=";break;case"<":h=l,p=f,g=u,m="<",v="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(t,e,d))return!1;for(let n=0;n{t.semver===o&&(t=new i(">=0.0.0")),r=r||t,a=a||t,h(t.semver,r.semver,d)?r=t:g(t.semver,a.semver,d)&&(a=t)}),r.operator===m||r.operator===v)return!1;if((!a.operator||a.operator===m)&&p(t,a.semver))return!1;if(a.operator===v&&g(t,a.semver))return!1}return!0})},function(t,e,n){"use strict"; /* object-assign (c) Sindre Sorhus @license MIT */var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(t){r[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,a,s=function(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),u=1;u2;)i.push(arguments[u]);for(e&&null!=e.children&&(i.length||i.push(e.children),delete e.children);i.length;)if((a=i.pop())&&void 0!==a.pop)for(u=a.length;u--;)i.push(a[u]);else"boolean"==typeof a&&(a=null),(s="function"!=typeof t)&&(null==a?a="":"number"==typeof a?a=String(a):"string"!=typeof a&&(s=!1)),s&&n?l[l.length-1]+=a:l===o?l=[a]:l.push(a),n=s;var c=new function(){};return c.nodeName=t,c.children=l,c.attributes=null==e?void 0:e,c.key=null==e?void 0:e.key,void 0!==r.vnode&&r.vnode(c),c}function s(t,e){for(var n in e)t[n]=e[n];return t}var u="function"==typeof Promise?Promise.resolve().then.bind(Promise.resolve()):setTimeout;function l(t,e){return a(t.nodeName,s(s({},t.attributes),e),arguments.length>2?[].slice.call(arguments,2):t.children)}var c=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,f=[];function d(t){!t._dirty&&(t._dirty=!0)&&1==f.push(t)&&(r.debounceRendering||u)(h)}function h(){var t,e=f;for(f=[];t=e.pop();)t._dirty&&$(t)}function p(t,e,n){return"string"==typeof e||"number"==typeof e?void 0!==t.splitText:"string"==typeof e.nodeName?!t._componentConstructor&&g(t,e.nodeName):n||t._componentConstructor===e.nodeName}function g(t,e){return t.normalizedNodeName===e||t.nodeName.toLowerCase()===e.toLowerCase()}function m(t){var e=s({},t.attributes);e.children=t.children;var n=t.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===e[r]&&(e[r]=n[r]);return e}function v(t){var e=t.parentNode;e&&e.removeChild(t)}function y(t,e,n,r,i){if("className"===e&&(e="class"),"key"===e);else if("ref"===e)n&&n(null),r&&r(t);else if("class"!==e||i)if("style"===e){if(r&&"string"!=typeof r&&"string"!=typeof n||(t.style.cssText=r||""),r&&"object"==typeof r){if("string"!=typeof n)for(var o in n)o in r||(t.style[o]="");for(var o in r)t.style[o]="number"==typeof r[o]&&!1===c.test(o)?r[o]+"px":r[o]}}else if("dangerouslySetInnerHTML"===e)r&&(t.innerHTML=r.__html||"");else if("o"==e[0]&&"n"==e[1]){var a=e!==(e=e.replace(/Capture$/,""));e=e.toLowerCase().substring(2),r?n||t.addEventListener(e,b,a):t.removeEventListener(e,b,a),(t._listeners||(t._listeners={}))[e]=r}else if("list"!==e&&"type"!==e&&!i&&e in t)!function(t,e,n){try{t[e]=n}catch(t){}}(t,e,null==r?"":r),null!=r&&!1!==r||t.removeAttribute(e);else{var s=i&&e!==(e=e.replace(/^xlink:?/,""));null==r||!1===r?s?t.removeAttributeNS("http://www.w3.org/1999/xlink",e.toLowerCase()):t.removeAttribute(e):"function"!=typeof r&&(s?t.setAttributeNS("http://www.w3.org/1999/xlink",e.toLowerCase(),r):t.setAttribute(e,r))}else t.className=r||""}function b(t){return this._listeners[t.type](r.event&&r.event(t)||t)}var x=[],_=0,w=!1,O=!1;function j(){for(var t;t=x.pop();)r.afterMount&&r.afterMount(t),t.componentDidMount&&t.componentDidMount()}function k(t,e,n,r,i,o){_++||(w=null!=i&&void 0!==i.ownerSVGElement,O=null!=t&&!("__preactattr_"in t));var a=A(t,e,n,r,o);return i&&a.parentNode!==i&&i.appendChild(a),--_||(O=!1,o||j()),a}function A(t,e,n,r,i){var o=t,a=w;if(null!=e&&"boolean"!=typeof e||(e=""),"string"==typeof e||"number"==typeof e)return t&&void 0!==t.splitText&&t.parentNode&&(!t._component||i)?t.nodeValue!=e&&(t.nodeValue=e):(o=document.createTextNode(e),t&&(t.parentNode&&t.parentNode.replaceChild(o,t),E(t,!0))),o.__preactattr_=!0,o;var s=e.nodeName;if("function"==typeof s)return function(t,e,n,r){var i=t&&t._component,o=i,a=t,s=i&&t._componentConstructor===e.nodeName,u=s,l=m(e);for(;i&&!u&&(i=i._parentComponent);)u=i.constructor===e.nodeName;i&&u&&(!r||i._component)?(F(i,l,3,n,r),t=i.base):(o&&!s&&(N(o),t=a=null),i=C(e.nodeName,l,n),t&&!i.nextBase&&(i.nextBase=t,a=null),F(i,l,1,n,r),t=i.base,a&&t!==a&&(a._component=null,E(a,!1)));return t}(t,e,n,r);if(w="svg"===s||"foreignObject"!==s&&w,s=String(s),(!t||!g(t,s))&&(o=function(t,e){var n=e?document.createElementNS("http://www.w3.org/2000/svg",t):document.createElement(t);return n.normalizedNodeName=t,n}(s,w),t)){for(;t.firstChild;)o.appendChild(t.firstChild);t.parentNode&&t.parentNode.replaceChild(o,t),E(t,!0)}var u=o.firstChild,l=o.__preactattr_,c=e.children;if(null==l){l=o.__preactattr_={};for(var f=o.attributes,d=f.length;d--;)l[f[d].name]=f[d].value}return!O&&c&&1===c.length&&"string"==typeof c[0]&&null!=u&&void 0!==u.splitText&&null==u.nextSibling?u.nodeValue!=c[0]&&(u.nodeValue=c[0]):(c&&c.length||null!=u)&&function(t,e,n,r,i){var o,a,s,u,l,c=t.childNodes,f=[],d={},h=0,g=0,m=c.length,y=0,b=e?e.length:0;if(0!==m)for(var x=0;x0?`(${i(t.numZeros/t.numVals)})`:""),s.push(`${r(t.numZeros)} ${e}`)}if(null!=t.numNans){a.push("# NaNs");let e="";t.numVals&&(e=t.numNans>0?`(${i(t.numNans/t.numVals)})`:""),s.push(`${r(t.numNans)} ${e}`)}if(null!=t.numInfs){a.push("# Infinity");let e="";t.numVals&&(e=t.numInfs>0?`(${i(t.numInfs/t.numVals)})`:""),s.push(`${r(t.numInfs)} ${e}`)}l.table(e,{headers:a,values:[s]},n)}(a=n.stats?n.stats:u.arrayStats(r.map(t=>t.value)),e,{fontSize:i.fontSize})}if(0===r.length)return;const d=[];for(let t=0;t0!==r(t,e,n))},function(t,e,n){const r=n(29),i=n(42),o=n(19),a=n(32),s=n(31),u=n(33);t.exports=((t,e,n,l)=>{switch(e){case"===":return"object"==typeof t&&(t=t.version),"object"==typeof n&&(n=n.version),t===n;case"!==":return"object"==typeof t&&(t=t.version),"object"==typeof n&&(n=n.version),t!==n;case"":case"=":case"==":return r(t,n,l);case"!=":return i(t,n,l);case">":return o(t,n,l);case">=":return a(t,n,l);case"<":return s(t,n,l);case"<=":return u(t,n,l);default:throw new TypeError(`Invalid operator: ${e}`)}})},function(t,e,n){"use strict";(function(t){ /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ var r=n(92),i=n(93),o=n(94);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|t}function p(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return I(t).length;default:if(r)return B(t).length;e=(""+e).toLowerCase(),r=!0}}function g(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function m(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=u.from(e,r)),u.isBuffer(e))return 0===e.length?-1:v(t,e,n,r,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,r,i){var o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,n/=2}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var c=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var f=!0,d=0;di&&(r=i):r=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function j(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function k(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i239?4:l>223?3:l>191?2:1;if(i+f<=n)switch(f){case 1:l<128&&(c=l);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>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(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return D(this,e,n);case"utf8":case"utf-8":return k(this,e,n);case"ascii":return E(this,e,n);case"latin1":case"binary":return S(this,e,n);case"base64":return j(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}.apply(this,arguments)},u.prototype.equals=function(t){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},u.prototype.compare=function(t,e,n,r,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,i>>>=0,this===t)return 0;for(var o=i-r,a=n-e,s=Math.min(o,a),l=this.slice(r,i),c=t.slice(e,n),f=0;fi)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return y(this,t,e,n);case"utf8":case"utf-8":return b(this,t,e,n);case"ascii":return x(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return w(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function E(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;ir)&&(n=r);for(var i="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function F(t,e,n,r,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function $(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i>>8*(r?i:1-i)}function N(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i>>8*(r?i:3-i)&255}function T(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function z(t,e,n,r,o){return o||T(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function R(t,e,n,r,o){return o||T(t,0,n,8),i.write(t,e,n,r,52,8),n+8}u.prototype.slice=function(t,e){var n,r=this.length;if(t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e0&&(i*=256);)r+=this[t+--e]*i;return r},u.prototype.readUInt8=function(t,e){return e||M(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||M(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||M(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||M(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||M(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||M(t,e,this.length);for(var r=this[t],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*e)),r},u.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||M(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||M(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||M(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(t,e){e||M(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(t,e){return e||M(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||M(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||M(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||M(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||M(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||M(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||F(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+n},u.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||F(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||F(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):$(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||F(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):$(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||F(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):N(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||F(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);F(this,t,e,n,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},u.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);F(this,t,e,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},u.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||F(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||F(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):$(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||F(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):$(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||F(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):N(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||F(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):N(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,n){return z(this,t,e,!0,n)},u.prototype.writeFloatBE=function(t,e,n){return z(this,t,e,!1,n)},u.prototype.writeDoubleLE=function(t,e,n){return R(this,t,e,!0,n)},u.prototype.writeDoubleBE=function(t,e,n){return R(this,t,e,!1,n)},u.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e=0;--i)t[i+e]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function I(t){return r.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(P,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function U(t,e,n,r){for(var i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}}).call(this,n(91))},function(t){t.exports={a:"5.13.0"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.processStyleName=void 0,e.createMarkupForStyles=function(t,e){var n="";for(var i in t){var o=0===i.indexOf("--");if(t.hasOwnProperty(i)&&"label"!==i){var a=t[i];0,null!=a&&(o?n+=i+":"+a+";":(n+=s(i)+":",n+=(0,r.default)(i,a,e)+";"))}}return n||null};a(n(96));var r=a(n(98)),i=a(n(101)),o=a(n(103));a(n(47));function a(t){return t&&t.__esModule?t:{default:t}}var s=e.processStyleName=(0,o.default)(i.default)},function(t,e,n){"use strict";var r=n(100);t.exports=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isSurfaceInfo=function(t){return null!=t.name},e.isSurface=function(t){return t.drawArea instanceof HTMLElement}},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */Object.defineProperty(e,"__esModule",{value:!0});const r=n(123);let i;const o="Visor",a="tfjs-visor-container";e.visor=function(){if("undefined"==typeof document)throw new Error("No document defined. This library needs a browser/dom to work");if(document.getElementById(a)&&null!=i)return i;let t,e=document.getElementById(a);function n(e,n){let i=null;return t=r.VisorComponent.render(e,t,{ref:t=>i=t,surfaceList:Array.from(n.values())}),i}null==e&&((e=document.createElement("div")).id=a,document.body.appendChild(e));const o=new Map,u=n(e,o);return i=new s(u,e,o,n)};class s{constructor(t,e,n,r){this.visorComponent=t,this.el=e,this.surfaceList=n,this.renderVisor=r}surface(t){const{name:e}=t,n=null==t.tab?o:t.tab;if(null==e||!("string"==typeof e||e instanceof String))throw new Error("You must pass a config object with a 'name' property to create or retrieve a surface");const r=Object.assign({},t,{tab:n}),i=`${e}-${n}`;return this.surfaceList.has(i)||this.surfaceList.set(i,r),this.renderVisor(this.el,this.surfaceList),this.visorComponent.getSurface(e,n)}isFullscreen(){return this.visorComponent.isFullscreen()}isOpen(){return this.visorComponent.isOpen()}close(){return this.visorComponent.close()}open(){return this.visorComponent.open()}toggle(){return this.visorComponent.toggle()}toggleFullScreen(){return this.visorComponent.toggleFullScreen()}bindKeys(){return this.visorComponent.bindKeys()}unbindKeys(){return this.visorComponent.unbindKeys()}setActiveTab(t){if(!this.visorComponent.state.tabs.has(t))throw new Error(`Tab '${t}' does not exist`);this.visorComponent.setState({activeTab:t})}}e.Visor=s},function(e,n){e.exports=t},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}u((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(11)),a=n(7),s=n(22),u=n(5);e.linechart=function(t,e,n={}){return r(this,void 0,void 0,function*(){const r=Array.isArray(e.values[0])?e.values:[e.values],i=r[0].length,c=e.series?e.series:r.map((t,e)=>`Series ${e+1}`);s.assert(c.length===r.length,"Must have an equal number of series labels as there are data series"),null!=n.seriesColors&&s.assert(n.seriesColors.length===r.length,"Must have an equal number of series colors as there are data series");const f=[];for(let t=0;t{const o=r[i][t].y;e[n]=o,e[`${n}-name`]=n}),f.push(e)}const d=Object.assign({},l,n),h={x:{field:"x",type:d.xType,title:d.xLabel},tooltip:[{field:"x",type:"quantitative"},...c.map(t=>({field:t,type:"quantitative"}))]},p=c.map(t=>({data:void 0,mark:{type:"line",clip:!0},encoding:{y:{field:t,type:d.yType,title:d.yLabel,scale:d.zoomToFit?{zero:!1}:null!=d.yAxisDomain?{domain:d.yAxisDomain}:void 0},color:{field:`${t}-name`,type:"nominal",legend:{values:c,title:null},scale:{range:d.seriesColors}}}})),g=u.getDrawArea(t),m={width:d.width||a.getDefaultWidth(g),height:d.height||a.getDefaultHeight(g),padding:0,autosize:{type:"fit",contains:"padding",resize:!0},config:{axis:{labelFontSize:d.fontSize,titleFontSize:d.fontSize},text:{fontSize:d.fontSize},legend:{labelFontSize:d.fontSize,titleFontSize:d.fontSize}},data:{values:f},encoding:h,layer:[...p,{mark:"rule",selection:{hover:{type:"single",on:"mouseover",nearest:!0,clear:"mouseout"}},encoding:{color:{value:"grey",condition:{selection:{not:"hover"},value:"transparent"}}}}]};return yield o.default(g,m,{actions:!1,mode:"vega-lite",defaultStyle:!1}),Promise.resolve()})};const l={xLabel:"x",yLabel:"y",xType:"quantitative",yType:"quantitative",zoomToFit:!1,fontSize:11}},function(t,e,n){"use strict";n.r(e);var r=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]},i=function(t){return(t=r(Math.abs(t)))?t[1]:NaN},o=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function a(t){return new s(t)}function s(t){if(!(e=o.exec(t)))throw new Error("invalid format: "+t);var e;this.fill=e[1]||" ",this.align=e[2]||">",this.sign=e[3]||"-",this.symbol=e[4]||"",this.zero=!!e[5],this.width=e[6]&&+e[6],this.comma=!!e[7],this.precision=e[8]&&+e[8].slice(1),this.trim=!!e[9],this.type=e[10]||""}a.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var u,l,c,f,d=function(t){t:for(var e,n=t.length,r=1,i=-1;r0){if(!+t[r])break t;i=0}}return i>0?t.slice(0,i)+t.slice(e+1):t},h=function(t,e){var n=r(t,e);if(!n)return t+"";var i=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+i:i.length>o+1?i.slice(0,o+1)+"."+i.slice(o+1):i+new Array(o-i.length+2).join("0")},p={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return h(100*t,e)},r:h,s:function(t,e){var n=r(t,e);if(!n)return t+"";var i=n[0],o=n[1],a=o-(u=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,s=i.length;return a===s?i:a>s?i+new Array(a-s+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+new Array(1-a).join("0")+r(t,Math.max(0,e+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},g=function(t){return t},m=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],v=function(t){var e=t.grouping&&t.thousands?function(t,e){return function(n,r){for(var i=n.length,o=[],a=0,s=t[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),o.push(n.substring(i-=s,i+s)),!((u+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(e)}}(t.grouping,t.thousands):g,n=t.currency,r=t.decimal,o=t.numerals?function(t){return function(e){return e.replace(/[0-9]/g,function(e){return t[+e]})}}(t.numerals):g,s=t.percent||"%";function l(t){var i=(t=a(t)).fill,l=t.align,c=t.sign,f=t.symbol,h=t.zero,g=t.width,v=t.comma,y=t.precision,b=t.trim,x=t.type;"n"===x?(v=!0,x="g"):p[x]||(null==y&&(y=12),b=!0,x="g"),(h||"0"===i&&"="===l)&&(h=!0,i="0",l="=");var _="$"===f?n[0]:"#"===f&&/[boxX]/.test(x)?"0"+x.toLowerCase():"",w="$"===f?n[1]:/[%p]/.test(x)?s:"",O=p[x],j=/[defgprs%]/.test(x);function k(t){var n,a,s,f=_,p=w;if("c"===x)p=O(t)+p,t="";else{var k=(t=+t)<0;if(t=O(Math.abs(t),y),b&&(t=d(t)),k&&0==+t&&(k=!1),f=(k?"("===c?c:"-":"-"===c||"("===c?"":c)+f,p=("s"===x?m[8+u/3]:"")+p+(k&&"("===c?")":""),j)for(n=-1,a=t.length;++n(s=t.charCodeAt(n))||s>57){p=(46===s?r+t.slice(n+1):t.slice(n))+p,t=t.slice(0,n);break}}v&&!h&&(t=e(t,1/0));var A=f.length+t.length+p.length,E=A>1)+f+t+p+E.slice(A);break;default:t=E+f+t+p}return o(t)}return y=null==y?6:/[gprs]/.test(x)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),k.toString=function(){return t+""},k}return{format:l,formatPrefix:function(t,e){var n=l(((t=a(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(i(e)/3))),o=Math.pow(10,-r),s=m[8+r/3];return function(t){return n(o*t)+s}}}};function y(t){return l=v(t),c=l.format,f=l.formatPrefix,l}y({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var b=function(t){return Math.max(0,-i(Math.abs(t)))},x=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(i(e)/3)))-i(Math.abs(t)))},_=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,i(e)-i(t))+1};n.d(e,"formatDefaultLocale",function(){return y}),n.d(e,"format",function(){return c}),n.d(e,"formatPrefix",function(){return f}),n.d(e,"formatLocale",function(){return v}),n.d(e,"formatSpecifier",function(){return a}),n.d(e,"precisionFixed",function(){return b}),n.d(e,"precisionPrefix",function(){return x}),n.d(e,"precisionRound",function(){return _})},function(t){t.exports={name:"vega-lite",author:'Dominik Moritz, Kanit "Ham" Wongsuphasawat, Arvind Satyanarayan, Jeffrey Heer',version:"4.13.1",collaborators:["Kanit Wongsuphasawat (http://kanitw.yellowpigz.com)","Dominik Moritz (https://www.domoritz.de)","Arvind Satyanarayan (https://arvindsatya.com)","Jeffrey Heer (https://jheer.org)"],homepage:"https://vega.github.io/vega-lite/",description:"Vega-Lite is a concise high-level language for interactive visualization.",main:"build/vega-lite.js",unpkg:"build/vega-lite.min.js",jsdelivr:"build/vega-lite.min.js",module:"build/src/index",types:"build/src/index.d.ts",bin:{vl2png:"./bin/vl2png",vl2svg:"./bin/vl2svg",vl2pdf:"./bin/vl2pdf",vl2vg:"./bin/vl2vg"},directories:{test:"test"},scripts:{changelog:"conventional-changelog -p angular -r 2",build:"yarn build:only","build:only":"yarn tsc:src && rollup -c",postbuild:"terser build/vega-lite.js -cm --source-map content=build/vega-lite.js.map,filename=build/vega-lite.min.js.map -o build/vega-lite.min.js && yarn schema && babel build/vega-lite.js --out-dir build-es5 --config-file ./babel.config.js","prebuild:examples":"yarn build:only","build:examples":"yarn data && TZ=America/Los_Angeles scripts/build-examples.sh","prebuild:examples-full":"yarn build:only","build:examples-full":"TZ=America/Los_Angeles scripts/build-examples.sh 1","build:example":"TZ=America/Los_Angeles scripts/build-example.sh","build:toc":"yarn build:jekyll && scripts/generate-toc","build:site":"yarn tsc:site && rollup -c site/rollup.config.js","build:jekyll":"pushd site && bundle exec jekyll build -q && popd","build:versions":"scripts/update-version.sh",clean:"find build ! -name 'vega-lite-schema.json' -type f -delete && rm -rf site/data/* && rm -f examples/compiled/*.png && find site/examples ! -name 'index.md' ! -name 'data' -type f -delete","predeploy:site":"yarn presite","deploy:site":"gh-pages -d site",data:"rsync -r node_modules/vega-datasets/data/* site/data",schema:"mkdir -p build && ts-json-schema-generator -f tsconfig.json -p src/index.ts -t TopLevelSpec --no-type-check --no-ref-encode > build/vega-lite-schema.json && yarn renameschema && cp build/vega-lite-schema.json site/_data/",renameschema:"scripts/rename-schema.sh",presite:"yarn data && yarn schema && yarn build:site && yarn build:versions && scripts/create-example-pages.sh",site:"pushd site && bundle exec jekyll serve -I -l && popd","tsc:src":"tsc -b src/tsconfig.src.json","tsc:site":"tsc -b site/tsconfig.site.json",prettierbase:"prettier '**/*.{md,css,yml}'",eslintbase:"eslint .",format:"yarn eslintbase --fix && yarn prettierbase --write",lint:"yarn eslintbase && yarn prettierbase --check",test:"jest test/ && yarn lint && yarn schema && jest examples/ && yarn test:runtime","test:inspect":"node --inspect-brk ./node_modules/.bin/jest --runInBand test","test:runtime":"TZ=America/Los_Angeles jest test-runtime/","test:runtime:generate":"yarn build:only && rm -Rf test-runtime/resources && VL_GENERATE_TESTS=true yarn test:runtime","watch:build":"yarn build:only && concurrently --kill-others -n Typescript,Rollup 'yarn tsc:src -w' 'rollup -c -w'","watch:site":"concurrently --kill-others -n Typescript,Rollup 'yarn tsc:site -w' 'rollup -c site/rollup.config.js -w'","watch:test":"jest --watch"},repository:{type:"git",url:"https://github.com/vega/vega-lite.git"},license:"BSD-3-Clause",bugs:{url:"https://github.com/vega/vega-lite/issues"},devDependencies:{"@babel/cli":"^7.10.1","@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@rollup/plugin-commonjs":"12.0.0","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^8.0.0","@types/chai":"^4.2.11","@types/d3":"^5.7.2","@types/jest":"^25.2.3","@types/mkdirp":"^1.0.0","@types/puppeteer":"^3.0.0","@typescript-eslint/eslint-plugin":"^3.0.2","@typescript-eslint/parser":"^3.0.2",ajv:"^6.12.2",chai:"^4.2.0",cheerio:"^1.0.0-rc.3",codecov:"^3.7.0",concurrently:"^5.2.0","conventional-changelog-cli":"^2.0.34",d3:"^5.16.0",eslint:"^7.1.0","eslint-config-prettier":"^6.11.0","eslint-plugin-jest":"^23.13.2","eslint-plugin-prettier":"^3.1.3","gh-pages":"^2.2.0","highlight.js":"^10.0.3","http-server":"^0.12.3",jest:"^26.0.1","jest-puppeteer":"^4.4.0",mkdirp:"^1.0.4",prettier:"^2.0.5",puppeteer:"^3.1.0",rollup:"^2.11.0","rollup-plugin-sourcemaps":"^0.6.2","rollup-plugin-terser":"^6.1.0","svg2png-many":"^0.0.7",terser:"^4.7.0","ts-jest":"^26.0.0","ts-json-schema-generator":"^0.68.1",typescript:"~3.9.3","vega-cli":"^5.12.1","vega-datasets":"^1.30.2","vega-embed":"^6.8.0","vega-tooltip":"^0.23.0","vega-typings":"^0.17.0","yaml-front-matter":"^4.1.0"},dependencies:{"@types/clone":"~0.1.30","@types/fast-json-stable-stringify":"^2.0.0","array-flat-polyfill":"^1.0.1",clone:"~2.1.2","fast-deep-equal":"~3.1.1","fast-json-stable-stringify":"~2.1.0","json-stringify-pretty-compact":"~2.0.0",tslib:"~2.0.0","vega-event-selector":"~2.0.3","vega-expression":"~2.6.5","vega-util":"~1.14.0",yargs:"~15.3.1"},peerDependencies:{vega:"^5.12.1"},jest:{preset:"jest-puppeteer",transform:{"^.+\\.tsx?$":"ts-jest"},testRegex:"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",moduleFileExtensions:["ts","tsx","js","jsx","json","node"],testPathIgnorePatterns:["/node_modules","/build","/_site","/src"],coverageDirectory:"./coverage/",collectCoverage:!1}}},function(t,e,n){(function(e){var n=function(){"use strict";function t(t,e){return null!=e&&t instanceof e}var n,r,i;try{n=Map}catch(t){n=function(){}}try{r=Set}catch(t){r=function(){}}try{i=Promise}catch(t){i=function(){}}function o(a,u,l,c,f){"object"==typeof u&&(l=u.depth,c=u.prototype,f=u.includeNonEnumerable,u=u.circular);var d=[],h=[],p=void 0!==e;return void 0===u&&(u=!0),void 0===l&&(l=1/0),function a(l,g){if(null===l)return null;if(0===g)return l;var m,v;if("object"!=typeof l)return l;if(t(l,n))m=new n;else if(t(l,r))m=new r;else if(t(l,i))m=new i(function(t,e){l.then(function(e){t(a(e,g-1))},function(t){e(a(t,g-1))})});else if(o.__isArray(l))m=[];else if(o.__isRegExp(l))m=new RegExp(l.source,s(l)),l.lastIndex&&(m.lastIndex=l.lastIndex);else if(o.__isDate(l))m=new Date(l.getTime());else{if(p&&e.isBuffer(l))return m=e.allocUnsafe?e.allocUnsafe(l.length):new e(l.length),l.copy(m),m;t(l,Error)?m=Object.create(l):void 0===c?(v=Object.getPrototypeOf(l),m=Object.create(v)):(m=Object.create(c),v=c)}if(u){var y=d.indexOf(l);if(-1!=y)return h[y];d.push(l),h.push(m)}for(var b in t(l,n)&&l.forEach(function(t,e){var n=a(e,g-1),r=a(t,g-1);m.set(n,r)}),t(l,r)&&l.forEach(function(t){var e=a(t,g-1);m.add(e)}),l){var x;v&&(x=Object.getOwnPropertyDescriptor(v,b)),x&&null==x.set||(m[b]=a(l[b],g-1))}if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(l);for(b=0;b<_.length;b++){var w=_[b];(!(j=Object.getOwnPropertyDescriptor(l,w))||j.enumerable||f)&&(m[w]=a(l[w],g-1),j.enumerable||Object.defineProperty(m,w,{enumerable:!1}))}}if(f){var O=Object.getOwnPropertyNames(l);for(b=0;b build/vega-themes.min.js","deploy:gh":"yarn build && mkdir -p examples/build && rsync -r build/* examples/build && gh-pages -d examples",prepublishOnly:"yarn clean && yarn build",preversion:"yarn lint",serve:"browser-sync start -s -f build examples --serveStatic examples",start:"yarn build && concurrently --kill-others -n Server,Typescript,Rollup 'yarn serve' 'tsc -w' 'rollup -c -w'"},devDependencies:{"@rollup/plugin-json":"^4.0.2","browser-sync":"^2.26.7",concurrently:"^5.1.0","gh-pages":"^2.2.0",rollup:"^2.1.0",terser:"^4.6.7",typescript:"^3.8.3",vega:"^5.10.0","vega-lite":"^4.8.1","vega-lite-dev-config":"^0.5.0"},peerDependencies:{vega:"*","vega-lite":"*"},beemo:{module:"vega-lite-dev-config",drivers:["prettier","eslint"]}}},function(t){t.exports={name:"vega-tooltip",version:"0.23.0",description:"A tooltip plugin for Vega-Lite and Vega visualizations.",main:"build/vega-tooltip.js",module:"build/src/index.js",unpkg:"build/vega-tooltip.min.js",jsdelivr:"build/vega-tooltip.min.js",typings:"build/src/index.d.ts",repository:{type:"git",url:"https://github.com/vega/vega-tooltip.git"},keywords:["vega-lite","vega","tooltip"],author:{name:"UW Interactive Data Lab",url:"https://idl.cs.washington.edu"},collaborators:["Dominik Moritz","Sira Horradarn","Zening Qu","Kanit Wongsuphasawat","Yuri Astrakhan","Jeffrey Heer"],license:"BSD-3-Clause",bugs:{url:"https://github.com/vega/vega-tooltip/issues"},homepage:"https://github.com/vega/vega-tooltip#readme",scripts:{prepare:"beemo create-config --silent","tsc:src":"tsc -b tsconfig.src.json",build:"yarn tsc:src && rollup -c",clean:"rm -rf build examples/data && rm -f src/style.ts","copy:data":"rsync -r node_modules/vega-datasets/data/* examples/data","copy:build":"rsync -r build/* examples/build","deploy:gh":"yarn build && yarn copy:build && gh-pages -d examples && yarn clean",prettierbase:"beemo prettier 'examples/*.{html,scss,css}'",eslintbase:"beemo eslint .",format:"yarn eslintbase --fix && yarn prettierbase --write",lint:"yarn eslintbase && yarn prettierbase --check",postbuild:"terser build/vega-tooltip.js -c -m -o build/vega-tooltip.min.js",prebuild:"mkdir -p build && yarn copy:data && ./build-style.sh",prepublishOnly:"yarn clean && yarn build",preversion:"yarn lint",start:"yarn build && concurrently --kill-others -n Server,Typescript,Rollup 'browser-sync start -s -f build examples --serveStatic examples' 'yarn tsc:src -w' 'rollup -c -w'",pretest:"./build-style.sh",test:"jest"},devDependencies:{"@rollup/plugin-commonjs":"11.1.0","@rollup/plugin-json":"^4.0.3","@rollup/plugin-node-resolve":"^7.1.3","@types/jest":"^25.2.1","browser-sync":"^2.26.7",concurrently:"^5.2.0","gh-pages":"^2.2.0",jest:"^26.0.1","node-sass":"^4.14.1",path:"^0.12.7",rollup:"^2.8.2",terser:"^4.6.13","ts-jest":"^25.5.0",typescript:"^3.8.3","vega-datasets":"^1.30.2","vega-lite-dev-config":"^0.10.0","vega-typings":"^0.16.0"},dependencies:{"vega-util":"^1.13.2"},beemo:{module:"vega-lite-dev-config",drivers:["prettier","eslint"]},jest:{testURL:"http://localhost/",transform:{"^.+\\.tsx?$":"ts-jest"},testRegex:"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",moduleFileExtensions:["ts","tsx","js","jsx","json","node"],testPathIgnorePatterns:["node_modules","/build","src"]}}},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */Object.defineProperty(e,"__esModule",{value:!0});const r=n(66),i=n(126),o=n(127),a=n(37),s=n(52),u=n(128),l=n(24),c=n(129),f=n(130),d=n(131),h=n(132),p=n(23),g=n(133);e.version_vis=g.version;const m={barchart:r.barchart,table:l.table,histogram:a.histogram,linechart:s.linechart,scatterplot:u.scatterplot,confusionMatrix:i.confusionMatrix,heatmap:o.heatmap};e.render=m;const v={accuracy:p.accuracy,perClassAccuracy:p.perClassAccuracy,confusionMatrix:p.confusionMatrix};e.metrics=v;const y={history:c.history,fitCallbacks:c.fitCallbacks,perClassAccuracy:d.showPerClassAccuracy,valuesDistribution:h.valuesDistribution,layer:f.layer,modelSummary:f.modelSummary};e.show=y;var b=n(50);e.visor=b.visor,function(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}(n(49))},,,,,,,function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}u((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(11)),a=n(7),s=n(5);e.barchart=function(t,e,n={}){return r(this,void 0,void 0,function*(){const r=s.getDrawArea(t),i=e,c=Object.assign({},u,n);if(l.has(r)){const t=l.get(r);if(s.shallowEquals(c,t.lastOptions)){yield s.nextFrame();const e=t.view,n=e.changeset().remove(()=>!0).insert(i);return void(yield e.change("values",n).runAsync())}}const{xLabel:f,yLabel:d,xType:h,yType:p}=c;let g=null;null!=f&&(g={title:f});let m,v=null;null!=d&&(v={title:d}),m=null!=c.color?Array.isArray(c.color)?{field:"index",type:"nominal",scale:{range:c.color}}:{value:c.color}:{value:"#4C78A0"};const y={width:c.width||a.getDefaultWidth(r),height:c.height||a.getDefaultHeight(r),padding:0,autosize:{type:"fit",contains:"padding",resize:!0},config:{axis:{labelFontSize:c.fontSize,titleFontSize:c.fontSize},text:{fontSize:c.fontSize},legend:{labelFontSize:c.fontSize,titleFontSize:c.fontSize}},data:{values:i,name:"values"},mark:{type:"bar",tooltip:!0},encoding:{x:{field:"index",type:h,axis:g},y:{field:"value",type:p,axis:v},color:m}};yield s.nextFrame();const b=yield o.default(r,y,{actions:!1,mode:"vega-lite",defaultStyle:!1});l.set(r,{view:b.view,lastOptions:c})})};const u={xLabel:"",yLabel:"",xType:"ordinal",yType:"quantitative",fontSize:11},l=new Map},function(t,e){var n,r,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var u,l=[],c=!1,f=-1;function d(){c&&u&&(c=!1,u.length?l=u.concat(l):f=-1,l.length&&h())}function h(){if(!c){var t=s(d);c=!0;for(var e=l.length;e;){for(u=l,l=[];++f1)for(var n=1;n{const n=r(t,e);return n?n.version:null})},function(t,e,n){const r=n(10);t.exports=((t,e)=>{const n=r(t.trim().replace(/^[=v]+/,""),e);return n?n.version:null})},function(t,e,n){const r=n(2);t.exports=((t,e,n,i)=>{"string"==typeof n&&(i=n,n=void 0);try{return new r(t,n).inc(e,i).version}catch(t){return null}})},function(t,e,n){const r=n(10),i=n(29);t.exports=((t,e)=>{if(i(t,e))return null;{const n=r(t),i=r(e),o=n.prerelease.length||i.prerelease.length,a=o?"pre":"",s=o?"prerelease":"";for(const t in n)if(("major"===t||"minor"===t||"patch"===t)&&n[t]!==i[t])return a+t;return s}})},function(t,e,n){const r=n(2);t.exports=((t,e)=>new r(t,e).major)},function(t,e,n){const r=n(2);t.exports=((t,e)=>new r(t,e).minor)},function(t,e,n){const r=n(2);t.exports=((t,e)=>new r(t,e).patch)},function(t,e,n){const r=n(10);t.exports=((t,e)=>{const n=r(t,e);return n&&n.prerelease.length?n.prerelease:null})},function(t,e,n){const r=n(3);t.exports=((t,e,n)=>r(e,t,n))},function(t,e,n){const r=n(3);t.exports=((t,e)=>r(t,e,!0))},function(t,e,n){const r=n(30);t.exports=((t,e)=>t.sort((t,n)=>r(t,n,e)))},function(t,e,n){const r=n(30);t.exports=((t,e)=>t.sort((t,n)=>r(n,t,e)))},function(t,e,n){const r=n(2),i=n(10),{re:o,t:a}=n(9);t.exports=((t,e)=>{if(t instanceof r)return t;if("number"==typeof t&&(t=String(t)),"string"!=typeof t)return null;let n=null;if((e=e||{}).rtl){let e;for(;(e=o[a.COERCERTL].exec(t))&&(!n||n.index+n[0].length!==t.length);)n&&e.index+e[0].length===n.index+n[0].length||(n=e),o[a.COERCERTL].lastIndex=e.index+e[1].length+e[2].length;o[a.COERCERTL].lastIndex=-1}else n=t.match(o[a.COERCE]);return null===n?null:i(`${n[2]}.${n[3]||"0"}.${n[4]||"0"}`,e)})},function(t,e,n){const r=n(4);t.exports=((t,e)=>new r(t,e).set.map(t=>t.map(t=>t.value).join(" ").trim().split(" ")))},function(t,e,n){const r=n(2),i=n(4);t.exports=((t,e,n)=>{let o=null,a=null,s=null;try{s=new i(e,n)}catch(t){return null}return t.forEach(t=>{s.test(t)&&(o&&-1!==a.compare(t)||(a=new r(o=t,n)))}),o})},function(t,e,n){const r=n(2),i=n(4);t.exports=((t,e,n)=>{let o=null,a=null,s=null;try{s=new i(e,n)}catch(t){return null}return t.forEach(t=>{s.test(t)&&(o&&1!==a.compare(t)||(a=new r(o=t,n)))}),o})},function(t,e,n){const r=n(2),i=n(4),o=n(19);t.exports=((t,e)=>{t=new i(t,e);let n=new r("0.0.0");if(t.test(n))return n;if(n=new r("0.0.0-0"),t.test(n))return n;n=null;for(let e=0;e{const e=new r(t.semver.version);switch(t.operator){case">":0===e.prerelease.length?e.patch++:e.prerelease.push(0),e.raw=e.format();case"":case">=":n&&!o(n,e)||(n=e);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${t.operator}`)}});return n&&t.test(n)?n:null})},function(t,e,n){const r=n(4);t.exports=((t,e)=>{try{return new r(t,e).range||"*"}catch(t){return null}})},function(t,e,n){const r=n(34);t.exports=((t,e,n)=>r(t,e,">",n))},function(t,e,n){const r=n(34);t.exports=((t,e,n)=>r(t,e,"<",n))},function(t,e,n){const r=n(4);t.exports=((t,e,n)=>(t=new r(t,n),e=new r(e,n),t.intersects(e)))},function(t,e,n){const r=n(21),i=n(3);t.exports=((t,e,n)=>{const o=[];let a=null,s=null;const u=t.sort((t,e)=>i(t,e,n));for(const t of u){r(t,e,n)?(s=t,a||(a=t)):(s&&o.push([a,s]),s=null,a=null)}a&&o.push([a,null]);const l=[];for(const[t,e]of o)t===e?l.push(t):e||t!==u[0]?e?t===u[0]?l.push(`<=${e}`):l.push(`${t} - ${e}`):l.push(`>=${t}`):l.push("*");const c=l.join(" || "),f="string"==typeof e.raw?e.raw:String(e);return c.length{if(1===t.length&&t[0].semver===i)return 1===e.length&&e[0].semver===i;const r=new Set;let s,c,f,d,h,p,g;for(const e of t)">"===e.operator||">="===e.operator?s=u(s,e,n):"<"===e.operator||"<="===e.operator?c=l(c,e,n):r.add(e.semver);if(r.size>1)return null;if(s&&c){if((f=a(s.semver,c.semver,n))>0)return null;if(0===f&&(">="!==s.operator||"<="!==c.operator))return null}for(const t of r){if(s&&!o(t,String(s),n))return null;if(c&&!o(t,String(c),n))return null;for(const r of e)if(!o(t,String(r),n))return!1;return!0}for(const t of e){if(g=g||">"===t.operator||">="===t.operator,p=p||"<"===t.operator||"<="===t.operator,s)if(">"===t.operator||">="===t.operator){if((d=u(s,t,n))===t)return!1}else if(">="===s.operator&&!o(s.semver,String(t),n))return!1;if(c)if("<"===t.operator||"<="===t.operator){if((h=l(c,t,n))===t)return!1}else if("<="===c.operator&&!o(c.semver,String(t),n))return!1;if(!t.operator&&(c||s)&&0!==f)return!1}return!(s&&p&&!c&&0!==f)&&!(c&&g&&!s&&0!==f)},u=(t,e,n)=>{if(!t)return e;const r=a(t.semver,e.semver,n);return r>0?t:r<0?e:">"===e.operator&&">="===t.operator?e:t},l=(t,e,n)=>{if(!t)return e;const r=a(t.semver,e.semver,n);return r<0?t:r>0?e:"<"===e.operator&&"<="===t.operator?e:t};t.exports=((t,e,n)=>{t=new r(t,n),e=new r(e,n);let i=!1;t:for(const r of t.set){for(const t of e.set){const e=s(r,t,n);if(i=i||null!==e,e)continue t}if(i)return!1}return!0})},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";e.byteLength=function(t){var e=l(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,r=l(t),a=r[0],s=r[1],u=new o(function(t,e,n){return 3*(e+n)/4-n}(0,a,s)),c=0,f=s>0?a-4:a;for(n=0;n>16&255,u[c++]=e>>8&255,u[c++]=255&e;2===s&&(e=i[t.charCodeAt(n)]<<2|i[t.charCodeAt(n+1)]>>4,u[c++]=255&e);1===s&&(e=i[t.charCodeAt(n)]<<10|i[t.charCodeAt(n+1)]<<4|i[t.charCodeAt(n+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e);return u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],a=0,s=n-i;as?s:a+16383));1===i?(e=t[n-1],o.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],o.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function c(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function f(t,e,n){for(var r,i=[],o=e;o>1,c=-7,f=n?i-1:0,d=n?-1:1,h=t[e+f];for(f+=d,o=h&(1<<-c)-1,h>>=-c,c+=s;c>0;o=256*o+t[e+f],f+=d,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+t[e+f],f+=d,c-=8);if(0===o)o=1-l;else{if(o===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),o-=l}return(h?-1:1)*a*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var a,s,u,l=8*o-i-1,c=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,p=r?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+f>=1?d/u:d*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(e*u-1)*Math.pow(2,i),a+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;t[n+h]=255&s,h+=p,s/=256,i-=8);for(a=a<0;t[n+h]=255&a,h+=p,a/=256,l-=8);t[n+h-p]|=128*g}},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StyleSheet=f;var r=function(t){return t&&t.__esModule?t:{default:t}}(n(35));function i(t){return t[t.length-1]}function o(t){if(t.sheet)return t.sheet;for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:{},e=t.speedy,n=void 0===e?!s&&!u:e,r=t.maxLength,i=void 0===r?a&&l?4e3:65e3:r;this.isSpeedy=n,this.sheet=void 0,this.tags=[],this.maxLength=i,this.ctr=0}(0,r.default)(f.prototype,{getSheet:function(){return o(i(this.tags))},inject:function(){var t=this;if(this.injected)throw new Error("already injected stylesheet!");a?this.tags[0]=c():this.sheet={cssRules:[],insertRule:function(e){t.sheet.cssRules.push({cssText:e})}},this.injected=!0},speedy:function(t){if(0!==this.ctr)throw new Error("cannot change speedy mode after inserting any rule to sheet. Either call speedy("+t+") earlier in your app, or call flush() before speedy("+t+")");this.isSpeedy=!!t},_insert:function(t){try{var e=this.getSheet();e.insertRule(t,-1!==t.indexOf("@import")?0:e.cssRules.length)}catch(e){s&&console.warn("whoops, illegal rule inserted",t)}},insert:function(t){if(a)if(this.isSpeedy&&this.getSheet().insertRule)this._insert(t);else if(-1!==t.indexOf("@import")){var e=i(this.tags);e.insertBefore(document.createTextNode(t),e.firstChild)}else i(this.tags).appendChild(document.createTextNode(t));else this.sheet.insertRule(t,-1!==t.indexOf("@import")?0:this.sheet.cssRules.length);return this.ctr++,a&&this.ctr%this.maxLength==0&&this.tags.push(c()),this.ctr-1},delete:function(t){return this.replace(t,"")},flush:function(){a?(this.tags.forEach(function(t){return t.parentNode.removeChild(t)}),this.tags=[],this.sheet=null,this.ctr=0):this.sheet.cssRules=[],this.injected=!1},rules:function(){if(!a)return this.sheet.cssRules;var t=[];return this.tags.forEach(function(e){return t.splice.apply(t,[t.length,0].concat(function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e=0){var e=t.style,n=Object.keys(e).reduce(function(t,n){return t[n]=Array.isArray(e[n])?e[n].join("; "+(0,o.processStyleName)(n)+": "):e[n],t},{});return(0,i.default)({},t,{style:n})}return t},e.contentWrap=function(t){if(t.style.content){var e=t.style.content;return l.indexOf(e)>=0?t:/^(attr|calc|counters?|url)\(/.test(e)?t:e.charAt(0)!==e.charAt(e.length-1)||'"'!==e.charAt(0)&&"'"!==e.charAt(0)?r({},t,{style:r({},t.style,{content:'"'+e+'"'})}):t}return t},e.prefixes=function(t){return(0,i.default)({},t,{style:(0,a.default)(r({},t.style))})};var i=s(n(35)),o=n(46),a=s(n(106));function s(t){return t&&t.__esModule?t:{default:t}}function u(t){this.fns=t||[]}(0,i.default)(u.prototype,{add:function(){for(var t=this,e=arguments.length,n=Array(e),r=0;r=0||(t.fns=[e].concat(t.fns))})},remove:function(t){this.fns=this.fns.filter(function(e){return e!==t})},clear:function(){this.fns=[]},transform:function(t){return this.fns.reduce(function(t,e){return e(t)},t)}});var l=["normal","none","counter","open-quote","close-quote","no-open-quote","no-close-quote","initial","inherit"]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){for(var e in t){var n=t[e],r=(0,o.default)(v,e,n,t,y);r&&(t[e]=r),(0,i.default)(y,e,t)}return t};var r=m(n(107)),i=m(n(108)),o=m(n(109)),a=m(n(110)),s=m(n(111)),u=m(n(112)),l=m(n(113)),c=m(n(114)),f=m(n(115)),d=m(n(116)),h=m(n(117)),p=m(n(118)),g=m(n(119));function m(t){return t&&t.__esModule?t:{default:t}}var v=[s.default,a.default,u.default,c.default,f.default,d.default,h.default,p.default,g.default,l.default],y=r.default.prefixMap},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=["Webkit"],i=["Moz"],o=["ms"],a=["Webkit","Moz"],s=["Webkit","ms"],u=["Webkit","Moz","ms"];e.default={plugins:[],prefixMap:{appearance:a,userSelect:u,textEmphasisPosition:r,textEmphasis:r,textEmphasisStyle:r,textEmphasisColor:r,boxDecorationBreak:r,clipPath:r,maskImage:r,maskMode:r,maskRepeat:r,maskPosition:r,maskClip:r,maskOrigin:r,maskSize:r,maskComposite:r,mask:r,maskBorderSource:r,maskBorderMode:r,maskBorderSlice:r,maskBorderWidth:r,maskBorderOutset:r,maskBorderRepeat:r,maskBorder:r,maskType:r,textDecorationStyle:r,textDecorationSkip:r,textDecorationLine:r,textDecorationColor:r,filter:r,fontFeatureSettings:r,breakAfter:u,breakBefore:u,breakInside:u,columnCount:a,columnFill:a,columnGap:a,columnRule:a,columnRuleColor:a,columnRuleStyle:a,columnRuleWidth:a,columns:a,columnSpan:a,columnWidth:a,writingMode:s,flex:r,flexBasis:r,flexDirection:r,flexGrow:r,flexFlow:r,flexShrink:r,flexWrap:r,alignContent:r,alignItems:r,alignSelf:r,justifyContent:r,order:r,transform:r,transformOrigin:r,transformOriginX:r,transformOriginY:r,backfaceVisibility:r,perspective:r,perspectiveOrigin:r,transformStyle:r,transformOriginZ:r,animation:r,animationDelay:r,animationDirection:r,animationFillMode:r,animationDuration:r,animationIterationCount:r,animationName:r,animationPlayState:r,animationTimingFunction:r,backdropFilter:r,fontKerning:r,scrollSnapType:s,scrollSnapPointsX:s,scrollSnapPointsY:s,scrollSnapDestination:s,scrollSnapCoordinate:s,shapeImageThreshold:r,shapeImageMargin:r,shapeImageOutside:r,hyphens:u,flowInto:s,flowFrom:s,regionFragment:s,textAlignLast:i,tabSize:i,wrapFlow:o,wrapThrough:o,wrapMargin:o,gridTemplateColumns:o,gridTemplateRows:o,gridTemplateAreas:o,gridTemplate:o,gridAutoColumns:o,gridAutoRows:o,gridAutoFlow:o,grid:o,gridRowStart:o,gridColumnStart:o,gridRowEnd:o,gridRow:o,gridColumn:o,gridColumnEnd:o,gridColumnGap:o,gridRowGap:o,gridArea:o,gridGap:o,textSizeAdjust:s,borderImage:r,borderImageOutset:r,borderImageRepeat:r,borderImageSlice:r,borderImageSource:r,borderImageWidth:r,transitionDelay:r,transitionDuration:r,transitionProperty:r,transitionTimingFunction:r}},t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n){if(t.hasOwnProperty(e))for(var i=t[e],o=0,a=i.length;o-1)return i.map(function(t){return e.replace(/cross-fade\(/g,t+"cross-fade(")})};var r=function(t){return t&&t.__esModule?t:{default:t}}(n(15));var i=["-webkit-",""];t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){if("string"==typeof e&&!(0,r.default)(e)&&e.indexOf("filter(")>-1)return i.map(function(t){return e.replace(/filter\(/g,t+"filter(")})};var r=function(t){return t&&t.__esModule?t:{default:t}}(n(15));var i=["-webkit-",""];t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){if("display"===t&&r.hasOwnProperty(e))return r[e]};var r={flex:["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex","flex"],"inline-flex":["-webkit-inline-box","-moz-inline-box","-ms-inline-flexbox","-webkit-inline-flex","inline-flex"]};t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n){"flexDirection"===t&&"string"==typeof e&&(e.indexOf("column")>-1?n.WebkitBoxOrient="vertical":n.WebkitBoxOrient="horizontal",e.indexOf("reverse")>-1?n.WebkitBoxDirection="reverse":n.WebkitBoxDirection="normal");i.hasOwnProperty(t)&&(n[i[t]]=r[e]||e)};var r={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple"},i={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines"};t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){if("string"==typeof e&&!(0,r.default)(e)&&o.test(e))return i.map(function(t){return t+e})};var r=function(t){return t&&t.__esModule?t:{default:t}}(n(15));var i=["-webkit-","-moz-",""],o=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){if("string"==typeof e&&!(0,r.default)(e)&&e.indexOf("image-set(")>-1)return i.map(function(t){return e.replace(/image-set\(/g,t+"image-set(")})};var r=function(t){return t&&t.__esModule?t:{default:t}}(n(15));var i=["-webkit-",""];t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){if("position"===t&&"sticky"===e)return["-webkit-sticky","sticky"]},t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){if(i.hasOwnProperty(t)&&o.hasOwnProperty(e))return r.map(function(t){return t+e})};var r=["-webkit-","-moz-",""],i={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},o={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0};t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n,a){if("string"==typeof e&&s.hasOwnProperty(t)){var l=function(t,e){if((0,i.default)(t))return t;for(var n=t.split(/,(?![^()]*(?:\([^()]*\))?\))/g),o=0,a=n.length;o-1&&"order"!==f)for(var d=e[c],h=0,p=d.length;h-1)return c;var f=l.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(t){return!/-webkit-|-ms-/.test(t)}).join(",");return t.indexOf("Moz")>-1?f:(n["Webkit"+(0,o.default)(t)]=c,n["Moz"+(0,o.default)(t)]=f,l)}};var r=a(n(120)),i=a(n(15)),o=a(n(48));function a(t){return t&&t.__esModule?t:{default:t}}var s={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},u={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-"};t.exports=e.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return(0,r.default)(t)};var r=function(t){return t&&t.__esModule?t:{default:t}}(n(121));t.exports=e.default},function(t,e,n){"use strict";n.r(e);var r=/[A-Z]/g,i=/^ms-/,o={};function a(t){return"-"+t.toLowerCase()}e.default=function(t){if(o.hasOwnProperty(t))return o[t];var e=t.replace(r,a);return o[t]=i.test(e)?"-"+e:e}},function(t,e,n){"use strict";function r(t,e){return t.charCodeAt(e++)+(t.charCodeAt(e++)<<8)+(t.charCodeAt(e++)<<16)+(t.charCodeAt(e)<<24)}function i(t,e){return t.charCodeAt(e++)+(t.charCodeAt(e++)<<8)}function o(t,e){return(65535&(t|=0))*(e|=0)+(((t>>>16)*e&65535)<<16)|0}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){var n=1540483477,a=e^t.length,s=t.length,u=0;for(;s>=4;){var l=r(t,u);l=o(l,n),l=o(l^=l>>>24,n),a=o(a,n),a^=l,u+=4,s-=4}switch(s){case 3:a^=i(t,u),a=o(a^=t.charCodeAt(u+2)<<16,n);break;case 2:a=o(a^=i(t,u),n);break;case 1:a=o(a^=t.charCodeAt(u),n)}return a=o(a^=a>>>13,n),(a^=a>>>15)>>>0}},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */Object.defineProperty(e,"__esModule",{value:!0});const r=n(36),i=n(14),o=n(124),a=n(125);class s extends r.Component{static render(t,e,n){return r.render(r.h(s,Object.assign({},n)),t,e)}constructor(t){super(t),this.surfaces=new Map;const e=null==t.startOpen||t.startOpen;this.state={isOpen:e,isFullscreen:!1,activeTab:null,tabs:new Set},this.keyHandler=this.keyHandler.bind(this)}close(){this.setState({isOpen:!1})}open(){this.setState({isOpen:!0})}toggle(){this.setState({isOpen:!this.state.isOpen})}toggleFullScreen(){this.setState({isFullscreen:!this.state.isFullscreen})}isOpen(){return this.state.isOpen}isFullscreen(){return this.state.isFullscreen}getSurface(t,e){const n=this.surfaceId(t,e);let r;if(!this.surfaces.has(n))throw Error(`Surface not found with id: ${n}`);return{container:(r=this.surfaces.get(n)).container,label:r.label,drawArea:r.drawArea}}bindKeys(){document.addEventListener("keydown",this.keyHandler,!1)}unbindKeys(){document.removeEventListener("keydown",this.keyHandler)}surfaceId(t,e){return t+e}setTabs(t){const e=t.map(t=>t.tab),n=this.state.tabs;let r;for(const t of e)n.has(t)||(n.add(t),r=t);null!=r&&this.setState({tabs:n,activeTab:r})}getTabs(){return this.state.tabs}registerSurface(t,e,n){const r=this.surfaceId(t,e);this.surfaces.set(r,n)}keyHandler(t){192===t.keyCode&&(t.shiftKey?this.toggleFullScreen():this.toggle())}setActiveTab(t){this.setState({activeTab:t})}componentDidMount(){this.bindKeys()}componentWillMount(){this.setTabs(this.props.surfaceList)}componentWillReceiveProps(t){this.setTabs(t.surfaceList)}render(){const{isOpen:t,isFullscreen:e,activeTab:n}=this.state,{surfaceList:s}=this.props,l=Array.from(this.getTabs().values()),c=e?"90vw":"550px",f=i.css({width:c,height:"100%",backgroundColor:"#fafafa",boxSizing:"border-box",padding:"10px",position:"fixed",top:"0px",transition:"right 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.5s cubic-bezier(0.645, 0.045, 0.355, 1)",boxShadow:"0 2px 5px rgba(0, 0, 0, 0.12), 0 2px 5px rgba(0, 0, 0, 0.24)",overflow:"auto",fontFamily:"sans-serif",fontSize:"14px",zIndex:1e3}),d=i.css({right:"0"}),h=i.css({right:`calc(-${c} - 10px)`}),p=t?d:h,g=i.css({});return r.h("div",{className:`${f} ${p} visor`,"data-isopen":t,"data-isfullscreen":e},r.h(u,{fullScreenHandler:this.toggleFullScreen.bind(this),closeHandler:this.close.bind(this),isFullScreen:e}),r.h(a.Tabs,{tabNames:l,activeTab:n,handleClick:this.setActiveTab.bind(this)}),r.h("div",{className:`${g} visor-surfaces`},s.map(t=>r.h(o.SurfaceComponent,{key:t.name+t.tab,name:t.name,tab:t.tab,styles:t.styles,registerSurface:this.registerSurface.bind(this),visible:n===t.tab}))))}}function u(t){const{isFullScreen:e,fullScreenHandler:n,closeHandler:o}=t,a=i.css({display:"flex",backgroundColor:"white",border:"1px solid white",padding:"6px",paddingTop:"10px",marginBottom:"10px",borderRadius:"6px",marginTop:"-16px"}),s=i.css({fontSize:".875rem",borderRadius:".25rem",paddingLeft:"1rem",paddingRight:"1rem",paddingTop:".5rem",paddingBottom:".5rem",textDecoration:"none",transition:"color .15s ease-in",color:"#111"}),u=i.css({marginLeft:"auto"});return r.h("div",{className:`${a} visor-controls`},r.h("button",{className:`${s}`,onClick:n},e?"Minimize":"Maximize"),r.h("button",{className:`${s} ${u}`,onClick:o},"Hide"))}e.VisorComponent=s},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */Object.defineProperty(e,"__esModule",{value:!0});const r=n(36),i=n(14);class o extends r.Component{componentDidMount(){const{name:t,tab:e}=this.props;this.props.registerSurface(t,e,this)}componentDidUpdate(){return!1}render(){const{name:t,visible:e,styles:n}=this.props,a=Object.assign({},o.defaultStyles,n),{width:s,height:u}=a;let{maxHeight:l,maxWidth:c}=a;l=u===o.defaultStyles.height?l:u,c=s===o.defaultStyles.width?c:s;const f=i.css({display:e?"block":"none",backgroundColor:"white",marginTop:"10px",marginBottom:"10px",boxShadow:"0 0 6px -3px #777",padding:"10px !important",height:u,width:s,maxHeight:l,maxWidth:c,overflow:"auto"}),d=i.css({backgroundColor:"white",boxSizing:"border-box",borderBottom:"1px solid #357EDD",lineHeight:"2em",marginBottom:"20px",fontWeight:"600",textAlign:"center"}),h=i.css({boxSizing:"border-box"});return r.h("div",{className:`${f} tf-surface`,ref:t=>this.container=t,"data-visible":e},r.h("div",{className:`${d} tf-label`,ref:t=>this.label=t},t),r.h("div",{className:`${h} tf-draw-area`,ref:t=>this.drawArea=t}))}}o.defaultStyles={maxWidth:"550px",maxHeight:"580px",height:"auto",width:"auto"},e.SurfaceComponent=o},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */Object.defineProperty(e,"__esModule",{value:!0});const r=n(36),i=n(14);e.Tabs=class extends r.Component{render(){const{tabNames:t,activeTab:e,handleClick:n}=this.props,a=t.length>0?t.map(t=>r.h(o,{key:t,id:t,handleClick:n,isActive:t===e},t)):null,s=i.css({overflowX:"scroll",overflowY:"hidden",whiteSpace:"nowrap",borderBottomStyle:"solid",borderBottomWidth:"1px",borderColor:"#eee",paddingBottom:"1rem",marginTop:"1rem"});return r.h("div",{className:`${s} visor-tabs`},a)}};class o extends r.Component{render(){const{children:t,isActive:e,handleClick:n,id:o}=this.props,a=i.css({borderBottomColor:e?"#357EDD":"#AAAAAA",borderBottomWidth:"1px",borderBottomStyle:"solid",cursor:"pointer",":hover":{color:"#357EDD"},display:"inline-block",marginRight:"1rem",padding:".5rem",fontSize:"1rem",fontWeight:"bold"});return r.h("a",{className:`${a} tf-tab`,"data-isactive":e,onClick:()=>n(o)},t)}}},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}u((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(11)),a=n(7),s=n(5);e.confusionMatrix=function(t,e,n={}){return r(this,void 0,void 0,function*(){const r=Object.assign({},u,n),i=s.getDrawArea(t),l=[],c=e.values,f=e.tickLabels||[],d=0===f.length;let h=!0;for(let t=0;ta.tensor2d(t).transpose())),l.assert(2===n.rank,"Input to renderHeatmap must be a 2d array or Tensor2d");const r=yield n.array();n.dispose();const i=[r.length,r[0].length];return l.assert(e[0]===i[1]&&e[1]===i[0],`Unexpected transposed shape. Original ${e} : Transposed ${i}`),r})}(e.values));const{xTickLabels:p,yTickLabels:g}=e;null!=p&&f(h,p,0),null!=g&&f(h,g,1);const m=[];if(h instanceof a.Tensor){l.assert(2===h.rank,"Input to renderHeatmap must be a 2d array or Tensor2d");const t=yield h.data(),[e,n]=h.shape;for(let r=0;rString(t).replace(b,"")}),i.colorMap){case"blues":x=["#f7fbff","#4292c6"];break;case"greyscale":x=["#000000","#ffffff"];break;case"viridis":default:x="viridis"}if("viridis"!==x&&(y.encoding.fill.scale={range:x}),i.domain){const t=y.encoding.fill;null!=t.scale?t.scale=Object.assign({},t.scale,{domain:i.domain}):t.scale={domain:i.domain}}yield s.default(o,y,v)})};const d={xLabel:null,yLabel:null,xType:"ordinal",yType:"ordinal",colorMap:"viridis",fontSize:12,domain:null,rowMajor:!1}},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}u((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(11)),a=n(7),s=n(22),u=n(5);e.scatterplot=function(t,e,n={}){return r(this,void 0,void 0,function*(){let r=e.values;const i=null==e.series?[]:e.series,c=[];(r=Array.isArray(r[0])?r:[r]).forEach((t,e)=>{const n=null!=i[e]?i[e]:`Series ${e+1}`,r=t.map(t=>Object.assign({},t,{series:n}));c.push(...r)}),null!=n.seriesColors&&s.assert(n.seriesColors.length===r.length,"Must have an equal number of series colors as there are data series");const f=u.getDrawArea(t),d=Object.assign({},l,n),h={width:d.width||a.getDefaultWidth(f),height:d.height||a.getDefaultHeight(f),padding:0,autosize:{type:"fit",contains:"padding",resize:!0},config:{axis:{labelFontSize:d.fontSize,titleFontSize:d.fontSize},text:{fontSize:d.fontSize},legend:{labelFontSize:d.fontSize,titleFontSize:d.fontSize}},data:{values:c},mark:{type:"point",clip:!0,tooltip:{content:"data"}},encoding:{x:{field:"x",type:d.xType,title:d.xLabel,scale:d.zoomToFit?{zero:!1}:null!=d.xAxisDomain?{domain:d.xAxisDomain}:void 0},y:{field:"y",type:d.yType,title:d.yLabel,scale:d.zoomToFit?{zero:!1}:null!=d.yAxisDomain?{domain:d.yAxisDomain}:void 0},color:{field:"series",type:"nominal",scale:{range:d.seriesColors}},shape:{field:"series",type:"nominal"}}};return yield o.default(f,h,{actions:!1,mode:"vega-lite",defaultStyle:!1}),Promise.resolve()})};const l={xLabel:"x",yLabel:"y",xType:"quantitative",yType:"quantitative",zoomToFit:!1,fontSize:11}},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}u((r=r.apply(t,e||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0});const i=n(52),o=n(5),a=n(7);function s(t,e,n,s={}){return r(this,void 0,void 0,function*(){const r=o.getDrawArea(t),c={};for(const t of n)if(/val_/.test(t)){const r=t.replace("val_","");u(c,r);const i=l(e,t,n.indexOf(t));c[r].series.push(t),c[r].values.push(i)}else{const r=l(e,t,n.indexOf(t));u(c,t),c[t].series.push(t),c[t].values.push(r)}const f=Object.keys(c),d=Object.assign({},{xLabel:"Iteration",yLabel:"Value"},s),h=[];for(const t of f){const e=a.subSurface(r,t),n=c[t].series,o=c[t].values;n.every(t=>Boolean(t.match("acc")))&&(d.zoomToFitAccuracy?d.zoomToFit=!0:(d.yAxisDomain=[0,1],delete d.zoomToFit));const s=i.linechart(e,{values:o,series:n},d);h.push(s)}yield Promise.all(h)})}function u(t,e){null==t[e]&&(t[e]={series:[],values:[]})}function l(t,e,n){if(Array.isArray(t)){const r=Array.isArray(t[0])?t[n]:t,i=[];for(let t=0;t({x:e,y:t}))}function c(t,e,n){return null==t[e]&&(t[e]={}),null==t[e][n]&&(t[e][n]=[]),t[e][n]}e.history=s,e.fitCallbacks=function(t,e,n={}){const i={},u=n.callbacks||["onEpochEnd","onBatchEnd"],l=o.getDrawArea(t),f=Object.assign({},n);delete f.callbacks;const d={};return u.forEach(t=>{d[t]=function(t){return(n,u)=>r(this,void 0,void 0,function*(){/batch/i.test(t)?f.xLabel="Batch":/epoch/i.test(t)&&(f.xLabel="Epoch");const n=[],r=[];for(const o of e)if(null!=u[o]){r.push(o);const e=c(i,t,o);e.push({[o]:u[o]}),n.push(e)}s(a.subSurface(l,t,{title:t}),n,r,f),yield o.nextFrame()})}(t)}),d}},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}u((r=r.apply(t,e||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0});const i=n(37),o=n(5),a=n(24),s=n(7),u=n(23);function l(t){let e;if(Array.isArray(t.outputShape[0])){e=`[${t.outputShape.map(t=>c(t)).join(", ")}]`}else e=c(t.outputShape);return{name:t.name,trainable:t.trainable,parameters:t.countParams(),outputShape:e}}function c(t){const e=t.slice();return 0===e.length?"Scalar":(null===e[0]&&(e[0]="batch"),`[${e.join(",")}]`)}e.modelSummary=function(t,e){return r(this,void 0,void 0,function*(){const n=o.getDrawArea(t),r=function(t){return{layers:t.layers.map(l)}}(e).layers.map(t=>[t.name,t.outputShape,t.parameters,t.trainable]);a.table(n,{headers:["Layer Name","Output Shape","# Of Params","Trainable"],values:r})})},e.layer=function(t,e){return r(this,void 0,void 0,function*(){const n=o.getDrawArea(t),l=yield function(t){return r(this,void 0,void 0,function*(){const e=t.getWeights(),n=t.weights,r=e.map(u.tensorStats),i=yield Promise.all(r),o=e.map(t=>t.shape);return e.map((t,e)=>({name:n[e].name,stats:i[e],shape:c(o[e]),weight:t}))})}(e),f=s.subSurface(n,"layer-weights-info"),d=l.map(t=>[t.name,t.shape,t.stats.min,t.stats.max,t.weight.size,t.stats.numZeros,t.stats.numNans,t.stats.numInfs]);a.table(f,{headers:["Weight Name","Shape","Min","Max","# Params","# Zeros","# NaNs","# Infinity"],values:d});const h=s.subSurface(n,"select-layer"),p=s.subSurface(n,"param-distribution");!function(t,e,n){const r=`
${`\n \n `}
`;e.innerHTML=r;const i=e.querySelector("button"),o=e.querySelector("select");i.addEventListener("click",()=>{n(o.selectedOptions[0].label)})}(l.map(t=>t.name),h,t=>r(this,void 0,void 0,function*(){const e=yield l.filter(e=>e.name===t)[0].weight.data();i.histogram(p,e,{height:150,width:460,stats:!1})}))})}},function(t,e,n){"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(t){try{u(r.next(t))}catch(t){o(t)}}function s(t){try{u(r.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new n(function(e){e(t.value)}).then(a,s)}u((r=r.apply(t,e||[])).next())})};Object.defineProperty(e,"__esModule",{value:!0});const i=n(5),o=n(24);e.showPerClassAccuracy=function(t,e,n){return r(this,void 0,void 0,function*(){const r=i.getDrawArea(t),a=[];for(let t=0;t=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),i.hasOwnProperty(e)?{space:i[e],local:t}:t};var a=function(t){var e=o(t);return(e.local?function(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}:function(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===r&&e.documentElement.namespaceURI===r?e.createElement(t):e.createElementNS(n,t)}})(e)};function s(){}var u=function(t){return null==t?s:function(){return this.querySelector(t)}};function l(){return[]}var c=function(t){return null==t?l:function(){return this.querySelectorAll(t)}},f=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var d=document.documentElement;if(!d.matches){var h=d.webkitMatchesSelector||d.msMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector;f=function(t){return function(){return h.call(this,t)}}}}var p=f,g=function(t){return new Array(t.length)};function m(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}m.prototype={constructor:m,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var v="$";function y(t,e,n,r,i,o){for(var a,s=0,u=e.length,l=o.length;se?1:t>=e?0:NaN}var _=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function w(t,e){return t.style.getPropertyValue(e)||_(t).getComputedStyle(t,null).getPropertyValue(e)}function O(t){return t.trim().split(/^|\s+/)}function j(t){return t.classList||new k(t)}function k(t){this._node=t,this._names=O(t.getAttribute("class")||"")}function A(t,e){for(var n=j(t),r=-1,i=e.length;++r=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function S(){this.textContent=""}function D(){this.innerHTML=""}function C(){this.nextSibling&&this.parentNode.appendChild(this)}function M(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function F(){return null}function $(){var t=this.parentNode;t&&t.removeChild(this)}function N(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function T(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}var z={},R=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(z={mouseenter:"mouseover",mouseleave:"mouseout"}));function P(t,e,n){return t=L(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function L(t,e,n){return function(r){var i=R;R=r;try{t.call(this,this.__data__,e,n)}finally{R=i}}}function B(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r=w&&(w=_+1);!(x=m[w])&&++w=0;)(r=i[o])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=x);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o1?this.each((null==e?function(t){return function(){this.style.removeProperty(t)}}:"function"==typeof e?function(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}:function(t,e,n){return function(){this.style.setProperty(t,e,n)}})(t,e,null==n?"":n)):w(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?function(t){return function(){delete this[t]}}:"function"==typeof e?function(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}:function(t,e){return function(){this[t]=e}})(t,e)):this.node()[t]},classed:function(t,e){var n=O(t+"");if(arguments.length<2){for(var r=j(this.node()),i=-1,o=n.length;++i=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}})}(t+""),a=o.length;if(!(arguments.length<2)){for(s=e?I:B,null==n&&(n=!1),r=0;r