@oiz/stzh-components 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/dist/cjs/{_commonjsHelpers-dcc4cf71.js → _commonjsHelpers-bcc1208a.js} +0 -16
  2. package/dist/cjs/{app-globals-905798bf.js → app-globals-8fbeeb92.js} +1 -1
  3. package/dist/cjs/{js.cookie-226c94ed.js → js.cookie-9c263d23.js} +1 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/stzh-badge_3.cjs.entry.js +9 -2
  6. package/dist/cjs/stzh-card_3.cjs.entry.js +18 -19
  7. package/dist/cjs/stzh-chart.cjs.entry.js +5998 -5171
  8. package/dist/cjs/stzh-chip_2.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-components.cjs.js +2 -2
  10. package/dist/cjs/stzh-cspace.cjs.entry.js +1 -1
  11. package/dist/cjs/stzh-datalist_2.cjs.entry.js +9 -2
  12. package/dist/cjs/stzh-datamessagelist-item.cjs.entry.js +1 -1
  13. package/dist/cjs/stzh-datatable.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-dropdown.cjs.entry.js +1 -1
  15. package/dist/cjs/stzh-ghettobox_2.cjs.entry.js +14 -3
  16. package/dist/cjs/stzh-invert.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-link.cjs.entry.js +9 -2
  18. package/dist/cjs/stzh-message.cjs.entry.js +2 -2
  19. package/dist/cjs/stzh-olmap.cjs.entry.js +1 -1
  20. package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +1 -1
  21. package/dist/cjs/stzh-portal-mitwirken.cjs.entry.js +1 -1
  22. package/dist/cjs/stzh-upload.cjs.entry.js +1 -1
  23. package/dist/cjs/stzh-vbz-linechip.cjs.entry.js +1 -1
  24. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +16 -11
  25. package/dist/collection/assets/i18n/de.json +2 -0
  26. package/dist/collection/assets/i18n/en.json +3 -1
  27. package/dist/collection/components/stzh-button/stzh-button.css +11 -0
  28. package/dist/collection/components/stzh-button/stzh-button.js +28 -1
  29. package/dist/collection/components/stzh-card/stzh-card.css +1 -1
  30. package/dist/collection/components/stzh-card/stzh-card.js +17 -18
  31. package/dist/collection/components/stzh-chart/stzh-chart.css +101 -54
  32. package/dist/collection/components/stzh-chart/stzh-chart.stories.js +1 -0
  33. package/dist/collection/components/stzh-chip/stzh-chip.css +2 -2
  34. package/dist/collection/components/stzh-cspace/stzh-cspace.css +36 -0
  35. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.css +11 -0
  36. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.js +28 -1
  37. package/dist/collection/components/stzh-datamessagelist-item/stzh-datamessagelist-item.css +10 -0
  38. package/dist/collection/components/stzh-input/stzh-input.stories.js +12 -12
  39. package/dist/collection/components/stzh-invert/stzh-invert.css +1 -1
  40. package/dist/collection/components/stzh-link/stzh-link.css +11 -0
  41. package/dist/collection/components/stzh-link/stzh-link.js +28 -1
  42. package/dist/collection/components/stzh-pagetitle-hero/stzh-pagetitle-hero.css +1 -1
  43. package/dist/collection/components/stzh-portal-mitwirken/stzh-portal-mitwirken.css +112 -6
  44. package/dist/collection/components/stzh-richtext/stzh-richtext.css +14 -3
  45. package/dist/collection/components/stzh-richtext/stzh-richtext.js +32 -0
  46. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.js +16 -11
  47. package/dist/collection/pages/egov.stories.js +12 -0
  48. package/dist/components/_commonjsHelpers.js +1 -16
  49. package/dist/components/index.js +1 -1
  50. package/dist/components/stzh-button2.js +10 -2
  51. package/dist/components/stzh-card2.js +18 -19
  52. package/dist/components/stzh-chart.js +5995 -5168
  53. package/dist/components/stzh-chip2.js +1 -1
  54. package/dist/components/stzh-cspace.js +1 -1
  55. package/dist/components/stzh-datalist-item2.js +10 -2
  56. package/dist/components/stzh-datamessagelist-item.js +1 -1
  57. package/dist/components/stzh-invert.js +1 -1
  58. package/dist/components/stzh-link2.js +10 -2
  59. package/dist/components/stzh-pagetitle-hero.js +1 -1
  60. package/dist/components/stzh-portal-mitwirken.js +1 -1
  61. package/dist/components/stzh-richtext2.js +14 -1
  62. package/dist/components/stzh-upload.js +1 -1
  63. package/dist/components/stzh-vbz-ticker.js +16 -11
  64. package/dist/esm/{_commonjsHelpers-f9dc4873.js → _commonjsHelpers-ba3f0406.js} +1 -16
  65. package/dist/esm/{app-globals-ed4f272d.js → app-globals-f5264f95.js} +1 -1
  66. package/dist/esm/{js.cookie-53735b72.js → js.cookie-28a40640.js} +1 -1
  67. package/dist/esm/loader.js +2 -2
  68. package/dist/esm/stzh-badge_3.entry.js +9 -2
  69. package/dist/esm/stzh-card_3.entry.js +18 -19
  70. package/dist/esm/stzh-chart.entry.js +5995 -5168
  71. package/dist/esm/stzh-chip_2.entry.js +1 -1
  72. package/dist/esm/stzh-components.js +2 -2
  73. package/dist/esm/stzh-cspace.entry.js +1 -1
  74. package/dist/esm/stzh-datalist_2.entry.js +9 -2
  75. package/dist/esm/stzh-datamessagelist-item.entry.js +1 -1
  76. package/dist/esm/stzh-datatable.entry.js +1 -1
  77. package/dist/esm/stzh-dropdown.entry.js +1 -1
  78. package/dist/esm/stzh-ghettobox_2.entry.js +14 -3
  79. package/dist/esm/stzh-invert.entry.js +1 -1
  80. package/dist/esm/stzh-link.entry.js +9 -2
  81. package/dist/esm/stzh-message.entry.js +2 -2
  82. package/dist/esm/stzh-olmap.entry.js +1 -1
  83. package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
  84. package/dist/esm/stzh-portal-mitwirken.entry.js +1 -1
  85. package/dist/esm/stzh-upload.entry.js +1 -1
  86. package/dist/esm/stzh-vbz-linechip.entry.js +1 -1
  87. package/dist/esm/stzh-vbz-ticker.entry.js +16 -11
  88. package/dist/esm-es5/_commonjsHelpers-ba3f0406.js +1 -0
  89. package/dist/esm-es5/{app-globals-ed4f272d.js → app-globals-f5264f95.js} +1 -1
  90. package/dist/esm-es5/{js.cookie-53735b72.js → js.cookie-28a40640.js} +1 -1
  91. package/dist/esm-es5/loader.js +1 -1
  92. package/dist/esm-es5/stzh-badge_3.entry.js +1 -1
  93. package/dist/esm-es5/stzh-card_3.entry.js +1 -1
  94. package/dist/esm-es5/stzh-chart.entry.js +3 -3
  95. package/dist/esm-es5/stzh-chip_2.entry.js +1 -1
  96. package/dist/esm-es5/stzh-components.js +1 -1
  97. package/dist/esm-es5/stzh-cspace.entry.js +1 -1
  98. package/dist/esm-es5/stzh-datalist_2.entry.js +1 -1
  99. package/dist/esm-es5/stzh-datamessagelist-item.entry.js +1 -1
  100. package/dist/esm-es5/stzh-datatable.entry.js +1 -1
  101. package/dist/esm-es5/stzh-dropdown.entry.js +1 -1
  102. package/dist/esm-es5/stzh-ghettobox_2.entry.js +1 -1
  103. package/dist/esm-es5/stzh-invert.entry.js +1 -1
  104. package/dist/esm-es5/stzh-link.entry.js +1 -1
  105. package/dist/esm-es5/stzh-message.entry.js +1 -1
  106. package/dist/esm-es5/stzh-olmap.entry.js +1 -1
  107. package/dist/esm-es5/stzh-pagetitle-hero.entry.js +1 -1
  108. package/dist/esm-es5/stzh-portal-mitwirken.entry.js +1 -1
  109. package/dist/esm-es5/stzh-upload.entry.js +1 -1
  110. package/dist/esm-es5/stzh-vbz-linechip.entry.js +1 -1
  111. package/dist/esm-es5/stzh-vbz-ticker.entry.js +1 -1
  112. package/dist/stzh-components/assets/i18n/de.json +2 -0
  113. package/dist/stzh-components/assets/i18n/en.json +3 -1
  114. package/dist/stzh-components/{p-765d8272.js → p-05e742b4.js} +1 -1
  115. package/dist/stzh-components/{p-9c3f8f6b.system.js → p-09a6a4be.system.js} +1 -1
  116. package/dist/stzh-components/{p-b9372a2a.entry.js → p-0ab2f949.entry.js} +1 -1
  117. package/dist/stzh-components/{p-ed783154.system.entry.js → p-216b89d7.system.entry.js} +1 -1
  118. package/dist/stzh-components/{p-c8cc2563.system.entry.js → p-263fd0bb.system.entry.js} +1 -1
  119. package/dist/stzh-components/{p-e4a8f1bc.system.entry.js → p-2e40e63c.system.entry.js} +1 -1
  120. package/dist/stzh-components/{p-26889a91.entry.js → p-32ae64a3.entry.js} +1 -1
  121. package/dist/stzh-components/{p-4eee30ea.system.entry.js → p-340eedda.system.entry.js} +1 -1
  122. package/dist/stzh-components/p-3721f7b2.entry.js +1 -0
  123. package/dist/stzh-components/p-37de872c.system.entry.js +1 -0
  124. package/dist/stzh-components/p-3a73b8b5.system.js +1 -0
  125. package/dist/stzh-components/p-3e8ff66b.js +1 -0
  126. package/dist/stzh-components/{p-c2f909c1.system.entry.js → p-3fc51ad1.system.entry.js} +1 -1
  127. package/dist/stzh-components/p-4453449f.entry.js +1 -0
  128. package/dist/stzh-components/{p-d54ff4d4.system.entry.js → p-47175c6f.system.entry.js} +1 -1
  129. package/dist/stzh-components/p-5b85324c.entry.js +1 -0
  130. package/dist/stzh-components/{p-484a366f.system.js → p-5db542ae.system.js} +1 -1
  131. package/dist/stzh-components/p-62791751.entry.js +1 -0
  132. package/dist/stzh-components/p-660125e0.system.entry.js +1 -0
  133. package/dist/stzh-components/{p-3d2720ac.system.js → p-6932ce19.system.js} +1 -1
  134. package/dist/stzh-components/{p-f3276ca5.system.entry.js → p-6a109ce9.system.entry.js} +1 -1
  135. package/dist/stzh-components/p-6c73f6ad.entry.js +1 -0
  136. package/dist/stzh-components/{p-02d51685.entry.js → p-6ee87986.entry.js} +1 -1
  137. package/dist/stzh-components/{p-d9ae09b5.entry.js → p-7bb82e56.entry.js} +1 -1
  138. package/dist/stzh-components/p-7d42654b.system.entry.js +1 -0
  139. package/dist/stzh-components/{p-b92734db.entry.js → p-7e9fa7f5.entry.js} +1 -1
  140. package/dist/stzh-components/p-8c141cae.system.entry.js +1 -0
  141. package/dist/stzh-components/p-907f59dd.entry.js +1 -0
  142. package/dist/stzh-components/{p-6adc5f0c.system.entry.js → p-95bfbf67.system.entry.js} +1 -1
  143. package/dist/stzh-components/{p-c9c7d88a.entry.js → p-a47e205f.entry.js} +1 -1
  144. package/dist/stzh-components/p-aa2c81e6.system.entry.js +3 -0
  145. package/dist/stzh-components/{p-89bd0d46.entry.js → p-aa4f87cc.entry.js} +1 -1
  146. package/dist/stzh-components/p-af9aac53.entry.js +3 -0
  147. package/dist/stzh-components/{p-24b8df26.js → p-b10682ee.js} +1 -1
  148. package/dist/stzh-components/p-b9b1b7cf.entry.js +1 -0
  149. package/dist/stzh-components/p-c9940c35.entry.js +1 -0
  150. package/dist/stzh-components/{p-7e4261ce.system.entry.js → p-d5514e5b.system.entry.js} +1 -1
  151. package/dist/stzh-components/{p-a32ae73a.system.entry.js → p-d5948025.system.entry.js} +1 -1
  152. package/dist/stzh-components/{p-2b67b0b3.system.entry.js → p-d95b44c6.system.entry.js} +1 -1
  153. package/dist/stzh-components/p-ddcec4e1.system.entry.js +1 -0
  154. package/dist/stzh-components/{p-444b2baf.entry.js → p-e085a0a0.entry.js} +1 -1
  155. package/dist/stzh-components/{p-d943e02c.system.entry.js → p-e09ac5e3.system.entry.js} +1 -1
  156. package/dist/stzh-components/p-e4aa12ba.system.entry.js +1 -0
  157. package/dist/stzh-components/{p-af67ea5e.entry.js → p-f4c0d928.entry.js} +1 -1
  158. package/dist/stzh-components/p-f725921a.entry.js +1 -0
  159. package/dist/stzh-components/stzh-components.css +1 -1
  160. package/dist/stzh-components/stzh-components.esm.js +1 -1
  161. package/dist/stzh-components/stzh-components.js +1 -1
  162. package/dist/types/components.d.ts +33 -1
  163. package/dist/types/utils/translation-utils.d.ts +2 -0
  164. package/dist/vscode-data.json +16 -16
  165. package/package.json +4 -4
  166. package/dist/esm-es5/_commonjsHelpers-f9dc4873.js +0 -1
  167. package/dist/stzh-components/p-16c0b9ae.entry.js +0 -3
  168. package/dist/stzh-components/p-1d435dd8.system.entry.js +0 -1
  169. package/dist/stzh-components/p-1f74846f.entry.js +0 -1
  170. package/dist/stzh-components/p-29e9ad9f.system.entry.js +0 -1
  171. package/dist/stzh-components/p-30a9de85.system.entry.js +0 -1
  172. package/dist/stzh-components/p-4c60da30.entry.js +0 -1
  173. package/dist/stzh-components/p-532b4218.entry.js +0 -1
  174. package/dist/stzh-components/p-798ac79c.entry.js +0 -1
  175. package/dist/stzh-components/p-84a6e023.system.entry.js +0 -1
  176. package/dist/stzh-components/p-8caafed2.system.entry.js +0 -1
  177. package/dist/stzh-components/p-99b82949.entry.js +0 -1
  178. package/dist/stzh-components/p-9c90535a.system.js +0 -1
  179. package/dist/stzh-components/p-9de8b25b.entry.js +0 -1
  180. package/dist/stzh-components/p-a6d4a8b1.js +0 -1
  181. package/dist/stzh-components/p-b04a9d0f.system.entry.js +0 -1
  182. package/dist/stzh-components/p-b422041d.entry.js +0 -1
  183. package/dist/stzh-components/p-cc722b35.system.entry.js +0 -3
  184. package/dist/stzh-components/p-db306e24.entry.js +0 -1
  185. package/dist/stzh-components/p-ee4b939a.entry.js +0 -1
@@ -1,3 +1,3 @@
1
- import{r as registerInstance,h,c as Host,g as getElement}from"./index-319b7c49.js";import{g as getAugmentedNamespace,c as createCommonjsModule,a as getDefaultExportFromCjs,b as commonjsGlobal}from"./_commonjsHelpers-f9dc4873.js";var version="4.13.0";function ascending$2(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function bisector(t){if(t.length===1)t=ascendingComparator(t);return{left:function(e,n,r,i){if(r==null)r=0;if(i==null)i=e.length;while(r<i){var a=r+i>>>1;if(t(e[a],n)<0)r=a+1;else i=a}return r},right:function(e,n,r,i){if(r==null)r=0;if(i==null)i=e.length;while(r<i){var a=r+i>>>1;if(t(e[a],n)>0)i=a;else r=a+1}return r}}}function ascendingComparator(t){return function(e,n){return ascending$2(t(e),n)}}var ascendingBisect=bisector(ascending$2);var bisectRight=ascendingBisect.right;var bisectLeft=ascendingBisect.left;function pairs(t,e){if(e==null)e=pair;var n=0,r=t.length-1,i=t[0],a=new Array(r<0?0:r);while(n<r)a[n]=e(i,i=t[++n]);return a}function pair(t,e){return[t,e]}function cross$2(t,e,n){var r=t.length,i=e.length,a=new Array(r*i),o,s,l,u;if(n==null)n=pair;for(o=l=0;o<r;++o){for(u=t[o],s=0;s<i;++s,++l){a[l]=n(u,e[s])}}return a}function descending$2(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function number$3(t){return t===null?NaN:+t}function variance(t,e){var n=t.length,r=0,i=-1,a=0,o,s,l=0;if(e==null){while(++i<n){if(!isNaN(o=number$3(t[i]))){s=o-a;a+=s/++r;l+=s*(o-a)}}}else{while(++i<n){if(!isNaN(o=number$3(e(t[i],i,t)))){s=o-a;a+=s/++r;l+=s*(o-a)}}}if(r>1)return l/(r-1)}function deviation(t,e){var n=variance(t,e);return n?Math.sqrt(n):n}function extent$1(t,e){var n=t.length,r=-1,i,a,o;if(e==null){while(++r<n){if((i=t[r])!=null&&i>=i){a=o=i;while(++r<n){if((i=t[r])!=null){if(a>i)a=i;if(o<i)o=i}}}}}else{while(++r<n){if((i=e(t[r],r,t))!=null&&i>=i){a=o=i;while(++r<n){if((i=e(t[r],r,t))!=null){if(a>i)a=i;if(o<i)o=i}}}}}return[a,o]}var array$2=Array.prototype;var slice$6=array$2.slice;var map$2=array$2.map;function constant$c(t){return function(){return t}}function identity$9(t){return t}function sequence(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;var r=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,a=new Array(i);while(++r<i){a[r]=t+r*n}return a}var e10=Math.sqrt(50),e5=Math.sqrt(10),e2=Math.sqrt(2);function ticks(t,e,n){var r,i=-1,a,o,s;e=+e,t=+t,n=+n;if(t===e&&n>0)return[t];if(r=e<t)a=t,t=e,e=a;if((s=tickIncrement(t,e,n))===0||!isFinite(s))return[];if(s>0){t=Math.ceil(t/s);e=Math.floor(e/s);o=new Array(a=Math.ceil(e-t+1));while(++i<a)o[i]=(t+i)*s}else{t=Math.floor(t*s);e=Math.ceil(e*s);o=new Array(a=Math.ceil(t-e+1));while(++i<a)o[i]=(t-i)/s}if(r)o.reverse();return o}function tickIncrement(t,e,n){var r=(e-t)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),a=r/Math.pow(10,i);return i>=0?(a>=e10?10:a>=e5?5:a>=e2?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=e10?10:a>=e5?5:a>=e2?2:1)}function tickStep(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;if(a>=e10)i*=10;else if(a>=e5)i*=5;else if(a>=e2)i*=2;return e<t?-i:i}function sturges(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function histogram(){var t=identity$9,e=extent$1,n=sturges;function r(r){var i,a=r.length,o,s=new Array(a);for(i=0;i<a;++i){s[i]=t(r[i],i,r)}var l=e(s),u=l[0],c=l[1],f=n(s,u,c);if(!Array.isArray(f)){f=tickStep(u,c,f);f=sequence(Math.ceil(u/f)*f,Math.floor(c/f)*f,f)}var h=f.length;while(f[0]<=u)f.shift(),--h;while(f[h-1]>c)f.pop(),--h;var d=new Array(h+1),p;for(i=0;i<=h;++i){p=d[i]=[];p.x0=i>0?f[i-1]:u;p.x1=i<h?f[i]:c}for(i=0;i<a;++i){o=s[i];if(u<=o&&o<=c){d[bisectRight(f,o,0,h)].push(r[i])}}return d}r.value=function(e){return arguments.length?(t=typeof e==="function"?e:constant$c(e),r):t};r.domain=function(t){return arguments.length?(e=typeof t==="function"?t:constant$c([t[0],t[1]]),r):e};r.thresholds=function(t){return arguments.length?(n=typeof t==="function"?t:Array.isArray(t)?constant$c(slice$6.call(t)):constant$c(t),r):n};return r}function threshold$1(t,e,n){if(n==null)n=number$3;if(!(r=t.length))return;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,a=Math.floor(i),o=+n(t[a],a,t),s=+n(t[a+1],a+1,t);return o+(s-o)*(i-a)}function freedmanDiaconis(t,e,n){t=map$2.call(t,number$3).sort(ascending$2);return Math.ceil((n-e)/(2*(threshold$1(t,.75)-threshold$1(t,.25))*Math.pow(t.length,-1/3)))}function scott(t,e,n){return Math.ceil((n-e)/(3.5*deviation(t)*Math.pow(t.length,-1/3)))}function max$2(t,e){var n=t.length,r=-1,i,a;if(e==null){while(++r<n){if((i=t[r])!=null&&i>=i){a=i;while(++r<n){if((i=t[r])!=null&&i>a){a=i}}}}}else{while(++r<n){if((i=e(t[r],r,t))!=null&&i>=i){a=i;while(++r<n){if((i=e(t[r],r,t))!=null&&i>a){a=i}}}}}return a}function mean(t,e){var n=t.length,r=n,i=-1,a,o=0;if(e==null){while(++i<n){if(!isNaN(a=number$3(t[i])))o+=a;else--r}}else{while(++i<n){if(!isNaN(a=number$3(e(t[i],i,t))))o+=a;else--r}}if(r)return o/r}function median(t,e){var n=t.length,r=-1,i,a=[];if(e==null){while(++r<n){if(!isNaN(i=number$3(t[r]))){a.push(i)}}}else{while(++r<n){if(!isNaN(i=number$3(e(t[r],r,t)))){a.push(i)}}}return threshold$1(a.sort(ascending$2),.5)}function merge$1(t){var e=t.length,n,r=-1,i=0,a,o;while(++r<e)i+=t[r].length;a=new Array(i);while(--e>=0){o=t[e];n=o.length;while(--n>=0){a[--i]=o[n]}}return a}function min$1(t,e){var n=t.length,r=-1,i,a;if(e==null){while(++r<n){if((i=t[r])!=null&&i>=i){a=i;while(++r<n){if((i=t[r])!=null&&a>i){a=i}}}}}else{while(++r<n){if((i=e(t[r],r,t))!=null&&i>=i){a=i;while(++r<n){if((i=e(t[r],r,t))!=null&&a>i){a=i}}}}}return a}function permute(t,e){var n=e.length,r=new Array(n);while(n--)r[n]=t[e[n]];return r}function scan(t,e){if(!(n=t.length))return;var n,r=0,i=0,a,o=t[i];if(e==null)e=ascending$2;while(++r<n){if(e(a=t[r],o)<0||e(o,o)!==0){o=a,i=r}}if(e(o,o)===0)return i}function shuffle$1(t,e,n){var r=(n==null?t.length:n)-(e=e==null?0:+e),i,a;while(r){a=Math.random()*r--|0;i=t[r+e];t[r+e]=t[a+e];t[a+e]=i}return t}function sum$2(t,e){var n=t.length,r=-1,i,a=0;if(e==null){while(++r<n){if(i=+t[r])a+=i}}else{while(++r<n){if(i=+e(t[r],r,t))a+=i}}return a}function transpose(t){if(!(a=t.length))return[];for(var e=-1,n=min$1(t,length$2),r=new Array(n);++e<n;){for(var i=-1,a,o=r[e]=new Array(a);++i<a;){o[i]=t[i][e]}}return r}function length$2(t){return t.length}function zip(){return transpose(arguments)}var slice$5=Array.prototype.slice;function identity$8(t){return t}var top=1,right=2,bottom=3,left=4,epsilon$4=1e-6;function translateX(t){return"translate("+(t+.5)+",0)"}function translateY(t){return"translate(0,"+(t+.5)+")"}function number$2(t){return function(e){return+t(e)}}function center$1(t){var e=Math.max(0,t.bandwidth()-1)/2;if(t.round())e=Math.round(e);return function(n){return+t(n)+e}}function entering(){return!this.__axis}function axis(t,e){var n=[],r=null,i=null,a=6,o=6,s=3,l=t===top||t===left?-1:1,u=t===left||t===right?"x":"y",c=t===top||t===bottom?translateX:translateY;function f(f){var h=r==null?e.ticks?e.ticks.apply(e,n):e.domain():r,d=i==null?e.tickFormat?e.tickFormat.apply(e,n):identity$8:i,p=Math.max(a,0)+s,v=e.range(),m=+v[0]+.5,g=+v[v.length-1]+.5,y=(e.bandwidth?center$1:number$2)(e.copy()),_=f.selection?f.selection():f,b=_.selectAll(".domain").data([null]),x=_.selectAll(".tick").data(h,e).order(),w=x.exit(),$=x.enter().append("g").attr("class","tick"),k=x.select("line"),M=x.select("text");b=b.merge(b.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000"));x=x.merge($);k=k.merge($.append("line").attr("stroke","#000").attr(u+"2",l*a));M=M.merge($.append("text").attr("fill","#000").attr(u,l*p).attr("dy",t===top?"0em":t===bottom?"0.71em":"0.32em"));if(f!==_){b=b.transition(f);x=x.transition(f);k=k.transition(f);M=M.transition(f);w=w.transition(f).attr("opacity",epsilon$4).attr("transform",(function(t){return isFinite(t=y(t))?c(t):this.getAttribute("transform")}));$.attr("opacity",epsilon$4).attr("transform",(function(t){var e=this.parentNode.__axis;return c(e&&isFinite(e=e(t))?e:y(t))}))}w.remove();b.attr("d",t===left||t==right?"M"+l*o+","+m+"H0.5V"+g+"H"+l*o:"M"+m+","+l*o+"V0.5H"+g+"V"+l*o);x.attr("opacity",1).attr("transform",(function(t){return c(y(t))}));k.attr(u+"2",l*a);M.attr(u,l*p).text(d);_.filter(entering).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===right?"start":t===left?"end":"middle");_.each((function(){this.__axis=y}))}f.scale=function(t){return arguments.length?(e=t,f):e};f.ticks=function(){return n=slice$5.call(arguments),f};f.tickArguments=function(t){return arguments.length?(n=t==null?[]:slice$5.call(t),f):n.slice()};f.tickValues=function(t){return arguments.length?(r=t==null?null:slice$5.call(t),f):r&&r.slice()};f.tickFormat=function(t){return arguments.length?(i=t,f):i};f.tickSize=function(t){return arguments.length?(a=o=+t,f):a};f.tickSizeInner=function(t){return arguments.length?(a=+t,f):a};f.tickSizeOuter=function(t){return arguments.length?(o=+t,f):o};f.tickPadding=function(t){return arguments.length?(s=+t,f):s};return f}function axisTop(t){return axis(top,t)}function axisRight(t){return axis(right,t)}function axisBottom(t){return axis(bottom,t)}function axisLeft(t){return axis(left,t)}var noop$2={value:function(){}};function dispatch(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n)throw new Error("illegal type: "+r);n[r]=[]}return new Dispatch(n)}function Dispatch(t){this._=t}function parseTypenames$1(t,e){return t.trim().split(/^|\s+/).map((function(t){var n="",r=t.indexOf(".");if(r>=0)n=t.slice(r+1),t=t.slice(0,r);if(t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(t,e){var n=this._,r=parseTypenames$1(t+"",n),i,a=-1,o=r.length;if(arguments.length<2){while(++a<o)if((i=(t=r[a]).type)&&(i=get$1(n[i],t.name)))return i;return}if(e!=null&&typeof e!=="function")throw new Error("invalid callback: "+e);while(++a<o){if(i=(t=r[a]).type)n[i]=set$2(n[i],t.name,e);else if(e==null)for(i in n)n[i]=set$2(n[i],t.name,null)}return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new Dispatch(t)},call:function(t,e){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=this._[t],r=0,i=a.length;r<i;++r)a[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(e,n)}};function get$1(t,e){for(var n=0,r=t.length,i;n<r;++n){if((i=t[n]).name===e){return i.value}}}function set$2(t,e,n){for(var r=0,i=t.length;r<i;++r){if(t[r].name===e){t[r]=noop$2,t=t.slice(0,r).concat(t.slice(r+1));break}}if(n!=null)t.push({name:e,value:n});return t}var xhtml="http://www.w3.org/1999/xhtml";var namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(t){var e=t+="",n=e.indexOf(":");if(n>=0&&(e=t.slice(0,n))!=="xmlns")t=t.slice(n+1);return namespaces.hasOwnProperty(e)?{space:namespaces[e],local:t}:t}function creatorInherit(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===xhtml&&e.documentElement.namespaceURI===xhtml?e.createElement(t):e.createElementNS(n,t)}}function creatorFixed(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function creator(t){var e=namespace(t);return(e.local?creatorFixed:creatorInherit)(e)}function none$2(){}function selector(t){return t==null?none$2:function(){return this.querySelector(t)}}function selection_select(t){if(typeof t!=="function")t=selector(t);for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i){for(var a=e[i],o=a.length,s=r[i]=new Array(o),l,u,c=0;c<o;++c){if((l=a[c])&&(u=t.call(l,l.__data__,c,a))){if("__data__"in l)u.__data__=l.__data__;s[c]=u}}}return new Selection$1(r,this._parents)}function empty$1(){return[]}function selectorAll(t){return t==null?empty$1:function(){return this.querySelectorAll(t)}}function selection_selectAll(t){if(typeof t!=="function")t=selectorAll(t);for(var e=this._groups,n=e.length,r=[],i=[],a=0;a<n;++a){for(var o=e[a],s=o.length,l,u=0;u<s;++u){if(l=o[u]){r.push(t.call(l,l.__data__,u,o));i.push(l)}}}return new Selection$1(r,i)}var matcher=function(t){return function(){return this.matches(t)}};if(typeof document!=="undefined"){var element$1=document.documentElement;if(!element$1.matches){var vendorMatches=element$1.webkitMatchesSelector||element$1.msMatchesSelector||element$1.mozMatchesSelector||element$1.oMatchesSelector;matcher=function(t){return function(){return vendorMatches.call(this,t)}}}}var matcher$1=matcher;function selection_filter(t){if(typeof t!=="function")t=matcher$1(t);for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i){for(var a=e[i],o=a.length,s=r[i]=[],l,u=0;u<o;++u){if((l=a[u])&&t.call(l,l.__data__,u,a)){s.push(l)}}}return new Selection$1(r,this._parents)}function sparse(t){return new Array(t.length)}function selection_enter(){return new Selection$1(this._enter||this._groups.map(sparse),this._parents)}function EnterNode(t,e){this.ownerDocument=t.ownerDocument;this.namespaceURI=t.namespaceURI;this._next=null;this._parent=t;this.__data__=e}EnterNode.prototype={constructor:EnterNode,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)}};function constant$b(t){return function(){return t}}var keyPrefix$1="$";function bindIndex(t,e,n,r,i,a){var o=0,s,l=e.length,u=a.length;for(;o<u;++o){if(s=e[o]){s.__data__=a[o];r[o]=s}else{n[o]=new EnterNode(t,a[o])}}for(;o<l;++o){if(s=e[o]){i[o]=s}}}function bindKey(t,e,n,r,i,a,o){var s,l,u={},c=e.length,f=a.length,h=new Array(c),d;for(s=0;s<c;++s){if(l=e[s]){h[s]=d=keyPrefix$1+o.call(l,l.__data__,s,e);if(d in u){i[s]=l}else{u[d]=l}}}for(s=0;s<f;++s){d=keyPrefix$1+o.call(t,a[s],s,a);if(l=u[d]){r[s]=l;l.__data__=a[s];u[d]=null}else{n[s]=new EnterNode(t,a[s])}}for(s=0;s<c;++s){if((l=e[s])&&u[h[s]]===l){i[s]=l}}}function selection_data(t,e){if(!t){d=new Array(this.size()),u=-1;this.each((function(t){d[++u]=t}));return d}var n=e?bindKey:bindIndex,r=this._parents,i=this._groups;if(typeof t!=="function")t=constant$b(t);for(var a=i.length,o=new Array(a),s=new Array(a),l=new Array(a),u=0;u<a;++u){var c=r[u],f=i[u],h=f.length,d=t.call(c,c&&c.__data__,u,r),p=d.length,v=s[u]=new Array(p),m=o[u]=new Array(p),g=l[u]=new Array(h);n(c,f,v,m,g,d,e);for(var y=0,_=0,b,x;y<p;++y){if(b=v[y]){if(y>=_)_=y+1;while(!(x=m[_])&&++_<p);b._next=x||null}}}o=new Selection$1(o,r);o._enter=s;o._exit=l;return o}function selection_exit(){return new Selection$1(this._exit||this._groups.map(sparse),this._parents)}function selection_merge(t){for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s){for(var l=e[s],u=n[s],c=l.length,f=o[s]=new Array(c),h,d=0;d<c;++d){if(h=l[d]||u[d]){f[d]=h}}}for(;s<r;++s){o[s]=e[s]}return new Selection$1(o,this._parents)}function selection_order(){for(var t=this._groups,e=-1,n=t.length;++e<n;){for(var r=t[e],i=r.length-1,a=r[i],o;--i>=0;){if(o=r[i]){if(a&&a!==o.nextSibling)a.parentNode.insertBefore(o,a);a=o}}}return this}function selection_sort(t){if(!t)t=ascending$1;function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}for(var n=this._groups,r=n.length,i=new Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,l=i[a]=new Array(s),u,c=0;c<s;++c){if(u=o[c]){l[c]=u}}l.sort(e)}return new Selection$1(i,this._parents).order()}function ascending$1(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function selection_call(){var t=arguments[0];arguments[0]=this;t.apply(null,arguments);return this}function selection_nodes(){var t=new Array(this.size()),e=-1;this.each((function(){t[++e]=this}));return t}function selection_node(){for(var t=this._groups,e=0,n=t.length;e<n;++e){for(var r=t[e],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}}return null}function selection_size(){var t=0;this.each((function(){++t}));return t}function selection_empty(){return!this.node()}function selection_each(t){for(var e=this._groups,n=0,r=e.length;n<r;++n){for(var i=e[n],a=0,o=i.length,s;a<o;++a){if(s=i[a])t.call(s,s.__data__,a,i)}}return this}function attrRemove$1(t){return function(){this.removeAttribute(t)}}function attrRemoveNS$1(t){return function(){this.removeAttributeNS(t.space,t.local)}}function attrConstant$1(t,e){return function(){this.setAttribute(t,e)}}function attrConstantNS$1(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function attrFunction$1(t,e){return function(){var n=e.apply(this,arguments);if(n==null)this.removeAttribute(t);else this.setAttribute(t,n)}}function attrFunctionNS$1(t,e){return function(){var n=e.apply(this,arguments);if(n==null)this.removeAttributeNS(t.space,t.local);else this.setAttributeNS(t.space,t.local,n)}}function selection_attr(t,e){var n=namespace(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?attrRemoveNS$1:attrRemove$1:typeof e==="function"?n.local?attrFunctionNS$1:attrFunction$1:n.local?attrConstantNS$1:attrConstant$1)(n,e))}function defaultView(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function styleRemove$1(t){return function(){this.style.removeProperty(t)}}function styleConstant$1(t,e,n){return function(){this.style.setProperty(t,e,n)}}function styleFunction$1(t,e,n){return function(){var r=e.apply(this,arguments);if(r==null)this.style.removeProperty(t);else this.style.setProperty(t,r,n)}}function selection_style(t,e,n){return arguments.length>1?this.each((e==null?styleRemove$1:typeof e==="function"?styleFunction$1:styleConstant$1)(t,e,n==null?"":n)):styleValue(this.node(),t)}function styleValue(t,e){return t.style.getPropertyValue(e)||defaultView(t).getComputedStyle(t,null).getPropertyValue(e)}function propertyRemove(t){return function(){delete this[t]}}function propertyConstant(t,e){return function(){this[t]=e}}function propertyFunction(t,e){return function(){var n=e.apply(this,arguments);if(n==null)delete this[t];else this[t]=n}}function selection_property(t,e){return arguments.length>1?this.each((e==null?propertyRemove:typeof e==="function"?propertyFunction:propertyConstant)(t,e)):this.node()[t]}function classArray(t){return t.trim().split(/^|\s+/)}function classList(t){return t.classList||new ClassList(t)}function ClassList(t){this._node=t;this._names=classArray(t.getAttribute("class")||"")}ClassList.prototype={add:function(t){var e=this._names.indexOf(t);if(e<0){this._names.push(t);this._node.setAttribute("class",this._names.join(" "))}},remove:function(t){var e=this._names.indexOf(t);if(e>=0){this._names.splice(e,1);this._node.setAttribute("class",this._names.join(" "))}},contains:function(t){return this._names.indexOf(t)>=0}};function classedAdd(t,e){var n=classList(t),r=-1,i=e.length;while(++r<i)n.add(e[r])}function classedRemove(t,e){var n=classList(t),r=-1,i=e.length;while(++r<i)n.remove(e[r])}function classedTrue(t){return function(){classedAdd(this,t)}}function classedFalse(t){return function(){classedRemove(this,t)}}function classedFunction(t,e){return function(){(e.apply(this,arguments)?classedAdd:classedRemove)(this,t)}}function selection_classed(t,e){var n=classArray(t+"");if(arguments.length<2){var r=classList(this.node()),i=-1,a=n.length;while(++i<a)if(!r.contains(n[i]))return false;return true}return this.each((typeof e==="function"?classedFunction:e?classedTrue:classedFalse)(n,e))}function textRemove(){this.textContent=""}function textConstant$1(t){return function(){this.textContent=t}}function textFunction$1(t){return function(){var e=t.apply(this,arguments);this.textContent=e==null?"":e}}function selection_text(t){return arguments.length?this.each(t==null?textRemove:(typeof t==="function"?textFunction$1:textConstant$1)(t)):this.node().textContent}function htmlRemove(){this.innerHTML=""}function htmlConstant(t){return function(){this.innerHTML=t}}function htmlFunction(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e==null?"":e}}function selection_html(t){return arguments.length?this.each(t==null?htmlRemove:(typeof t==="function"?htmlFunction:htmlConstant)(t)):this.node().innerHTML}function raise$1(){if(this.nextSibling)this.parentNode.appendChild(this)}function selection_raise(){return this.each(raise$1)}function lower(){if(this.previousSibling)this.parentNode.insertBefore(this,this.parentNode.firstChild)}function selection_lower(){return this.each(lower)}function selection_append(t){var e=typeof t==="function"?t:creator(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))}function constantNull(){return null}function selection_insert(t,e){var n=typeof t==="function"?t:creator(t),r=e==null?constantNull:typeof e==="function"?e:selector(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))}function remove(){var t=this.parentNode;if(t)t.removeChild(this)}function selection_remove(){return this.each(remove)}function selection_cloneShallow(){return this.parentNode.insertBefore(this.cloneNode(false),this.nextSibling)}function selection_cloneDeep(){return this.parentNode.insertBefore(this.cloneNode(true),this.nextSibling)}function selection_clone(t){return this.select(t?selection_cloneDeep:selection_cloneShallow)}function selection_datum(t){return arguments.length?this.property("__data__",t):this.node().__data__}var filterEvents={};var event=null;if(typeof document!=="undefined"){var element=document.documentElement;if(!("onmouseenter"in element)){filterEvents={mouseenter:"mouseover",mouseleave:"mouseout"}}}function filterContextListener(t,e,n){t=contextListener(t,e,n);return function(e){var n=e.relatedTarget;if(!n||n!==this&&!(n.compareDocumentPosition(this)&8)){t.call(this,e)}}}function contextListener(t,e,n){return function(r){var i=event;event=r;try{t.call(this,this.__data__,e,n)}finally{event=i}}}function parseTypenames(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");if(n>=0)e=t.slice(n+1),t=t.slice(0,n);return{type:t,name:e}}))}function onRemove(t){return function(){var e=this.__on;if(!e)return;for(var n=0,r=-1,i=e.length,a;n<i;++n){if(a=e[n],(!t.type||a.type===t.type)&&a.name===t.name){this.removeEventListener(a.type,a.listener,a.capture)}else{e[++r]=a}}if(++r)e.length=r;else delete this.__on}}function onAdd(t,e,n){var r=filterEvents.hasOwnProperty(t.type)?filterContextListener:contextListener;return function(i,a,o){var s=this.__on,l,u=r(e,a,o);if(s)for(var c=0,f=s.length;c<f;++c){if((l=s[c]).type===t.type&&l.name===t.name){this.removeEventListener(l.type,l.listener,l.capture);this.addEventListener(l.type,l.listener=u,l.capture=n);l.value=e;return}}this.addEventListener(t.type,u,n);l={type:t.type,name:t.name,value:e,listener:u,capture:n};if(!s)this.__on=[l];else s.push(l)}}function selection_on(t,e,n){var r=parseTypenames(t+""),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s)for(var l=0,u=s.length,c;l<u;++l){for(i=0,c=s[l];i<a;++i){if((o=r[i]).type===c.type&&o.name===c.name){return c.value}}}return}s=e?onAdd:onRemove;if(n==null)n=false;for(i=0;i<a;++i)this.each(s(r[i],e,n));return this}function customEvent(t,e,n,r){var i=event;t.sourceEvent=event;event=t;try{return e.apply(n,r)}finally{event=i}}function dispatchEvent(t,e,n){var r=defaultView(t),i=r.CustomEvent;if(typeof i==="function"){i=new i(e,n)}else{i=r.document.createEvent("Event");if(n)i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail;else i.initEvent(e,false,false)}t.dispatchEvent(i)}function dispatchConstant(t,e){return function(){return dispatchEvent(this,t,e)}}function dispatchFunction(t,e){return function(){return dispatchEvent(this,t,e.apply(this,arguments))}}function selection_dispatch(t,e){return this.each((typeof e==="function"?dispatchFunction:dispatchConstant)(t,e))}var root$1=[null];function Selection$1(t,e){this._groups=t;this._parents=e}function selection(){return new Selection$1([[document.documentElement]],root$1)}Selection$1.prototype=selection.prototype={constructor:Selection$1,select:selection_select,selectAll:selection_selectAll,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,merge:selection_merge,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,insert:selection_insert,remove:selection_remove,clone:selection_clone,datum:selection_datum,on:selection_on,dispatch:selection_dispatch};function select(t){return typeof t==="string"?new Selection$1([[document.querySelector(t)]],[document.documentElement]):new Selection$1([[t]],root$1)}function create$1(t){return select(creator(t).call(document.documentElement))}var nextId=0;function local$1(){return new Local}function Local(){this._="@"+(++nextId).toString(36)}Local.prototype=local$1.prototype={constructor:Local,get:function(t){var e=this._;while(!(e in t))if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};function sourceEvent(){var t=event,e;while(e=t.sourceEvent)t=e;return t}function point$5(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();r.x=e.clientX,r.y=e.clientY;r=r.matrixTransform(t.getScreenCTM().inverse());return[r.x,r.y]}var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}function mouse(t){var e=sourceEvent();if(e.changedTouches)e=e.changedTouches[0];return point$5(t,e)}function selectAll(t){return typeof t==="string"?new Selection$1([document.querySelectorAll(t)],[document.documentElement]):new Selection$1([t==null?[]:t],root$1)}function touch(t,e,n){if(arguments.length<3)n=e,e=sourceEvent().changedTouches;for(var r=0,i=e?e.length:0,a;r<i;++r){if((a=e[r]).identifier===n){return point$5(t,a)}}return null}function touches(t,e){if(e==null)e=sourceEvent().touches;for(var n=0,r=e?e.length:0,i=new Array(r);n<r;++n){i[n]=point$5(t,e[n])}return i}function nopropagation$2(){event.stopImmediatePropagation()}function noevent$2(){event.preventDefault();event.stopImmediatePropagation()}function dragDisable(t){var e=t.document.documentElement,n=select(t).on("dragstart.drag",noevent$2,true);if("onselectstart"in e){n.on("selectstart.drag",noevent$2,true)}else{e.__noselect=e.style.MozUserSelect;e.style.MozUserSelect="none"}}function yesdrag(t,e){var n=t.document.documentElement,r=select(t).on("dragstart.drag",null);if(e){r.on("click.drag",noevent$2,true);setTimeout((function(){r.on("click.drag",null)}),0)}if("onselectstart"in n){r.on("selectstart.drag",null)}else{n.style.MozUserSelect=n.__noselect;delete n.__noselect}}function constant$a(t){return function(){return t}}function DragEvent(t,e,n,r,i,a,o,s,l,u){this.target=t;this.type=e;this.subject=n;this.identifier=r;this.active=i;this.x=a;this.y=o;this.dx=s;this.dy=l;this._=u}DragEvent.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function defaultFilter$2(){return!event.button}function defaultContainer(){return this.parentNode}function defaultSubject(t){return t==null?{x:event.x,y:event.y}:t}function defaultTouchable$1(){return"ontouchstart"in this}function drag(){var t=defaultFilter$2,e=defaultContainer,n=defaultSubject,r=defaultTouchable$1,i={},a=dispatch("start","drag","end"),o=0,s,l,u,c,f=0;function h(t){t.on("mousedown.drag",d).filter(r).on("touchstart.drag",m).on("touchmove.drag",g).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(){if(c||!t.apply(this,arguments))return;var n=_("mouse",e.apply(this,arguments),mouse,this,arguments);if(!n)return;select(event.view).on("mousemove.drag",p,true).on("mouseup.drag",v,true);dragDisable(event.view);nopropagation$2();u=false;s=event.clientX;l=event.clientY;n("start")}function p(){noevent$2();if(!u){var t=event.clientX-s,e=event.clientY-l;u=t*t+e*e>f}i.mouse("drag")}function v(){select(event.view).on("mousemove.drag mouseup.drag",null);yesdrag(event.view,u);noevent$2();i.mouse("end")}function m(){if(!t.apply(this,arguments))return;var n=event.changedTouches,r=e.apply(this,arguments),i=n.length,a,o;for(a=0;a<i;++a){if(o=_(n[a].identifier,r,touch,this,arguments)){nopropagation$2();o("start")}}}function g(){var t=event.changedTouches,e=t.length,n,r;for(n=0;n<e;++n){if(r=i[t[n].identifier]){noevent$2();r("drag")}}}function y(){var t=event.changedTouches,e=t.length,n,r;if(c)clearTimeout(c);c=setTimeout((function(){c=null}),500);for(n=0;n<e;++n){if(r=i[t[n].identifier]){nopropagation$2();r("end")}}}function _(t,e,r,s,l){var u=r(e,t),c,f,d,p=a.copy();if(!customEvent(new DragEvent(h,"beforestart",c,t,o,u[0],u[1],0,0,p),(function(){if((event.subject=c=n.apply(s,l))==null)return false;f=c.x-u[0]||0;d=c.y-u[1]||0;return true})))return;return function n(a){var v=u,m;switch(a){case"start":i[t]=n,m=o++;break;case"end":delete i[t],--o;case"drag":u=r(e,t),m=o;break}customEvent(new DragEvent(h,a,c,t,m,u[0]+f,u[1]+d,u[0]-v[0],u[1]-v[1],p),p.apply,p,[a,s,l])}}h.filter=function(e){return arguments.length?(t=typeof e==="function"?e:constant$a(!!e),h):t};h.container=function(t){return arguments.length?(e=typeof t==="function"?t:constant$a(t),h):e};h.subject=function(t){return arguments.length?(n=typeof t==="function"?t:constant$a(t),h):n};h.touchable=function(t){return arguments.length?(r=typeof t==="function"?t:constant$a(!!t),h):r};h.on=function(){var t=a.on.apply(a,arguments);return t===a?h:t};h.clickDistance=function(t){return arguments.length?(f=(t=+t)*t,h):Math.sqrt(f)};return h}function define(t,e,n){t.prototype=e.prototype=n;n.constructor=t}function extend(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Color(){}var darker=.7;var brighter=1/darker;var reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex3=/^#([0-9a-f]{3})$/,reHex6=/^#([0-9a-f]{6})$/,reRgbInteger=new RegExp("^rgb\\("+[reI,reI,reI]+"\\)$"),reRgbPercent=new RegExp("^rgb\\("+[reP,reP,reP]+"\\)$"),reRgbaInteger=new RegExp("^rgba\\("+[reI,reI,reI,reN]+"\\)$"),reRgbaPercent=new RegExp("^rgba\\("+[reP,reP,reP,reN]+"\\)$"),reHslPercent=new RegExp("^hsl\\("+[reN,reP,reP]+"\\)$"),reHslaPercent=new RegExp("^hsla\\("+[reN,reP,reP,reN]+"\\)$");var named={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};define(Color,color,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}});function color(t){var e;t=(t+"").trim().toLowerCase();return(e=reHex3.exec(t))?(e=parseInt(e[1],16),new Rgb(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1)):(e=reHex6.exec(t))?rgbn(parseInt(e[1],16)):(e=reRgbInteger.exec(t))?new Rgb(e[1],e[2],e[3],1):(e=reRgbPercent.exec(t))?new Rgb(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=reRgbaInteger.exec(t))?rgba(e[1],e[2],e[3],e[4]):(e=reRgbaPercent.exec(t))?rgba(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=reHslPercent.exec(t))?hsla(e[1],e[2]/100,e[3]/100,1):(e=reHslaPercent.exec(t))?hsla(e[1],e[2]/100,e[3]/100,e[4]):named.hasOwnProperty(t)?rgbn(named[t]):t==="transparent"?new Rgb(NaN,NaN,NaN,0):null}function rgbn(t){return new Rgb(t>>16&255,t>>8&255,t&255,1)}function rgba(t,e,n,r){if(r<=0)t=e=n=NaN;return new Rgb(t,e,n,r)}function rgbConvert(t){if(!(t instanceof Color))t=color(t);if(!t)return new Rgb;t=t.rgb();return new Rgb(t.r,t.g,t.b,t.opacity)}function rgb(t,e,n,r){return arguments.length===1?rgbConvert(t):new Rgb(t,e,n,r==null?1:r)}function Rgb(t,e,n,r){this.r=+t;this.g=+e;this.b=+n;this.opacity=+r}define(Rgb,rgb,extend(Color,{brighter:function(t){t=t==null?brighter:Math.pow(brighter,t);return new Rgb(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){t=t==null?darker:Math.pow(darker,t);return new Rgb(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&(0<=this.g&&this.g<=255)&&(0<=this.b&&this.b<=255)&&(0<=this.opacity&&this.opacity<=1)},toString:function(){var t=this.opacity;t=isNaN(t)?1:Math.max(0,Math.min(1,t));return(t===1?"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))+(t===1?")":", "+t+")")}}));function hsla(t,e,n,r){if(r<=0)t=e=n=NaN;else if(n<=0||n>=1)t=e=NaN;else if(e<=0)t=NaN;return new Hsl(t,e,n,r)}function hslConvert(t){if(t instanceof Hsl)return new Hsl(t.h,t.s,t.l,t.opacity);if(!(t instanceof Color))t=color(t);if(!t)return new Hsl;if(t instanceof Hsl)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,s=a-i,l=(a+i)/2;if(s){if(e===a)o=(n-r)/s+(n<r)*6;else if(n===a)o=(r-e)/s+2;else o=(e-n)/s+4;s/=l<.5?a+i:2-a-i;o*=60}else{s=l>0&&l<1?0:o}return new Hsl(o,s,l,t.opacity)}function hsl$2(t,e,n,r){return arguments.length===1?hslConvert(t):new Hsl(t,e,n,r==null?1:r)}function Hsl(t,e,n,r){this.h=+t;this.s=+e;this.l=+n;this.opacity=+r}define(Hsl,hsl$2,extend(Color,{brighter:function(t){t=t==null?brighter:Math.pow(brighter,t);return new Hsl(this.h,this.s,this.l*t,this.opacity)},darker:function(t){t=t==null?darker:Math.pow(darker,t);return new Hsl(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+(this.h<0)*360,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 Rgb(hsl2rgb(t>=240?t-240:t+120,i,r),hsl2rgb(t,i,r),hsl2rgb(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)}}));function hsl2rgb(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}var deg2rad=Math.PI/180;var rad2deg=180/Math.PI;var Kn=18,Xn=.95047,Yn=1,Zn=1.08883,t0$1=4/29,t1$1=6/29,t2=3*t1$1*t1$1,t3=t1$1*t1$1*t1$1;function labConvert(t){if(t instanceof Lab)return new Lab(t.l,t.a,t.b,t.opacity);if(t instanceof Hcl){var e=t.h*deg2rad;return new Lab(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}if(!(t instanceof Rgb))t=rgbConvert(t);var n=rgb2xyz(t.r),r=rgb2xyz(t.g),i=rgb2xyz(t.b),a=xyz2lab((.4124564*n+.3575761*r+.1804375*i)/Xn),o=xyz2lab((.2126729*n+.7151522*r+.072175*i)/Yn),s=xyz2lab((.0193339*n+.119192*r+.9503041*i)/Zn);return new Lab(116*o-16,500*(a-o),200*(o-s),t.opacity)}function lab$1(t,e,n,r){return arguments.length===1?labConvert(t):new Lab(t,e,n,r==null?1:r)}function Lab(t,e,n,r){this.l=+t;this.a=+e;this.b=+n;this.opacity=+r}define(Lab,lab$1,extend(Color,{brighter:function(t){return new Lab(this.l+Kn*(t==null?1:t),this.a,this.b,this.opacity)},darker:function(t){return new Lab(this.l-Kn*(t==null?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;t=Yn*lab2xyz(t);e=Xn*lab2xyz(e);n=Zn*lab2xyz(n);return new Rgb(xyz2rgb(3.2404542*e-1.5371385*t-.4985314*n),xyz2rgb(-.969266*e+1.8760108*t+.041556*n),xyz2rgb(.0556434*e-.2040259*t+1.0572252*n),this.opacity)}}));function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0$1}function lab2xyz(t){return t>t1$1?t*t*t:t2*(t-t0$1)}function xyz2rgb(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function rgb2xyz(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function hclConvert(t){if(t instanceof Hcl)return new Hcl(t.h,t.c,t.l,t.opacity);if(!(t instanceof Lab))t=labConvert(t);var e=Math.atan2(t.b,t.a)*rad2deg;return new Hcl(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function hcl$2(t,e,n,r){return arguments.length===1?hclConvert(t):new Hcl(t,e,n,r==null?1:r)}function Hcl(t,e,n,r){this.h=+t;this.c=+e;this.l=+n;this.opacity=+r}define(Hcl,hcl$2,extend(Color,{brighter:function(t){return new Hcl(this.h,this.c,this.l+Kn*(t==null?1:t),this.opacity)},darker:function(t){return new Hcl(this.h,this.c,this.l-Kn*(t==null?1:t),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=+1.78277,C=-.29227,D=-.90649,E=+1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(t){if(t instanceof Cubehelix)return new Cubehelix(t.h,t.s,t.l,t.opacity);if(!(t instanceof Rgb))t=rgbConvert(t);var e=t.r/255,n=t.g/255,r=t.b/255,i=(BC_DA*r+ED*e-EB*n)/(BC_DA+ED-EB),a=r-i,o=(E*(n-i)-C*a)/D,s=Math.sqrt(o*o+a*a)/(E*i*(1-i)),l=s?Math.atan2(o,a)*rad2deg-120:NaN;return new Cubehelix(l<0?l+360:l,s,i,t.opacity)}function cubehelix$3(t,e,n,r){return arguments.length===1?cubehelixConvert(t):new Cubehelix(t,e,n,r==null?1:r)}function Cubehelix(t,e,n,r){this.h=+t;this.s=+e;this.l=+n;this.opacity=+r}define(Cubehelix,cubehelix$3,extend(Color,{brighter:function(t){t=t==null?brighter:Math.pow(brighter,t);return new Cubehelix(this.h,this.s,this.l*t,this.opacity)},darker:function(t){t=t==null?darker:Math.pow(darker,t);return new Cubehelix(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*deg2rad,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new Rgb(255*(e+n*(A*r+B*i)),255*(e+n*(C*r+D*i)),255*(e+n*(E*r)),this.opacity)}}));function basis$1(t,e,n,r,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*r+o*i)/6}function basis$2(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],a=t[r+1],o=r>0?t[r-1]:2*i-a,s=r<e-1?t[r+2]:2*a-i;return basis$1((n-r/e)*e,o,i,a,s)}}function basisClosed$1(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],a=t[r%e],o=t[(r+1)%e],s=t[(r+2)%e];return basis$1((n-r/e)*e,i,a,o,s)}}function constant$9(t){return function(){return t}}function linear$2(t,e){return function(n){return t+n*e}}function exponential$1(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)}}function hue(t,e){var n=e-t;return n?linear$2(t,n>180||n<-180?n-360*Math.round(n/360):n):constant$9(isNaN(t)?e:t)}function gamma(t){return(t=+t)===1?nogamma:function(e,n){return n-e?exponential$1(e,n,t):constant$9(isNaN(e)?n:e)}}function nogamma(t,e){var n=e-t;return n?linear$2(t,n):constant$9(isNaN(t)?e:t)}var interpolateRgb=function t(e){var n=gamma(e);function r(t,e){var r=n((t=rgb(t)).r,(e=rgb(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=nogamma(t.opacity,e.opacity);return function(e){t.r=r(e);t.g=i(e);t.b=a(e);t.opacity=o(e);return t+""}}r.gamma=t;return r}(1);function rgbSpline(t){return function(e){var n=e.length,r=new Array(n),i=new Array(n),a=new Array(n),o,s;for(o=0;o<n;++o){s=rgb(e[o]);r[o]=s.r||0;i[o]=s.g||0;a[o]=s.b||0}r=t(r);i=t(i);a=t(a);s.opacity=1;return function(t){s.r=r(t);s.g=i(t);s.b=a(t);return s+""}}}var rgbBasis=rgbSpline(basis$2);var rgbBasisClosed=rgbSpline(basisClosed$1);function array$1(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,i=new Array(r),a=new Array(n),o;for(o=0;o<r;++o)i[o]=interpolateValue(t[o],e[o]);for(;o<n;++o)a[o]=e[o];return function(t){for(o=0;o<r;++o)a[o]=i[o](t);return a}}function date$1(t,e){var n=new Date;return t=+t,e-=t,function(r){return n.setTime(t+e*r),n}}function reinterpolate$1(t,e){return t=+t,e-=t,function(n){return t+e*n}}function object$2(t,e){var n={},r={},i;if(t===null||typeof t!=="object")t={};if(e===null||typeof e!=="object")e={};for(i in e){if(i in t){n[i]=interpolateValue(t[i],e[i])}else{r[i]=e[i]}}return function(t){for(i in n)r[i]=n[i](t);return r}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function zero(t){return function(){return t}}function one(t){return function(e){return t(e)+""}}function interpolateString(t,e){var n=reA.lastIndex=reB.lastIndex=0,r,i,a,o=-1,s=[],l=[];t=t+"",e=e+"";while((r=reA.exec(t))&&(i=reB.exec(e))){if((a=i.index)>n){a=e.slice(n,a);if(s[o])s[o]+=a;else s[++o]=a}if((r=r[0])===(i=i[0])){if(s[o])s[o]+=i;else s[++o]=i}else{s[++o]=null;l.push({i:o,x:reinterpolate$1(r,i)})}n=reB.lastIndex}if(n<e.length){a=e.slice(n);if(s[o])s[o]+=a;else s[++o]=a}return s.length<2?l[0]?one(l[0].x):zero(e):(e=l.length,function(t){for(var n=0,r;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}function interpolateValue(t,e){var n=typeof e,r;return e==null||n==="boolean"?constant$9(e):(n==="number"?reinterpolate$1:n==="string"?(r=color(e))?(e=r,interpolateRgb):interpolateString:e instanceof color?interpolateRgb:e instanceof Date?date$1:Array.isArray(e)?array$1:typeof e.valueOf!=="function"&&typeof e.toString!=="function"||isNaN(e)?object$2:reinterpolate$1)(t,e)}function interpolateRound(t,e){return t=+t,e-=t,function(n){return Math.round(t+e*n)}}var degrees$1=180/Math.PI;var identity$7={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(t,e,n,r,i,a){var o,s,l;if(o=Math.sqrt(t*t+e*e))t/=o,e/=o;if(l=t*n+e*r)n-=t*l,r-=e*l;if(s=Math.sqrt(n*n+r*r))n/=s,r/=s,l/=s;if(t*r<e*n)t=-t,e=-e,l=-l,o=-o;return{translateX:i,translateY:a,rotate:Math.atan2(e,t)*degrees$1,skewX:Math.atan(l)*degrees$1,scaleX:o,scaleY:s}}var cssNode,cssRoot,cssView,svgNode;function parseCss(t){if(t==="none")return identity$7;if(!cssNode)cssNode=document.createElement("DIV"),cssRoot=document.documentElement,cssView=document.defaultView;cssNode.style.transform=t;t=cssView.getComputedStyle(cssRoot.appendChild(cssNode),null).getPropertyValue("transform");cssRoot.removeChild(cssNode);t=t.slice(7,-1).split(",");return decompose(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5])}function parseSvg(t){if(t==null)return identity$7;if(!svgNode)svgNode=document.createElementNS("http://www.w3.org/2000/svg","g");svgNode.setAttribute("transform",t);if(!(t=svgNode.transform.baseVal.consolidate()))return identity$7;t=t.matrix;return decompose(t.a,t.b,t.c,t.d,t.e,t.f)}function interpolateTransform(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}function a(t,r,i,a,o,s){if(t!==i||r!==a){var l=o.push("translate(",null,e,null,n);s.push({i:l-4,x:reinterpolate$1(t,i)},{i:l-2,x:reinterpolate$1(r,a)})}else if(i||a){o.push("translate("+i+e+a+n)}}function o(t,e,n,a){if(t!==e){if(t-e>180)e+=360;else if(e-t>180)t+=360;a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:reinterpolate$1(t,e)})}else if(e){n.push(i(n)+"rotate("+e+r)}}function s(t,e,n,a){if(t!==e){a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:reinterpolate$1(t,e)})}else if(e){n.push(i(n)+"skewX("+e+r)}}function l(t,e,n,r,a,o){if(t!==n||e!==r){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:reinterpolate$1(t,n)},{i:s-2,x:reinterpolate$1(e,r)})}else if(n!==1||r!==1){a.push(i(a)+"scale("+n+","+r+")")}}return function(e,n){var r=[],i=[];e=t(e),n=t(n);a(e.translateX,e.translateY,n.translateX,n.translateY,r,i);o(e.rotate,n.rotate,r,i);s(e.skewX,n.skewX,r,i);l(e.scaleX,e.scaleY,n.scaleX,n.scaleY,r,i);e=n=null;return function(t){var e=-1,n=i.length,a;while(++e<n)r[(a=i[e]).i]=a.x(t);return r.join("")}}}var interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)");var interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")");var rho=Math.SQRT2,rho2=2,rho4=4,epsilon2$2=1e-12;function cosh(t){return((t=Math.exp(t))+1/t)/2}function sinh(t){return((t=Math.exp(t))-1/t)/2}function tanh(t){return((t=Math.exp(2*t))-1)/(t+1)}function interpolateZoom(t,e){var n=t[0],r=t[1],i=t[2],a=e[0],o=e[1],s=e[2],l=a-n,u=o-r,c=l*l+u*u,f,h;if(c<epsilon2$2){h=Math.log(s/i)/rho;f=function(t){return[n+t*l,r+t*u,i*Math.exp(rho*t*h)]}}else{var d=Math.sqrt(c),p=(s*s-i*i+rho4*c)/(2*i*rho2*d),v=(s*s-i*i-rho4*c)/(2*s*rho2*d),m=Math.log(Math.sqrt(p*p+1)-p),g=Math.log(Math.sqrt(v*v+1)-v);h=(g-m)/rho;f=function(t){var e=t*h,a=cosh(m),o=i/(rho2*d)*(a*tanh(rho*e+m)-sinh(m));return[n+o*l,r+o*u,i*a/cosh(rho*e+m)]}}f.duration=h*1e3;return f}function hsl(t){return function(e,n){var r=t((e=hsl$2(e)).h,(n=hsl$2(n)).h),i=nogamma(e.s,n.s),a=nogamma(e.l,n.l),o=nogamma(e.opacity,n.opacity);return function(t){e.h=r(t);e.s=i(t);e.l=a(t);e.opacity=o(t);return e+""}}}var hsl$1=hsl(hue);var hslLong=hsl(nogamma);function lab(t,e){var n=nogamma((t=lab$1(t)).l,(e=lab$1(e)).l),r=nogamma(t.a,e.a),i=nogamma(t.b,e.b),a=nogamma(t.opacity,e.opacity);return function(e){t.l=n(e);t.a=r(e);t.b=i(e);t.opacity=a(e);return t+""}}function hcl(t){return function(e,n){var r=t((e=hcl$2(e)).h,(n=hcl$2(n)).h),i=nogamma(e.c,n.c),a=nogamma(e.l,n.l),o=nogamma(e.opacity,n.opacity);return function(t){e.h=r(t);e.c=i(t);e.l=a(t);e.opacity=o(t);return e+""}}}var hcl$1=hcl(hue);var hclLong=hcl(nogamma);function cubehelix$1(t){return function e(n){n=+n;function r(e,r){var i=t((e=cubehelix$3(e)).h,(r=cubehelix$3(r)).h),a=nogamma(e.s,r.s),o=nogamma(e.l,r.l),s=nogamma(e.opacity,r.opacity);return function(t){e.h=i(t);e.s=a(t);e.l=o(Math.pow(t,n));e.opacity=s(t);return e+""}}r.gamma=e;return r}(1)}var cubehelix$2=cubehelix$1(hue);var cubehelixLong=cubehelix$1(nogamma);function quantize$2(t,e){var n=new Array(e);for(var r=0;r<e;++r)n[r]=t(r/(e-1));return n}var frame=0,timeout$1=0,interval$1=0,pokeDelay=1e3,taskHead,taskTail,clockLast=0,clockNow=0,clockSkew=0,clock=typeof performance==="object"&&performance.now?performance:Date,setFrame=typeof window==="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function now(){return clockNow||(setFrame(clearNow),clockNow=clock.now()+clockSkew)}function clearNow(){clockNow=0}function Timer(){this._call=this._time=this._next=null}Timer.prototype=timer.prototype={constructor:Timer,restart:function(t,e,n){if(typeof t!=="function")throw new TypeError("callback is not a function");n=(n==null?now():+n)+(e==null?0:+e);if(!this._next&&taskTail!==this){if(taskTail)taskTail._next=this;else taskHead=this;taskTail=this}this._call=t;this._time=n;sleep()},stop:function(){if(this._call){this._call=null;this._time=Infinity;sleep()}}};function timer(t,e,n){var r=new Timer;r.restart(t,e,n);return r}function timerFlush(){now();++frame;var t=taskHead,e;while(t){if((e=clockNow-t._time)>=0)t._call.call(null,e);t=t._next}--frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew;frame=timeout$1=0;try{timerFlush()}finally{frame=0;nap();clockNow=0}}function poke$1(){var t=clock.now(),e=t-clockLast;if(e>pokeDelay)clockSkew-=e,clockLast=t}function nap(){var t,e=taskHead,n,r=Infinity;while(e){if(e._call){if(r>e._time)r=e._time;t=e,e=e._next}else{n=e._next,e._next=null;e=t?t._next=n:taskHead=n}}taskTail=t;sleep(r)}function sleep(t){if(frame)return;if(timeout$1)timeout$1=clearTimeout(timeout$1);var e=t-clockNow;if(e>24){if(t<Infinity)timeout$1=setTimeout(wake,t-clock.now()-clockSkew);if(interval$1)interval$1=clearInterval(interval$1)}else{if(!interval$1)clockLast=clock.now(),interval$1=setInterval(poke$1,pokeDelay);frame=1,setFrame(wake)}}function timeout(t,e,n){var r=new Timer;e=e==null?0:+e;r.restart((function(n){r.stop();t(n+e)}),e,n);return r}function interval(t,e,n){var r=new Timer,i=e;if(e==null)return r.restart(t,e,n),r;e=+e,n=n==null?now():+n;r.restart((function a(o){o+=i;r.restart(a,i+=e,n);t(o)}),e,n);return r}var emptyOn=dispatch("start","end","interrupt");var emptyTween=[];var CREATED=0;var SCHEDULED=1;var STARTING=2;var STARTED=3;var RUNNING=4;var ENDING=5;var ENDED=6;function schedule(t,e,n,r,i,a){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;create(t,n,{name:e,index:r,group:i,on:emptyOn,tween:emptyTween,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:CREATED})}function init(t,e){var n=get(t,e);if(n.state>CREATED)throw new Error("too late; already scheduled");return n}function set$1(t,e){var n=get(t,e);if(n.state>STARTING)throw new Error("too late; already started");return n}function get(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function create(t,e,n){var r=t.__transition,i;r[e]=n;n.timer=timer(a,0,n.time);function a(t){n.state=SCHEDULED;n.timer.restart(o,n.delay,n.time);if(n.delay<=t)o(t-n.delay)}function o(a){var u,c,f,h;if(n.state!==SCHEDULED)return l();for(u in r){h=r[u];if(h.name!==n.name)continue;if(h.state===STARTED)return timeout(o);if(h.state===RUNNING){h.state=ENDED;h.timer.stop();h.on.call("interrupt",t,t.__data__,h.index,h.group);delete r[u]}else if(+u<e){h.state=ENDED;h.timer.stop();delete r[u]}}timeout((function(){if(n.state===STARTED){n.state=RUNNING;n.timer.restart(s,n.delay,n.time);s(a)}}));n.state=STARTING;n.on.call("start",t,t.__data__,n.index,n.group);if(n.state!==STARTING)return;n.state=STARTED;i=new Array(f=n.tween.length);for(u=0,c=-1;u<f;++u){if(h=n.tween[u].value.call(t,t.__data__,n.index,n.group)){i[++c]=h}}i.length=c+1}function s(e){var r=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(l),n.state=ENDING,1),a=-1,o=i.length;while(++a<o){i[a].call(null,r)}if(n.state===ENDING){n.on.call("end",t,t.__data__,n.index,n.group);l()}}function l(){n.state=ENDED;n.timer.stop();delete r[e];for(var i in r)return;delete t.__transition}}function interrupt(t,e){var n=t.__transition,r,i,a=true,o;if(!n)return;e=e==null?null:e+"";for(o in n){if((r=n[o]).name!==e){a=false;continue}i=r.state>STARTING&&r.state<ENDING;r.state=ENDED;r.timer.stop();if(i)r.on.call("interrupt",t,t.__data__,r.index,r.group);delete n[o]}if(a)delete t.__transition}function selection_interrupt(t){return this.each((function(){interrupt(this,t)}))}function tweenRemove(t,e){var n,r;return function(){var i=set$1(this,t),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o){if(r[o].name===e){r=r.slice();r.splice(o,1);break}}}i.tween=r}}function tweenFunction(t,e,n){var r,i;if(typeof n!=="function")throw new Error;return function(){var a=set$1(this,t),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:e,value:n},l=0,u=i.length;l<u;++l){if(i[l].name===e){i[l]=s;break}}if(l===u)i.push(s)}a.tween=i}}function transition_tween(t,e){var n=this._id;t+="";if(arguments.length<2){var r=get(this.node(),n).tween;for(var i=0,a=r.length,o;i<a;++i){if((o=r[i]).name===t){return o.value}}return null}return this.each((e==null?tweenRemove:tweenFunction)(n,t,e))}function tweenValue(t,e,n){var r=t._id;t.each((function(){var t=set$1(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)}));return function(t){return get(t,r).value[e]}}function interpolate$1(t,e){var n;return(typeof e==="number"?reinterpolate$1:e instanceof color?interpolateRgb:(n=color(e))?(e=n,interpolateRgb):interpolateString)(t,e)}function attrRemove(t){return function(){this.removeAttribute(t)}}function attrRemoveNS(t){return function(){this.removeAttributeNS(t.space,t.local)}}function attrConstant(t,e,n){var r,i;return function(){var a=this.getAttribute(t);return a===n?null:a===r?i:i=e(r=a,n)}}function attrConstantNS(t,e,n){var r,i;return function(){var a=this.getAttributeNS(t.space,t.local);return a===n?null:a===r?i:i=e(r=a,n)}}function attrFunction(t,e,n){var r,i,a;return function(){var o,s=n(this);if(s==null)return void this.removeAttribute(t);o=this.getAttribute(t);return o===s?null:o===r&&s===i?a:a=e(r=o,i=s)}}function attrFunctionNS(t,e,n){var r,i,a;return function(){var o,s=n(this);if(s==null)return void this.removeAttributeNS(t.space,t.local);o=this.getAttributeNS(t.space,t.local);return o===s?null:o===r&&s===i?a:a=e(r=o,i=s)}}function transition_attr(t,e){var n=namespace(t),r=n==="transform"?interpolateTransformSvg:interpolate$1;return this.attrTween(t,typeof e==="function"?(n.local?attrFunctionNS:attrFunction)(n,r,tweenValue(this,"attr."+t,e)):e==null?(n.local?attrRemoveNS:attrRemove)(n):(n.local?attrConstantNS:attrConstant)(n,r,e+""))}function attrTweenNS(t,e){function n(){var n=this,r=e.apply(n,arguments);return r&&function(e){n.setAttributeNS(t.space,t.local,r(e))}}n._value=e;return n}function attrTween(t,e){function n(){var n=this,r=e.apply(n,arguments);return r&&function(e){n.setAttribute(t,r(e))}}n._value=e;return n}function transition_attrTween(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!=="function")throw new Error;var r=namespace(t);return this.tween(n,(r.local?attrTweenNS:attrTween)(r,e))}function delayFunction(t,e){return function(){init(this,t).delay=+e.apply(this,arguments)}}function delayConstant(t,e){return e=+e,function(){init(this,t).delay=e}}function transition_delay(t){var e=this._id;return arguments.length?this.each((typeof t==="function"?delayFunction:delayConstant)(e,t)):get(this.node(),e).delay}function durationFunction(t,e){return function(){set$1(this,t).duration=+e.apply(this,arguments)}}function durationConstant(t,e){return e=+e,function(){set$1(this,t).duration=e}}function transition_duration(t){var e=this._id;return arguments.length?this.each((typeof t==="function"?durationFunction:durationConstant)(e,t)):get(this.node(),e).duration}function easeConstant(t,e){if(typeof e!=="function")throw new Error;return function(){set$1(this,t).ease=e}}function transition_ease(t){var e=this._id;return arguments.length?this.each(easeConstant(e,t)):get(this.node(),e).ease}function transition_filter(t){if(typeof t!=="function")t=matcher$1(t);for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i){for(var a=e[i],o=a.length,s=r[i]=[],l,u=0;u<o;++u){if((l=a[u])&&t.call(l,l.__data__,u,a)){s.push(l)}}}return new Transition(r,this._parents,this._name,this._id)}function transition_merge(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s){for(var l=e[s],u=n[s],c=l.length,f=o[s]=new Array(c),h,d=0;d<c;++d){if(h=l[d]||u[d]){f[d]=h}}}for(;s<r;++s){o[s]=e[s]}return new Transition(o,this._parents,this._name,this._id)}function start$1(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");if(e>=0)t=t.slice(0,e);return!t||t==="start"}))}function onFunction(t,e,n){var r,i,a=start$1(e)?init:set$1;return function(){var o=a(this,t),s=o.on;if(s!==r)(i=(r=s).copy()).on(e,n);o.on=i}}function transition_on(t,e){var n=this._id;return arguments.length<2?get(this.node(),n).on.on(t):this.each(onFunction(n,t,e))}function removeFunction(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;if(e)e.removeChild(this)}}function transition_remove(){return this.on("end.remove",removeFunction(this._id))}function transition_select(t){var e=this._name,n=this._id;if(typeof t!=="function")t=selector(t);for(var r=this._groups,i=r.length,a=new Array(i),o=0;o<i;++o){for(var s=r[o],l=s.length,u=a[o]=new Array(l),c,f,h=0;h<l;++h){if((c=s[h])&&(f=t.call(c,c.__data__,h,s))){if("__data__"in c)f.__data__=c.__data__;u[h]=f;schedule(u[h],e,n,h,u,get(c,n))}}}return new Transition(a,this._parents,e,n)}function transition_selectAll(t){var e=this._name,n=this._id;if(typeof t!=="function")t=selectorAll(t);for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s){for(var l=r[s],u=l.length,c,f=0;f<u;++f){if(c=l[f]){for(var h=t.call(c,c.__data__,f,l),d,p=get(c,n),v=0,m=h.length;v<m;++v){if(d=h[v]){schedule(d,e,n,v,h,p)}}a.push(h);o.push(c)}}}return new Transition(a,o,e,n)}var Selection=selection.prototype.constructor;function transition_selection(){return new Selection(this._groups,this._parents)}function styleRemove(t,e){var n,r,i;return function(){var a=styleValue(this,t),o=(this.style.removeProperty(t),styleValue(this,t));return a===o?null:a===n&&o===r?i:i=e(n=a,r=o)}}function styleRemoveEnd(t){return function(){this.style.removeProperty(t)}}function styleConstant(t,e,n){var r,i;return function(){var a=styleValue(this,t);return a===n?null:a===r?i:i=e(r=a,n)}}function styleFunction(t,e,n){var r,i,a;return function(){var o=styleValue(this,t),s=n(this);if(s==null)s=(this.style.removeProperty(t),styleValue(this,t));return o===s?null:o===r&&s===i?a:a=e(r=o,i=s)}}function transition_style(t,e,n){var r=(t+="")==="transform"?interpolateTransformCss:interpolate$1;return e==null?this.styleTween(t,styleRemove(t,r)).on("end.style."+t,styleRemoveEnd(t)):this.styleTween(t,typeof e==="function"?styleFunction(t,r,tweenValue(this,"style."+t,e)):styleConstant(t,r,e+""),n)}function styleTween(t,e,n){function r(){var r=this,i=e.apply(r,arguments);return i&&function(e){r.style.setProperty(t,i(e),n)}}r._value=e;return r}function transition_styleTween(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!=="function")throw new Error;return this.tween(r,styleTween(t,e,n==null?"":n))}function textConstant(t){return function(){this.textContent=t}}function textFunction(t){return function(){var e=t(this);this.textContent=e==null?"":e}}function transition_text(t){return this.tween("text",typeof t==="function"?textFunction(tweenValue(this,"text",t)):textConstant(t==null?"":t+""))}function transition_transition(){var t=this._name,e=this._id,n=newId();for(var r=this._groups,i=r.length,a=0;a<i;++a){for(var o=r[a],s=o.length,l,u=0;u<s;++u){if(l=o[u]){var c=get(l,e);schedule(l,t,n,u,o,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}}}return new Transition(r,this._parents,t,n)}var id=0;function Transition(t,e,n,r){this._groups=t;this._parents=e;this._name=n;this._id=r}function transition(t){return selection().transition(t)}function newId(){return++id}var selection_prototype=selection.prototype;Transition.prototype=transition.prototype={constructor:Transition,select:transition_select,selectAll:transition_selectAll,filter:transition_filter,merge:transition_merge,selection:transition_selection,transition:transition_transition,call:selection_prototype.call,nodes:selection_prototype.nodes,node:selection_prototype.node,size:selection_prototype.size,empty:selection_prototype.empty,each:selection_prototype.each,on:transition_on,attr:transition_attr,attrTween:transition_attrTween,style:transition_style,styleTween:transition_styleTween,text:transition_text,remove:transition_remove,tween:transition_tween,delay:transition_delay,duration:transition_duration,ease:transition_ease};function linear$1(t){return+t}function quadIn(t){return t*t}function quadOut(t){return t*(2-t)}function quadInOut(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function cubicIn(t){return t*t*t}function cubicOut(t){return--t*t*t+1}function cubicInOut(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var exponent$1=3;var polyIn=function t(e){e=+e;function n(t){return Math.pow(t,e)}n.exponent=t;return n}(exponent$1);var polyOut=function t(e){e=+e;function n(t){return 1-Math.pow(1-t,e)}n.exponent=t;return n}(exponent$1);var polyInOut=function t(e){e=+e;function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}n.exponent=t;return n}(exponent$1);var pi$4=Math.PI,halfPi$3=pi$4/2;function sinIn(t){return 1-Math.cos(t*halfPi$3)}function sinOut(t){return Math.sin(t*halfPi$3)}function sinInOut(t){return(1-Math.cos(pi$4*t))/2}function expIn(t){return Math.pow(2,10*t-10)}function expOut(t){return 1-Math.pow(2,-10*t)}function expInOut(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function circleIn(t){return 1-Math.sqrt(1-t*t)}function circleOut(t){return Math.sqrt(1- --t*t)}function circleInOut(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var b1=4/11,b2=6/11,b3=8/11,b4=3/4,b5=9/11,b6=10/11,b7=15/16,b8=21/22,b9=63/64,b0=1/b1/b1;function bounceIn(t){return 1-bounceOut(1-t)}function bounceOut(t){return(t=+t)<b1?b0*t*t:t<b3?b0*(t-=b2)*t+b4:t<b6?b0*(t-=b5)*t+b7:b0*(t-=b8)*t+b9}function bounceInOut(t){return((t*=2)<=1?1-bounceOut(1-t):bounceOut(t-1)+1)/2}var overshoot=1.70158;var backIn=function t(e){e=+e;function n(t){return t*t*((e+1)*t-e)}n.overshoot=t;return n}(overshoot);var backOut=function t(e){e=+e;function n(t){return--t*t*((e+1)*t+e)+1}n.overshoot=t;return n}(overshoot);var backInOut=function t(e){e=+e;function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}n.overshoot=t;return n}(overshoot);var tau$4=2*Math.PI,amplitude=1,period=.3;var elasticIn=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=tau$4);function i(t){return e*Math.pow(2,10*--t)*Math.sin((r-t)/n)}i.amplitude=function(e){return t(e,n*tau$4)};i.period=function(n){return t(e,n)};return i}(amplitude,period);var elasticOut=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=tau$4);function i(t){return 1-e*Math.pow(2,-10*(t=+t))*Math.sin((t+r)/n)}i.amplitude=function(e){return t(e,n*tau$4)};i.period=function(n){return t(e,n)};return i}(amplitude,period);var elasticInOut=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=tau$4);function i(t){return((t=t*2-1)<0?e*Math.pow(2,10*t)*Math.sin((r-t)/n):2-e*Math.pow(2,-10*t)*Math.sin((r+t)/n))/2}i.amplitude=function(e){return t(e,n*tau$4)};i.period=function(n){return t(e,n)};return i}(amplitude,period);var defaultTiming={time:null,delay:0,duration:250,ease:cubicInOut};function inherit(t,e){var n;while(!(n=t.__transition)||!(n=n[e])){if(!(t=t.parentNode)){return defaultTiming.time=now(),defaultTiming}}return n}function selection_transition(t){var e,n;if(t instanceof Transition){e=t._id,t=t._name}else{e=newId(),(n=defaultTiming).time=now(),t=t==null?null:t+""}for(var r=this._groups,i=r.length,a=0;a<i;++a){for(var o=r[a],s=o.length,l,u=0;u<s;++u){if(l=o[u]){schedule(l,t,e,u,o,n||inherit(l,e))}}}return new Transition(r,this._parents,t,e)}selection.prototype.interrupt=selection_interrupt;selection.prototype.transition=selection_transition;var root=[null];function active(t,e){var n=t.__transition,r,i;if(n){e=e==null?null:e+"";for(i in n){if((r=n[i]).state>SCHEDULED&&r.name===e){return new Transition([[t]],root,e,+i)}}}return null}function constant$8(t){return function(){return t}}function BrushEvent(t,e,n){this.target=t;this.type=e;this.selection=n}function nopropagation$1(){event.stopImmediatePropagation()}function noevent$1(){event.preventDefault();event.stopImmediatePropagation()}var MODE_DRAG={name:"drag"},MODE_SPACE={name:"space"},MODE_HANDLE={name:"handle"},MODE_CENTER={name:"center"};var X={name:"x",handles:["e","w"].map(type$1),input:function(t,e){return t&&[[t[0],e[0][1]],[t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}};var Y={name:"y",handles:["n","s"].map(type$1),input:function(t,e){return t&&[[e[0][0],t[0]],[e[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}};var XY={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(type$1),input:function(t){return t},output:function(t){return t}};var cursors={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"};var flipX={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"};var flipY={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"};var signsX={overlay:+1,selection:+1,n:null,e:+1,s:null,w:-1,nw:-1,ne:+1,se:+1,sw:-1};var signsY={overlay:+1,selection:+1,n:-1,e:null,s:+1,w:null,nw:-1,ne:-1,se:+1,sw:+1};function type$1(t){return{type:t}}function defaultFilter$1(){return!event.button}function defaultExtent$1(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function local(t){while(!t.__brush)if(!(t=t.parentNode))return;return t.__brush}function empty(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function brushSelection(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function brushX(){return brush$1(X)}function brushY(){return brush$1(Y)}function brush(){return brush$1(XY)}function brush$1(t){var e=defaultExtent$1,n=defaultFilter$1,r=dispatch(o,"start","brush","end"),i=6,a;function o(e){var n=e.property("__brush",f).selectAll(".overlay").data([type$1("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",cursors.overlay).merge(n).each((function(){var t=local(this).extent;select(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}));e.selectAll(".selection").data([type$1("selection")]).enter().append("rect").attr("class","selection").attr("cursor",cursors.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=e.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove();r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return cursors[t.type]}));e.each(s).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",c)}o.move=function(e,n){if(e.selection){e.on("start.brush",(function(){l(this,arguments).beforestart().start()})).on("interrupt.brush end.brush",(function(){l(this,arguments).end()})).tween("brush",(function(){var e=this,r=e.__brush,i=l(e,arguments),a=r.selection,o=t.input(typeof n==="function"?n.apply(this,arguments):n,r.extent),u=interpolateValue(a,o);function c(t){r.selection=t===1&&empty(o)?null:u(t);s.call(e);i.brush()}return a&&o?c:c(1)}))}else{e.each((function(){var e=this,r=arguments,i=e.__brush,a=t.input(typeof n==="function"?n.apply(e,r):n,i.extent),o=l(e,r).beforestart();interrupt(e);i.selection=a==null||empty(a)?null:a;s.call(e);o.start().brush().end()}))}};function s(){var t=select(this),e=local(this).selection;if(e){t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]);t.selectAll(".handle").style("display",null).attr("x",(function(t){return t.type[t.type.length-1]==="e"?e[1][0]-i/2:e[0][0]-i/2})).attr("y",(function(t){return t.type[0]==="s"?e[1][1]-i/2:e[0][1]-i/2})).attr("width",(function(t){return t.type==="n"||t.type==="s"?e[1][0]-e[0][0]+i:i})).attr("height",(function(t){return t.type==="e"||t.type==="w"?e[1][1]-e[0][1]+i:i}))}else{t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}}function l(t,e){return t.__brush.emitter||new u(t,e)}function u(t,e){this.that=t;this.args=e;this.state=t.__brush;this.active=0}u.prototype={beforestart:function(){if(++this.active===1)this.state.emitter=this,this.starting=true;return this},start:function(){if(this.starting)this.starting=false,this.emit("start");return this},brush:function(){this.emit("brush");return this},end:function(){if(--this.active===0)delete this.state.emitter,this.emit("end");return this},emit:function(e){customEvent(new BrushEvent(o,e,t.output(this.state.selection)),r.apply,r,[e,this.that,this.args])}};function c(){if(event.touches){if(event.changedTouches.length<event.touches.length)return noevent$1()}else if(a)return;if(!n.apply(this,arguments))return;var e=this,r=event.target.__data__.type,i=(event.metaKey?r="overlay":r)==="selection"?MODE_DRAG:event.altKey?MODE_CENTER:MODE_HANDLE,o=t===Y?null:signsX[r],u=t===X?null:signsY[r],c=local(e),f=c.extent,h=c.selection,d=f[0][0],p,v,m=f[0][1],g,y,_=f[1][0],b,x,w=f[1][1],$,k,M,S,z,E=o&&u&&event.shiftKey,C,A,R=mouse(e),T=R,N=l(e,arguments).beforestart();if(r==="overlay"){c.selection=h=[[p=t===Y?d:R[0],g=t===X?m:R[1]],[b=t===Y?_:p,$=t===X?w:g]]}else{p=h[0][0];g=h[0][1];b=h[1][0];$=h[1][1]}v=p;y=g;x=b;k=$;var P=select(e).attr("pointer-events","none");var L=P.selectAll(".overlay").attr("cursor",cursors[r]);if(event.touches){P.on("touchmove.brush",D,true).on("touchend.brush touchcancel.brush",O,true)}else{var F=select(event.view).on("keydown.brush",B,true).on("keyup.brush",q,true).on("mousemove.brush",D,true).on("mouseup.brush",O,true);dragDisable(event.view)}nopropagation$1();interrupt(e);s.call(e);N.start();function D(){var t=mouse(e);if(E&&!C&&!A){if(Math.abs(t[0]-T[0])>Math.abs(t[1]-T[1]))A=true;else C=true}T=t;z=true;noevent$1();I()}function I(){var t;M=T[0]-R[0];S=T[1]-R[1];switch(i){case MODE_SPACE:case MODE_DRAG:{if(o)M=Math.max(d-p,Math.min(_-b,M)),v=p+M,x=b+M;if(u)S=Math.max(m-g,Math.min(w-$,S)),y=g+S,k=$+S;break}case MODE_HANDLE:{if(o<0)M=Math.max(d-p,Math.min(_-p,M)),v=p+M,x=b;else if(o>0)M=Math.max(d-b,Math.min(_-b,M)),v=p,x=b+M;if(u<0)S=Math.max(m-g,Math.min(w-g,S)),y=g+S,k=$;else if(u>0)S=Math.max(m-$,Math.min(w-$,S)),y=g,k=$+S;break}case MODE_CENTER:{if(o)v=Math.max(d,Math.min(_,p-M*o)),x=Math.max(d,Math.min(_,b+M*o));if(u)y=Math.max(m,Math.min(w,g-S*u)),k=Math.max(m,Math.min(w,$+S*u));break}}if(x<v){o*=-1;t=p,p=b,b=t;t=v,v=x,x=t;if(r in flipX)L.attr("cursor",cursors[r=flipX[r]])}if(k<y){u*=-1;t=g,g=$,$=t;t=y,y=k,k=t;if(r in flipY)L.attr("cursor",cursors[r=flipY[r]])}if(c.selection)h=c.selection;if(C)v=h[0][0],x=h[1][0];if(A)y=h[0][1],k=h[1][1];if(h[0][0]!==v||h[0][1]!==y||h[1][0]!==x||h[1][1]!==k){c.selection=[[v,y],[x,k]];s.call(e);N.brush()}}function O(){nopropagation$1();if(event.touches){if(event.touches.length)return;if(a)clearTimeout(a);a=setTimeout((function(){a=null}),500);P.on("touchmove.brush touchend.brush touchcancel.brush",null)}else{yesdrag(event.view,z);F.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null)}P.attr("pointer-events","all");L.attr("cursor",cursors.overlay);if(c.selection)h=c.selection;if(empty(h))c.selection=null,s.call(e);N.end()}function B(){switch(event.keyCode){case 16:{E=o&&u;break}case 18:{if(i===MODE_HANDLE){if(o)b=x-M*o,p=v+M*o;if(u)$=k-S*u,g=y+S*u;i=MODE_CENTER;I()}break}case 32:{if(i===MODE_HANDLE||i===MODE_CENTER){if(o<0)b=x-M;else if(o>0)p=v-M;if(u<0)$=k-S;else if(u>0)g=y-S;i=MODE_SPACE;L.attr("cursor",cursors.selection);I()}break}default:return}noevent$1()}function q(){switch(event.keyCode){case 16:{if(E){C=A=E=false;I()}break}case 18:{if(i===MODE_CENTER){if(o<0)b=x;else if(o>0)p=v;if(u<0)$=k;else if(u>0)g=y;i=MODE_HANDLE;I()}break}case 32:{if(i===MODE_SPACE){if(event.altKey){if(o)b=x-M*o,p=v+M*o;if(u)$=k-S*u,g=y+S*u;i=MODE_CENTER}else{if(o<0)b=x;else if(o>0)p=v;if(u<0)$=k;else if(u>0)g=y;i=MODE_HANDLE}L.attr("cursor",cursors[r]);I()}break}default:return}noevent$1()}}function f(){var n=this.__brush||{selection:null};n.extent=e.apply(this,arguments);n.dim=t;return n}o.extent=function(t){return arguments.length?(e=typeof t==="function"?t:constant$8([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),o):e};o.filter=function(t){return arguments.length?(n=typeof t==="function"?t:constant$8(!!t),o):n};o.handleSize=function(t){return arguments.length?(i=+t,o):i};o.on=function(){var t=r.on.apply(r,arguments);return t===r?o:t};return o}var cos$2=Math.cos;var sin$2=Math.sin;var pi$3=Math.PI;var halfPi$2=pi$3/2;var tau$3=pi$3*2;var max$1=Math.max;function compareValue(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}function chord(){var t=0,e=null,n=null,r=null;function i(i){var a=i.length,o=[],s=sequence(a),l=[],u=[],c=u.groups=new Array(a),f=new Array(a*a),h,d,p,v,m,g;h=0,m=-1;while(++m<a){d=0,g=-1;while(++g<a){d+=i[m][g]}o.push(d);l.push(sequence(a));h+=d}if(e)s.sort((function(t,n){return e(o[t],o[n])}));if(n)l.forEach((function(t,e){t.sort((function(t,r){return n(i[e][t],i[e][r])}))}));h=max$1(0,tau$3-t*a)/h;v=h?t:tau$3/a;d=0,m=-1;while(++m<a){p=d,g=-1;while(++g<a){var y=s[m],_=l[y][g],b=i[y][_],x=d,w=d+=b*h;f[_*a+y]={index:y,subindex:_,startAngle:x,endAngle:w,value:b}}c[y]={index:y,startAngle:p,endAngle:d,value:o[y]};d+=v}m=-1;while(++m<a){g=m-1;while(++g<a){var $=f[g*a+m],k=f[m*a+g];if($.value||k.value){u.push($.value<k.value?{source:k,target:$}:{source:$,target:k})}}}return r?u.sort(r):u}i.padAngle=function(e){return arguments.length?(t=max$1(0,e),i):t};i.sortGroups=function(t){return arguments.length?(e=t,i):e};i.sortSubgroups=function(t){return arguments.length?(n=t,i):n};i.sortChords=function(t){return arguments.length?(t==null?r=null:(r=compareValue(t))._=t,i):r&&r._};return i}var slice$4=Array.prototype.slice;function constant$7(t){return function(){return t}}var pi$2=Math.PI,tau$2=2*pi$2,epsilon$3=1e-6,tauEpsilon=tau$2-epsilon$3;function Path(){this._x0=this._y0=this._x1=this._y1=null;this._=""}function path(){return new Path}Path.prototype=path.prototype={constructor:Path,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){if(this._x1!==null){this._x1=this._x0,this._y1=this._y0;this._+="Z"}},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,s=n-t,l=r-e,u=a-t,c=o-e,f=u*u+c*c;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null){this._+="M"+(this._x1=t)+","+(this._y1=e)}else if(!(f>epsilon$3));else if(!(Math.abs(c*s-l*u)>epsilon$3)||!i){this._+="L"+(this._x1=t)+","+(this._y1=e)}else{var h=n-a,d=r-o,p=s*s+l*l,v=h*h+d*d,m=Math.sqrt(p),g=Math.sqrt(f),y=i*Math.tan((pi$2-Math.acos((p+f-v)/(2*m*g)))/2),_=y/g,b=y/m;if(Math.abs(_-1)>epsilon$3){this._+="L"+(t+_*u)+","+(e+_*c)}this._+="A"+i+","+i+",0,0,"+ +(c*h>u*d)+","+(this._x1=t+b*s)+","+(this._y1=e+b*l)}},arc:function(t,e,n,r,i,a){t=+t,e=+e,n=+n;var o=n*Math.cos(r),s=n*Math.sin(r),l=t+o,u=e+s,c=1^a,f=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);if(this._x1===null){this._+="M"+l+","+u}else if(Math.abs(this._x1-l)>epsilon$3||Math.abs(this._y1-u)>epsilon$3){this._+="L"+l+","+u}if(!n)return;if(f<0)f=f%tau$2+tau$2;if(f>tauEpsilon){this._+="A"+n+","+n+",0,1,"+c+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+c+","+(this._x1=l)+","+(this._y1=u)}else if(f>epsilon$3){this._+="A"+n+","+n+",0,"+ +(f>=pi$2)+","+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._}};function defaultSource$1(t){return t.source}function defaultTarget(t){return t.target}function defaultRadius$1(t){return t.radius}function defaultStartAngle(t){return t.startAngle}function defaultEndAngle(t){return t.endAngle}function ribbon(){var t=defaultSource$1,e=defaultTarget,n=defaultRadius$1,r=defaultStartAngle,i=defaultEndAngle,a=null;function o(){var o,s=slice$4.call(arguments),l=t.apply(this,s),u=e.apply(this,s),c=+n.apply(this,(s[0]=l,s)),f=r.apply(this,s)-halfPi$2,h=i.apply(this,s)-halfPi$2,d=c*cos$2(f),p=c*sin$2(f),v=+n.apply(this,(s[0]=u,s)),m=r.apply(this,s)-halfPi$2,g=i.apply(this,s)-halfPi$2;if(!a)a=o=path();a.moveTo(d,p);a.arc(0,0,c,f,h);if(f!==m||h!==g){a.quadraticCurveTo(0,0,v*cos$2(m),v*sin$2(m));a.arc(0,0,v,m,g)}a.quadraticCurveTo(0,0,d,p);a.closePath();if(o)return a=null,o+""||null}o.radius=function(t){return arguments.length?(n=typeof t==="function"?t:constant$7(+t),o):n};o.startAngle=function(t){return arguments.length?(r=typeof t==="function"?t:constant$7(+t),o):r};o.endAngle=function(t){return arguments.length?(i=typeof t==="function"?t:constant$7(+t),o):i};o.source=function(e){return arguments.length?(t=e,o):t};o.target=function(t){return arguments.length?(e=t,o):e};o.context=function(t){return arguments.length?(a=t==null?null:t,o):a};return o}var prefix="$";function Map(){}Map.prototype=map$1.prototype={constructor:Map,has:function(t){return prefix+t in this},get:function(t){return this[prefix+t]},set:function(t,e){this[prefix+t]=e;return this},remove:function(t){var e=prefix+t;return e in this&&delete this[e]},clear:function(){for(var t in this)if(t[0]===prefix)delete this[t]},keys:function(){var t=[];for(var e in this)if(e[0]===prefix)t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)if(e[0]===prefix)t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)if(e[0]===prefix)t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)if(e[0]===prefix)++t;return t},empty:function(){for(var t in this)if(t[0]===prefix)return false;return true},each:function(t){for(var e in this)if(e[0]===prefix)t(this[e],e.slice(1),this)}};function map$1(t,e){var n=new Map;if(t instanceof Map)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var r=-1,i=t.length,a;if(e==null)while(++r<i)n.set(r,t[r]);else while(++r<i)n.set(e(a=t[r],r,t),a)}else if(t)for(var o in t)n.set(o,t[o]);return n}function nest(){var t=[],e=[],n,r,i;function a(e,i,o,s){if(i>=t.length){if(n!=null)e.sort(n);return r!=null?r(e):e}var l=-1,u=e.length,c=t[i++],f,h,d=map$1(),p,v=o();while(++l<u){if(p=d.get(f=c(h=e[l])+"")){p.push(h)}else{d.set(f,[h])}}d.each((function(t,e){s(v,e,a(t,i,o,s))}));return v}function o(n,i){if(++i>t.length)return n;var a,s=e[i-1];if(r!=null&&i>=t.length)a=n.entries();else a=[],n.each((function(t,e){a.push({key:e,values:o(t,i)})}));return s!=null?a.sort((function(t,e){return s(t.key,e.key)})):a}return i={object:function(t){return a(t,0,createObject,setObject)},map:function(t){return a(t,0,createMap,setMap)},entries:function(t){return o(a(t,0,createMap,setMap),0)},key:function(e){t.push(e);return i},sortKeys:function(n){e[t.length-1]=n;return i},sortValues:function(t){n=t;return i},rollup:function(t){r=t;return i}}}function createObject(){return{}}function setObject(t,e,n){t[e]=n}function createMap(){return map$1()}function setMap(t,e,n){t.set(e,n)}function Set(){}var proto=map$1.prototype;Set.prototype=set.prototype={constructor:Set,has:proto.has,add:function(t){t+="";this[prefix+t]=t;return this},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};function set(t,e){var n=new Set;if(t instanceof Set)t.each((function(t){n.add(t)}));else if(t){var r=-1,i=t.length;if(e==null)while(++r<i)n.add(t[r]);else while(++r<i)n.add(e(t[r],r,t))}return n}function keys(t){var e=[];for(var n in t)e.push(n);return e}function values(t){var e=[];for(var n in t)e.push(t[n]);return e}function entries(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e}var EOL={},EOF={},QUOTE=34,NEWLINE=10,RETURN=13;function objectConverter(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+"]"})).join(",")+"}")}function customConverter(t,e){var n=objectConverter(t);return function(r,i){return e(n(r),i,t)}}function inferColumns(t){var e=Object.create(null),n=[];t.forEach((function(t){for(var r in t){if(!(r in e)){n.push(e[r]=r)}}}));return n}function dsv$1(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var n,r,a=i(t,(function(t,i){if(n)return n(t,i-1);r=t,n=e?customConverter(t,e):objectConverter(t)}));a.columns=r||[];return a}function i(t,e){var r=[],i=t.length,a=0,o=0,s,l=i<=0,u=false;if(t.charCodeAt(i-1)===NEWLINE)--i;if(t.charCodeAt(i-1)===RETURN)--i;function c(){if(l)return EOF;if(u)return u=false,EOL;var e,r=a,o;if(t.charCodeAt(r)===QUOTE){while(a++<i&&t.charCodeAt(a)!==QUOTE||t.charCodeAt(++a)===QUOTE);if((e=a)>=i)l=true;else if((o=t.charCodeAt(a++))===NEWLINE)u=true;else if(o===RETURN){u=true;if(t.charCodeAt(a)===NEWLINE)++a}return t.slice(r+1,e-1).replace(/""/g,'"')}while(a<i){if((o=t.charCodeAt(e=a++))===NEWLINE)u=true;else if(o===RETURN){u=true;if(t.charCodeAt(a)===NEWLINE)++a}else if(o!==n)continue;return t.slice(r,e)}return l=true,t.slice(r,i)}while((s=c())!==EOF){var f=[];while(s!==EOL&&s!==EOF)f.push(s),s=c();if(e&&(f=e(f,o++))==null)continue;r.push(f)}return r}function a(e,n){if(n==null)n=inferColumns(e);return[n.map(l).join(t)].concat(e.map((function(e){return n.map((function(t){return l(e[t])})).join(t)}))).join("\n")}function o(t){return t.map(s).join("\n")}function s(e){return e.map(l).join(t)}function l(t){return t==null?"":e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:r,parseRows:i,format:a,formatRows:o}}var csv$1=dsv$1(",");var csvParse=csv$1.parse;var csvParseRows=csv$1.parseRows;var csvFormat=csv$1.format;var csvFormatRows=csv$1.formatRows;var tsv$1=dsv$1("\t");var tsvParse=tsv$1.parse;var tsvParseRows=tsv$1.parseRows;var tsvFormat=tsv$1.format;var tsvFormatRows=tsv$1.formatRows;function center(t,e){var n;if(t==null)t=0;if(e==null)e=0;function r(){var r,i=n.length,a,o=0,s=0;for(r=0;r<i;++r){a=n[r],o+=a.x,s+=a.y}for(o=o/i-t,s=s/i-e,r=0;r<i;++r){a=n[r],a.x-=o,a.y-=s}}r.initialize=function(t){n=t};r.x=function(e){return arguments.length?(t=+e,r):t};r.y=function(t){return arguments.length?(e=+t,r):e};return r}function constant$6(t){return function(){return t}}function jiggle(){return(Math.random()-.5)*1e-6}function tree_add(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return add$1(this.cover(e,n),e,n,t)}function add$1(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,a=t._root,o={data:r},s=t._x0,l=t._y0,u=t._x1,c=t._y1,f,h,d,p,v,m,g,y;if(!a)return t._root=o,t;while(a.length){if(v=e>=(f=(s+u)/2))s=f;else u=f;if(m=n>=(h=(l+c)/2))l=h;else c=h;if(i=a,!(a=a[g=m<<1|v]))return i[g]=o,t}d=+t._x.call(null,a.data);p=+t._y.call(null,a.data);if(e===d&&n===p)return o.next=a,i?i[g]=o:t._root=o,t;do{i=i?i[g]=new Array(4):t._root=new Array(4);if(v=e>=(f=(s+u)/2))s=f;else u=f;if(m=n>=(h=(l+c)/2))l=h;else c=h}while((g=m<<1|v)===(y=(p>=h)<<1|d>=f));return i[y]=a,i[g]=o,t}function addAll(t){var e,n,r=t.length,i,a,o=new Array(r),s=new Array(r),l=Infinity,u=Infinity,c=-Infinity,f=-Infinity;for(n=0;n<r;++n){if(isNaN(i=+this._x.call(null,e=t[n]))||isNaN(a=+this._y.call(null,e)))continue;o[n]=i;s[n]=a;if(i<l)l=i;if(i>c)c=i;if(a<u)u=a;if(a>f)f=a}if(c<l)l=this._x0,c=this._x1;if(f<u)u=this._y0,f=this._y1;this.cover(l,u).cover(c,f);for(n=0;n<r;++n){add$1(this,o[n],s[n],t[n])}return this}function tree_cover(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n)){i=(n=Math.floor(t))+1;a=(r=Math.floor(e))+1}else if(n>t||t>i||r>e||e>a){var o=i-n,s=this._root,l,u;switch(u=(e<(r+a)/2)<<1|t<(n+i)/2){case 0:{do{l=new Array(4),l[u]=s,s=l}while(o*=2,i=n+o,a=r+o,t>i||e>a);break}case 1:{do{l=new Array(4),l[u]=s,s=l}while(o*=2,n=i-o,a=r+o,n>t||e>a);break}case 2:{do{l=new Array(4),l[u]=s,s=l}while(o*=2,i=n+o,r=a-o,t>i||r>e);break}case 3:{do{l=new Array(4),l[u]=s,s=l}while(o*=2,n=i-o,r=a-o,n>t||r>e);break}}if(this._root&&this._root.length)this._root=s}else return this;this._x0=n;this._y0=r;this._x1=i;this._y1=a;return this}function tree_data(){var t=[];this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}));return t}function tree_extent(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?undefined:[[this._x0,this._y0],[this._x1,this._y1]]}function Quad(t,e,n,r,i){this.node=t;this.x0=e;this.y0=n;this.x1=r;this.y1=i}function tree_find(t,e,n){var r,i=this._x0,a=this._y0,o,s,l,u,c=this._x1,f=this._y1,h=[],d=this._root,p,v;if(d)h.push(new Quad(d,i,a,c,f));if(n==null)n=Infinity;else{i=t-n,a=e-n;c=t+n,f=e+n;n*=n}while(p=h.pop()){if(!(d=p.node)||(o=p.x0)>c||(s=p.y0)>f||(l=p.x1)<i||(u=p.y1)<a)continue;if(d.length){var m=(o+l)/2,g=(s+u)/2;h.push(new Quad(d[3],m,g,l,u),new Quad(d[2],o,g,m,u),new Quad(d[1],m,s,l,g),new Quad(d[0],o,s,m,g));if(v=(e>=g)<<1|t>=m){p=h[h.length-1];h[h.length-1]=h[h.length-1-v];h[h.length-1-v]=p}}else{var y=t-+this._x.call(null,d.data),_=e-+this._y.call(null,d.data),b=y*y+_*_;if(b<n){var x=Math.sqrt(n=b);i=t-x,a=e-x;c=t+x,f=e+x;r=d.data}}}return r}function tree_remove(t){if(isNaN(c=+this._x.call(null,t))||isNaN(f=+this._y.call(null,t)))return this;var e,n=this._root,r,i,a,o=this._x0,s=this._y0,l=this._x1,u=this._y1,c,f,h,d,p,v,m,g;if(!n)return this;if(n.length)while(true){if(p=c>=(h=(o+l)/2))o=h;else l=h;if(v=f>=(d=(s+u)/2))s=d;else u=d;if(!(e=n,n=n[m=v<<1|p]))return this;if(!n.length)break;if(e[m+1&3]||e[m+2&3]||e[m+3&3])r=e,g=m}while(n.data!==t)if(!(i=n,n=n.next))return this;if(a=n.next)delete n.next;if(i)return a?i.next=a:delete i.next,this;if(!e)return this._root=a,this;a?e[m]=a:delete e[m];if((n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length){if(r)r[g]=n;else this._root=n}return this}function removeAll(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this}function tree_root(){return this._root}function tree_size(){var t=0;this.visit((function(e){if(!e.length)do{++t}while(e=e.next)}));return t}function tree_visit(t){var e=[],n,r=this._root,i,a,o,s,l;if(r)e.push(new Quad(r,this._x0,this._y0,this._x1,this._y1));while(n=e.pop()){if(!t(r=n.node,a=n.x0,o=n.y0,s=n.x1,l=n.y1)&&r.length){var u=(a+s)/2,c=(o+l)/2;if(i=r[3])e.push(new Quad(i,u,c,s,l));if(i=r[2])e.push(new Quad(i,a,c,u,l));if(i=r[1])e.push(new Quad(i,u,o,s,c));if(i=r[0])e.push(new Quad(i,a,o,u,c))}}return this}function tree_visitAfter(t){var e=[],n=[],r;if(this._root)e.push(new Quad(this._root,this._x0,this._y0,this._x1,this._y1));while(r=e.pop()){var i=r.node;if(i.length){var a,o=r.x0,s=r.y0,l=r.x1,u=r.y1,c=(o+l)/2,f=(s+u)/2;if(a=i[0])e.push(new Quad(a,o,s,c,f));if(a=i[1])e.push(new Quad(a,c,s,l,f));if(a=i[2])e.push(new Quad(a,o,f,c,u));if(a=i[3])e.push(new Quad(a,c,f,l,u))}n.push(r)}while(r=n.pop()){t(r.node,r.x0,r.y0,r.x1,r.y1)}return this}function defaultX(t){return t[0]}function tree_x(t){return arguments.length?(this._x=t,this):this._x}function defaultY(t){return t[1]}function tree_y(t){return arguments.length?(this._y=t,this):this._y}function quadtree(t,e,n){var r=new Quadtree(e==null?defaultX:e,n==null?defaultY:n,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function Quadtree(t,e,n,r,i,a){this._x=t;this._y=e;this._x0=n;this._y0=r;this._x1=i;this._y1=a;this._root=undefined}function leaf_copy(t){var e={data:t.data},n=e;while(t=t.next)n=n.next={data:t.data};return e}var treeProto=quadtree.prototype=Quadtree.prototype;treeProto.copy=function(){var t=new Quadtree(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,n,r;if(!e)return t;if(!e.length)return t._root=leaf_copy(e),t;n=[{source:e,target:t._root=new Array(4)}];while(e=n.pop()){for(var i=0;i<4;++i){if(r=e.source[i]){if(r.length)n.push({source:r,target:e.target[i]=new Array(4)});else e.target[i]=leaf_copy(r)}}}return t};treeProto.add=tree_add;treeProto.addAll=addAll;treeProto.cover=tree_cover;treeProto.data=tree_data;treeProto.extent=tree_extent;treeProto.find=tree_find;treeProto.remove=tree_remove;treeProto.removeAll=removeAll;treeProto.root=tree_root;treeProto.size=tree_size;treeProto.visit=tree_visit;treeProto.visitAfter=tree_visitAfter;treeProto.x=tree_x;treeProto.y=tree_y;function x$4(t){return t.x+t.vx}function y$4(t){return t.y+t.vy}function collide(t){var e,n,r=1,i=1;if(typeof t!=="function")t=constant$6(t==null?1:+t);function a(){var t,a=e.length,s,l,u,c,f,h;for(var d=0;d<i;++d){s=quadtree(e,x$4,y$4).visitAfter(o);for(t=0;t<a;++t){l=e[t];f=n[l.index],h=f*f;u=l.x+l.vx;c=l.y+l.vy;s.visit(p)}}function p(t,e,n,i,a){var o=t.data,s=t.r,d=f+s;if(o){if(o.index>l.index){var p=u-o.x-o.vx,v=c-o.y-o.vy,m=p*p+v*v;if(m<d*d){if(p===0)p=jiggle(),m+=p*p;if(v===0)v=jiggle(),m+=v*v;m=(d-(m=Math.sqrt(m)))/m*r;l.vx+=(p*=m)*(d=(s*=s)/(h+s));l.vy+=(v*=m)*d;o.vx-=p*(d=1-d);o.vy-=v*d}}return}return e>u+d||i<u-d||n>c+d||a<c-d}}function o(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e){if(t[e]&&t[e].r>t.r){t.r=t[e].r}}}function s(){if(!e)return;var r,i=e.length,a;n=new Array(i);for(r=0;r<i;++r)a=e[r],n[a.index]=+t(a,r,e)}a.initialize=function(t){e=t;s()};a.iterations=function(t){return arguments.length?(i=+t,a):i};a.strength=function(t){return arguments.length?(r=+t,a):r};a.radius=function(e){return arguments.length?(t=typeof e==="function"?e:constant$6(+e),s(),a):t};return a}function index$3(t){return t.index}function find(t,e){var n=t.get(e);if(!n)throw new Error("missing: "+e);return n}function link$2(t){var e=index$3,n=c,r,i=constant$6(30),a,o,s,l,u=1;if(t==null)t=[];function c(t){return 1/Math.min(s[t.source.index],s[t.target.index])}function f(e){for(var n=0,i=t.length;n<u;++n){for(var o=0,s,c,f,h,d,p,v;o<i;++o){s=t[o],c=s.source,f=s.target;h=f.x+f.vx-c.x-c.vx||jiggle();d=f.y+f.vy-c.y-c.vy||jiggle();p=Math.sqrt(h*h+d*d);p=(p-a[o])/p*e*r[o];h*=p,d*=p;f.vx-=h*(v=l[o]);f.vy-=d*v;c.vx+=h*(v=1-v);c.vy+=d*v}}}function h(){if(!o)return;var n,i=o.length,u=t.length,c=map$1(o,e),f;for(n=0,s=new Array(i);n<u;++n){f=t[n],f.index=n;if(typeof f.source!=="object")f.source=find(c,f.source);if(typeof f.target!=="object")f.target=find(c,f.target);s[f.source.index]=(s[f.source.index]||0)+1;s[f.target.index]=(s[f.target.index]||0)+1}for(n=0,l=new Array(u);n<u;++n){f=t[n],l[n]=s[f.source.index]/(s[f.source.index]+s[f.target.index])}r=new Array(u),d();a=new Array(u),p()}function d(){if(!o)return;for(var e=0,i=t.length;e<i;++e){r[e]=+n(t[e],e,t)}}function p(){if(!o)return;for(var e=0,n=t.length;e<n;++e){a[e]=+i(t[e],e,t)}}f.initialize=function(t){o=t;h()};f.links=function(e){return arguments.length?(t=e,h(),f):t};f.id=function(t){return arguments.length?(e=t,f):e};f.iterations=function(t){return arguments.length?(u=+t,f):u};f.strength=function(t){return arguments.length?(n=typeof t==="function"?t:constant$6(+t),d(),f):n};f.distance=function(t){return arguments.length?(i=typeof t==="function"?t:constant$6(+t),p(),f):i};return f}function x$3(t){return t.x}function y$3(t){return t.y}var initialRadius=10,initialAngle=Math.PI*(3-Math.sqrt(5));function simulation(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),a=0,o=.6,s=map$1(),l=timer(c),u=dispatch("tick","end");if(t==null)t=[];function c(){f();u.call("tick",e);if(n<r){l.stop();u.call("end",e)}}function f(){var e,r=t.length,l;n+=(a-n)*i;s.each((function(t){t(n)}));for(e=0;e<r;++e){l=t[e];if(l.fx==null)l.x+=l.vx*=o;else l.x=l.fx,l.vx=0;if(l.fy==null)l.y+=l.vy*=o;else l.y=l.fy,l.vy=0}}function h(){for(var e=0,n=t.length,r;e<n;++e){r=t[e],r.index=e;if(isNaN(r.x)||isNaN(r.y)){var i=initialRadius*Math.sqrt(e),a=e*initialAngle;r.x=i*Math.cos(a);r.y=i*Math.sin(a)}if(isNaN(r.vx)||isNaN(r.vy)){r.vx=r.vy=0}}}function d(e){if(e.initialize)e.initialize(t);return e}h();return e={tick:f,restart:function(){return l.restart(c),e},stop:function(){return l.stop(),e},nodes:function(n){return arguments.length?(t=n,h(),s.each(d),e):t},alpha:function(t){return arguments.length?(n=+t,e):n},alphaMin:function(t){return arguments.length?(r=+t,e):r},alphaDecay:function(t){return arguments.length?(i=+t,e):+i},alphaTarget:function(t){return arguments.length?(a=+t,e):a},velocityDecay:function(t){return arguments.length?(o=1-t,e):1-o},force:function(t,n){return arguments.length>1?(n==null?s.remove(t):s.set(t,d(n)),e):s.get(t)},find:function(e,n,r){var i=0,a=t.length,o,s,l,u,c;if(r==null)r=Infinity;else r*=r;for(i=0;i<a;++i){u=t[i];o=e-u.x;s=n-u.y;l=o*o+s*s;if(l<r)c=u,r=l}return c},on:function(t,n){return arguments.length>1?(u.on(t,n),e):u.on(t)}}}function manyBody(){var t,e,n,r=constant$6(-30),i,a=1,o=Infinity,s=.81;function l(r){var i,a=t.length,o=quadtree(t,x$3,y$3).visitAfter(c);for(n=r,i=0;i<a;++i)e=t[i],o.visit(f)}function u(){if(!t)return;var e,n=t.length,a;i=new Array(n);for(e=0;e<n;++e)a=t[e],i[a.index]=+r(a,e,t)}function c(t){var e=0,n,r,a=0,o,s,l;if(t.length){for(o=s=l=0;l<4;++l){if((n=t[l])&&(r=Math.abs(n.value))){e+=n.value,a+=r,o+=r*n.x,s+=r*n.y}}t.x=o/a;t.y=s/a}else{n=t;n.x=n.data.x;n.y=n.data.y;do{e+=i[n.data.index]}while(n=n.next)}t.value=e}function f(t,r,l,u){if(!t.value)return true;var c=t.x-e.x,f=t.y-e.y,h=u-r,d=c*c+f*f;if(h*h/s<d){if(d<o){if(c===0)c=jiggle(),d+=c*c;if(f===0)f=jiggle(),d+=f*f;if(d<a)d=Math.sqrt(a*d);e.vx+=c*t.value*n/d;e.vy+=f*t.value*n/d}return true}else if(t.length||d>=o)return;if(t.data!==e||t.next){if(c===0)c=jiggle(),d+=c*c;if(f===0)f=jiggle(),d+=f*f;if(d<a)d=Math.sqrt(a*d)}do{if(t.data!==e){h=i[t.data.index]*n/d;e.vx+=c*h;e.vy+=f*h}}while(t=t.next)}l.initialize=function(e){t=e;u()};l.strength=function(t){return arguments.length?(r=typeof t==="function"?t:constant$6(+t),u(),l):r};l.distanceMin=function(t){return arguments.length?(a=t*t,l):Math.sqrt(a)};l.distanceMax=function(t){return arguments.length?(o=t*t,l):Math.sqrt(o)};l.theta=function(t){return arguments.length?(s=t*t,l):Math.sqrt(s)};return l}function radial(t,e,n){var r,i=constant$6(.1),a,o;if(typeof t!=="function")t=constant$6(+t);if(e==null)e=0;if(n==null)n=0;function s(t){for(var i=0,s=r.length;i<s;++i){var l=r[i],u=l.x-e||1e-6,c=l.y-n||1e-6,f=Math.sqrt(u*u+c*c),h=(o[i]-f)*a[i]*t/f;l.vx+=u*h;l.vy+=c*h}}function l(){if(!r)return;var e,n=r.length;a=new Array(n);o=new Array(n);for(e=0;e<n;++e){o[e]=+t(r[e],e,r);a[e]=isNaN(o[e])?0:+i(r[e],e,r)}}s.initialize=function(t){r=t,l()};s.strength=function(t){return arguments.length?(i=typeof t==="function"?t:constant$6(+t),l(),s):i};s.radius=function(e){return arguments.length?(t=typeof e==="function"?e:constant$6(+e),l(),s):t};s.x=function(t){return arguments.length?(e=+t,s):e};s.y=function(t){return arguments.length?(n=+t,s):n};return s}function x$2(t){var e=constant$6(.1),n,r,i;if(typeof t!=="function")t=constant$6(t==null?0:+t);function a(t){for(var e=0,a=n.length,o;e<a;++e){o=n[e],o.vx+=(i[e]-o.x)*r[e]*t}}function o(){if(!n)return;var a,o=n.length;r=new Array(o);i=new Array(o);for(a=0;a<o;++a){r[a]=isNaN(i[a]=+t(n[a],a,n))?0:+e(n[a],a,n)}}a.initialize=function(t){n=t;o()};a.strength=function(t){return arguments.length?(e=typeof t==="function"?t:constant$6(+t),o(),a):e};a.x=function(e){return arguments.length?(t=typeof e==="function"?e:constant$6(+e),o(),a):t};return a}function y$2(t){var e=constant$6(.1),n,r,i;if(typeof t!=="function")t=constant$6(t==null?0:+t);function a(t){for(var e=0,a=n.length,o;e<a;++e){o=n[e],o.vy+=(i[e]-o.y)*r[e]*t}}function o(){if(!n)return;var a,o=n.length;r=new Array(o);i=new Array(o);for(a=0;a<o;++a){r[a]=isNaN(i[a]=+t(n[a],a,n))?0:+e(n[a],a,n)}}a.initialize=function(t){n=t;o()};a.strength=function(t){return arguments.length?(e=typeof t==="function"?t:constant$6(+t),o(),a):e};a.y=function(e){return arguments.length?(t=typeof e==="function"?e:constant$6(+e),o(),a):t};return a}function formatDecimal(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)]}function exponent(t){return t=formatDecimal(Math.abs(t)),t?t[1]:NaN}function formatGroup(t,e){return function(n,r){var i=n.length,a=[],o=0,s=t[0],l=0;while(i>0&&s>0){if(l+s+1>r)s=Math.max(1,r-l);a.push(n.substring(i-=s,i+s));if((l+=s+1)>r)break;s=t[o=(o+1)%t.length]}return a.reverse().join(e)}}function formatNumerals(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}function formatDefault(t,e){t=t.toPrecision(e);t:for(var n=t.length,r=1,i=-1,a;r<n;++r){switch(t[r]){case".":i=a=r;break;case"0":if(i===0)i=r;a=r;break;case"e":break t;default:if(i>0)i=0;break}}return i>0?t.slice(0,i)+t.slice(a+1):t}var prefixExponent;function formatPrefixAuto(t,e){var n=formatDecimal(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(prefixExponent=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+formatDecimal(t,Math.max(0,e+a-1))[0]}function formatRounded(t,e){var n=formatDecimal(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")}var formatTypes={"":formatDefault,"%":function(t,e){return(t*100).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 formatRounded(t*100,e)},r:formatRounded,s:formatPrefixAuto,X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};var re=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;function formatSpecifier(t){return new FormatSpecifier(t)}formatSpecifier.prototype=FormatSpecifier.prototype;function FormatSpecifier(t){if(!(e=re.exec(t)))throw new Error("invalid format: "+t);var e,n=e[1]||" ",r=e[2]||">",i=e[3]||"-",a=e[4]||"",o=!!e[5],s=e[6]&&+e[6],l=!!e[7],u=e[8]&&+e[8].slice(1),c=e[9]||"";if(c==="n")l=true,c="g";else if(!formatTypes[c])c="";if(o||n==="0"&&r==="=")o=true,n="0",r="=";this.fill=n;this.align=r;this.sign=i;this.symbol=a;this.zero=o;this.width=s;this.comma=l;this.precision=u;this.type=c}FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width==null?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision==null?"":"."+Math.max(0,this.precision|0))+this.type};function identity$6(t){return t}var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function formatLocale$1(t){var e=t.grouping&&t.thousands?formatGroup(t.grouping,t.thousands):identity$6,n=t.currency,r=t.decimal,i=t.numerals?formatNumerals(t.numerals):identity$6,a=t.percent||"%";function o(t){t=formatSpecifier(t);var o=t.fill,s=t.align,l=t.sign,u=t.symbol,c=t.zero,f=t.width,h=t.comma,d=t.precision,p=t.type;var v=u==="$"?n[0]:u==="#"&&/[boxX]/.test(p)?"0"+p.toLowerCase():"",m=u==="$"?n[1]:/[%p]/.test(p)?a:"";var g=formatTypes[p],y=!p||/[defgprs%]/.test(p);d=d==null?p?6:12:/[gprs]/.test(p)?Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d));function _(t){var n=v,a=m,u,_,b;if(p==="c"){a=g(t)+a;t=""}else{t=+t;var x=t<0;t=g(Math.abs(t),d);if(x&&+t===0)x=false;n=(x?l==="("?l:"-":l==="-"||l==="("?"":l)+n;a=(p==="s"?prefixes[8+prefixExponent/3]:"")+a+(x&&l==="("?")":"");if(y){u=-1,_=t.length;while(++u<_){if(b=t.charCodeAt(u),48>b||b>57){a=(b===46?r+t.slice(u+1):t.slice(u))+a;t=t.slice(0,u);break}}}}if(h&&!c)t=e(t,Infinity);var w=n.length+t.length+a.length,$=w<f?new Array(f-w+1).join(o):"";if(h&&c)t=e($+t,$.length?f-a.length:Infinity),$="";switch(s){case"<":t=n+t+a+$;break;case"=":t=n+$+t+a;break;case"^":t=$.slice(0,w=$.length>>1)+n+t+a+$.slice(w);break;default:t=$+n+t+a;break}return i(t)}_.toString=function(){return t+""};return _}function s(t,e){var n=o((t=formatSpecifier(t),t.type="f",t)),r=Math.max(-8,Math.min(8,Math.floor(exponent(e)/3)))*3,i=Math.pow(10,-r),a=prefixes[8+r/3];return function(t){return n(i*t)+a}}return{format:o,formatPrefix:s}}var locale$1;var format;var formatPrefix;defaultLocale$1({decimal:".",thousands:",",grouping:[3],currency:["$",""]});function defaultLocale$1(t){locale$1=formatLocale$1(t);format=locale$1.format;formatPrefix=locale$1.formatPrefix;return locale$1}function precisionFixed(t){return Math.max(0,-exponent(Math.abs(t)))}function precisionPrefix(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(exponent(e)/3)))*3-exponent(Math.abs(t)))}function precisionRound(t,e){t=Math.abs(t),e=Math.abs(e)-t;return Math.max(0,exponent(e)-exponent(t))+1}function adder(){return new Adder}function Adder(){this.reset()}Adder.prototype={constructor:Adder,reset:function(){this.s=this.t=0},add:function(t){add(temp,t,this.t);add(this,temp.s,this.s);if(this.s)this.t+=temp.t;else this.s=temp.t},valueOf:function(){return this.s}};var temp=new Adder;function add(t,e,n){var r=t.s=e+n,i=r-e,a=r-i;t.t=e-a+(n-i)}var epsilon$2=1e-6;var epsilon2$1=1e-12;var pi$1=Math.PI;var halfPi$1=pi$1/2;var quarterPi=pi$1/4;var tau$1=pi$1*2;var degrees=180/pi$1;var radians=pi$1/180;var abs$1=Math.abs;var atan=Math.atan;var atan2$1=Math.atan2;var cos$1=Math.cos;var ceil=Math.ceil;var exp=Math.exp;var log$1=Math.log;var pow$1=Math.pow;var sin$1=Math.sin;var sign$1=Math.sign||function(t){return t>0?1:t<0?-1:0};var sqrt$2=Math.sqrt;var tan=Math.tan;function acos$1(t){return t>1?0:t<-1?pi$1:Math.acos(t)}function asin$1(t){return t>1?halfPi$1:t<-1?-halfPi$1:Math.asin(t)}function haversin(t){return(t=sin$1(t/2))*t}function noop$1(){}function streamGeometry(t,e){if(t&&streamGeometryType.hasOwnProperty(t.type)){streamGeometryType[t.type](t,e)}}var streamObjectType={Feature:function(t,e){streamGeometry(t.geometry,e)},FeatureCollection:function(t,e){var n=t.features,r=-1,i=n.length;while(++r<i)streamGeometry(n[r].geometry,e)}};var streamGeometryType={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates;e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){streamLine(t.coordinates,e,0)},MultiLineString:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)streamLine(n[r],e,0)},Polygon:function(t,e){streamPolygon(t.coordinates,e)},MultiPolygon:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)streamPolygon(n[r],e)},GeometryCollection:function(t,e){var n=t.geometries,r=-1,i=n.length;while(++r<i)streamGeometry(n[r],e)}};function streamLine(t,e,n){var r=-1,i=t.length-n,a;e.lineStart();while(++r<i)a=t[r],e.point(a[0],a[1],a[2]);e.lineEnd()}function streamPolygon(t,e){var n=-1,r=t.length;e.polygonStart();while(++n<r)streamLine(t[n],e,1);e.polygonEnd()}function geoStream(t,e){if(t&&streamObjectType.hasOwnProperty(t.type)){streamObjectType[t.type](t,e)}else{streamGeometry(t,e)}}var areaRingSum$1=adder();var areaSum$1=adder(),lambda00$2,phi00$2,lambda0$2,cosPhi0$1,sinPhi0$1;var areaStream$1={point:noop$1,lineStart:noop$1,lineEnd:noop$1,polygonStart:function(){areaRingSum$1.reset();areaStream$1.lineStart=areaRingStart$1;areaStream$1.lineEnd=areaRingEnd$1},polygonEnd:function(){var t=+areaRingSum$1;areaSum$1.add(t<0?tau$1+t:t);this.lineStart=this.lineEnd=this.point=noop$1},sphere:function(){areaSum$1.add(tau$1)}};function areaRingStart$1(){areaStream$1.point=areaPointFirst$1}function areaRingEnd$1(){areaPoint$1(lambda00$2,phi00$2)}function areaPointFirst$1(t,e){areaStream$1.point=areaPoint$1;lambda00$2=t,phi00$2=e;t*=radians,e*=radians;lambda0$2=t,cosPhi0$1=cos$1(e=e/2+quarterPi),sinPhi0$1=sin$1(e)}function areaPoint$1(t,e){t*=radians,e*=radians;e=e/2+quarterPi;var n=t-lambda0$2,r=n>=0?1:-1,i=r*n,a=cos$1(e),o=sin$1(e),s=sinPhi0$1*o,l=cosPhi0$1*a+s*cos$1(i),u=s*r*sin$1(i);areaRingSum$1.add(atan2$1(u,l));lambda0$2=t,cosPhi0$1=a,sinPhi0$1=o}function area$2(t){areaSum$1.reset();geoStream(t,areaStream$1);return areaSum$1*2}function spherical(t){return[atan2$1(t[1],t[0]),asin$1(t[2])]}function cartesian(t){var e=t[0],n=t[1],r=cos$1(n);return[r*cos$1(e),r*sin$1(e),sin$1(n)]}function cartesianDot(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function cartesianCross(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function cartesianAddInPlace(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function cartesianScale(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function cartesianNormalizeInPlace(t){var e=sqrt$2(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var lambda0$1,phi0,lambda1,phi1,lambda2,lambda00$1,phi00$1,p0,deltaSum=adder(),ranges,range;var boundsStream$1={point:boundsPoint$1,lineStart:boundsLineStart,lineEnd:boundsLineEnd,polygonStart:function(){boundsStream$1.point=boundsRingPoint;boundsStream$1.lineStart=boundsRingStart;boundsStream$1.lineEnd=boundsRingEnd;deltaSum.reset();areaStream$1.polygonStart()},polygonEnd:function(){areaStream$1.polygonEnd();boundsStream$1.point=boundsPoint$1;boundsStream$1.lineStart=boundsLineStart;boundsStream$1.lineEnd=boundsLineEnd;if(areaRingSum$1<0)lambda0$1=-(lambda1=180),phi0=-(phi1=90);else if(deltaSum>epsilon$2)phi1=90;else if(deltaSum<-epsilon$2)phi0=-90;range[0]=lambda0$1,range[1]=lambda1}};function boundsPoint$1(t,e){ranges.push(range=[lambda0$1=t,lambda1=t]);if(e<phi0)phi0=e;if(e>phi1)phi1=e}function linePoint(t,e){var n=cartesian([t*radians,e*radians]);if(p0){var r=cartesianCross(p0,n),i=[r[1],-r[0],0],a=cartesianCross(i,r);cartesianNormalizeInPlace(a);a=spherical(a);var o=t-lambda2,s=o>0?1:-1,l=a[0]*degrees*s,u,c=abs$1(o)>180;if(c^(s*lambda2<l&&l<s*t)){u=a[1]*degrees;if(u>phi1)phi1=u}else if(l=(l+360)%360-180,c^(s*lambda2<l&&l<s*t)){u=-a[1]*degrees;if(u<phi0)phi0=u}else{if(e<phi0)phi0=e;if(e>phi1)phi1=e}if(c){if(t<lambda2){if(angle(lambda0$1,t)>angle(lambda0$1,lambda1))lambda1=t}else{if(angle(t,lambda1)>angle(lambda0$1,lambda1))lambda0$1=t}}else{if(lambda1>=lambda0$1){if(t<lambda0$1)lambda0$1=t;if(t>lambda1)lambda1=t}else{if(t>lambda2){if(angle(lambda0$1,t)>angle(lambda0$1,lambda1))lambda1=t}else{if(angle(t,lambda1)>angle(lambda0$1,lambda1))lambda0$1=t}}}}else{ranges.push(range=[lambda0$1=t,lambda1=t])}if(e<phi0)phi0=e;if(e>phi1)phi1=e;p0=n,lambda2=t}function boundsLineStart(){boundsStream$1.point=linePoint}function boundsLineEnd(){range[0]=lambda0$1,range[1]=lambda1;boundsStream$1.point=boundsPoint$1;p0=null}function boundsRingPoint(t,e){if(p0){var n=t-lambda2;deltaSum.add(abs$1(n)>180?n+(n>0?360:-360):n)}else{lambda00$1=t,phi00$1=e}areaStream$1.point(t,e);linePoint(t,e)}function boundsRingStart(){areaStream$1.lineStart()}function boundsRingEnd(){boundsRingPoint(lambda00$1,phi00$1);areaStream$1.lineEnd();if(abs$1(deltaSum)>epsilon$2)lambda0$1=-(lambda1=180);range[0]=lambda0$1,range[1]=lambda1;p0=null}function angle(t,e){return(e-=t)<0?e+360:e}function rangeCompare(t,e){return t[0]-e[0]}function rangeContains(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}function bounds(t){var e,n,r,i,a,o,s;phi1=lambda1=-(lambda0$1=phi0=Infinity);ranges=[];geoStream(t,boundsStream$1);if(n=ranges.length){ranges.sort(rangeCompare);for(e=1,r=ranges[0],a=[r];e<n;++e){i=ranges[e];if(rangeContains(r,i[0])||rangeContains(r,i[1])){if(angle(r[0],i[1])>angle(r[0],r[1]))r[1]=i[1];if(angle(i[0],r[1])>angle(r[0],r[1]))r[0]=i[0]}else{a.push(r=i)}}for(o=-Infinity,n=a.length-1,e=0,r=a[n];e<=n;r=i,++e){i=a[e];if((s=angle(r[1],i[0]))>o)o=s,lambda0$1=i[0],lambda1=r[1]}}ranges=range=null;return lambda0$1===Infinity||phi0===Infinity?[[NaN,NaN],[NaN,NaN]]:[[lambda0$1,phi0],[lambda1,phi1]]}var W0,W1,X0$1,Y0$1,Z0$1,X1$1,Y1$1,Z1$1,X2$1,Y2$1,Z2$1,lambda00,phi00,x0$4,y0$4,z0;var centroidStream$1={sphere:noop$1,point:centroidPoint$1,lineStart:centroidLineStart$1,lineEnd:centroidLineEnd$1,polygonStart:function(){centroidStream$1.lineStart=centroidRingStart$1;centroidStream$1.lineEnd=centroidRingEnd$1},polygonEnd:function(){centroidStream$1.lineStart=centroidLineStart$1;centroidStream$1.lineEnd=centroidLineEnd$1}};function centroidPoint$1(t,e){t*=radians,e*=radians;var n=cos$1(e);centroidPointCartesian(n*cos$1(t),n*sin$1(t),sin$1(e))}function centroidPointCartesian(t,e,n){++W0;X0$1+=(t-X0$1)/W0;Y0$1+=(e-Y0$1)/W0;Z0$1+=(n-Z0$1)/W0}function centroidLineStart$1(){centroidStream$1.point=centroidLinePointFirst}function centroidLinePointFirst(t,e){t*=radians,e*=radians;var n=cos$1(e);x0$4=n*cos$1(t);y0$4=n*sin$1(t);z0=sin$1(e);centroidStream$1.point=centroidLinePoint;centroidPointCartesian(x0$4,y0$4,z0)}function centroidLinePoint(t,e){t*=radians,e*=radians;var n=cos$1(e),r=n*cos$1(t),i=n*sin$1(t),a=sin$1(e),o=atan2$1(sqrt$2((o=y0$4*a-z0*i)*o+(o=z0*r-x0$4*a)*o+(o=x0$4*i-y0$4*r)*o),x0$4*r+y0$4*i+z0*a);W1+=o;X1$1+=o*(x0$4+(x0$4=r));Y1$1+=o*(y0$4+(y0$4=i));Z1$1+=o*(z0+(z0=a));centroidPointCartesian(x0$4,y0$4,z0)}function centroidLineEnd$1(){centroidStream$1.point=centroidPoint$1}function centroidRingStart$1(){centroidStream$1.point=centroidRingPointFirst}function centroidRingEnd$1(){centroidRingPoint(lambda00,phi00);centroidStream$1.point=centroidPoint$1}function centroidRingPointFirst(t,e){lambda00=t,phi00=e;t*=radians,e*=radians;centroidStream$1.point=centroidRingPoint;var n=cos$1(e);x0$4=n*cos$1(t);y0$4=n*sin$1(t);z0=sin$1(e);centroidPointCartesian(x0$4,y0$4,z0)}function centroidRingPoint(t,e){t*=radians,e*=radians;var n=cos$1(e),r=n*cos$1(t),i=n*sin$1(t),a=sin$1(e),o=y0$4*a-z0*i,s=z0*r-x0$4*a,l=x0$4*i-y0$4*r,u=sqrt$2(o*o+s*s+l*l),c=asin$1(u),f=u&&-c/u;X2$1+=f*o;Y2$1+=f*s;Z2$1+=f*l;W1+=c;X1$1+=c*(x0$4+(x0$4=r));Y1$1+=c*(y0$4+(y0$4=i));Z1$1+=c*(z0+(z0=a));centroidPointCartesian(x0$4,y0$4,z0)}function centroid$1(t){W0=W1=X0$1=Y0$1=Z0$1=X1$1=Y1$1=Z1$1=X2$1=Y2$1=Z2$1=0;geoStream(t,centroidStream$1);var e=X2$1,n=Y2$1,r=Z2$1,i=e*e+n*n+r*r;if(i<epsilon2$1){e=X1$1,n=Y1$1,r=Z1$1;if(W1<epsilon$2)e=X0$1,n=Y0$1,r=Z0$1;i=e*e+n*n+r*r;if(i<epsilon2$1)return[NaN,NaN]}return[atan2$1(n,e)*degrees,asin$1(r/sqrt$2(i))*degrees]}function constant$5(t){return function(){return t}}function compose(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}if(t.invert&&e.invert)n.invert=function(n,r){return n=e.invert(n,r),n&&t.invert(n[0],n[1])};return n}function rotationIdentity(t,e){return[t>pi$1?t-tau$1:t<-pi$1?t+tau$1:t,e]}rotationIdentity.invert=rotationIdentity;function rotateRadians(t,e,n){return(t%=tau$1)?e||n?compose(rotationLambda(t),rotationPhiGamma(e,n)):rotationLambda(t):e||n?rotationPhiGamma(e,n):rotationIdentity}function forwardRotationLambda(t){return function(e,n){return e+=t,[e>pi$1?e-tau$1:e<-pi$1?e+tau$1:e,n]}}function rotationLambda(t){var e=forwardRotationLambda(t);e.invert=forwardRotationLambda(-t);return e}function rotationPhiGamma(t,e){var n=cos$1(t),r=sin$1(t),i=cos$1(e),a=sin$1(e);function o(t,e){var o=cos$1(e),s=cos$1(t)*o,l=sin$1(t)*o,u=sin$1(e),c=u*n+s*r;return[atan2$1(l*i-c*a,s*n-u*r),asin$1(c*i+l*a)]}o.invert=function(t,e){var o=cos$1(e),s=cos$1(t)*o,l=sin$1(t)*o,u=sin$1(e),c=u*i-l*a;return[atan2$1(l*i+u*a,s*n+c*r),asin$1(c*n-s*r)]};return o}function rotation(t){t=rotateRadians(t[0]*radians,t[1]*radians,t.length>2?t[2]*radians:0);function e(e){e=t(e[0]*radians,e[1]*radians);return e[0]*=degrees,e[1]*=degrees,e}e.invert=function(e){e=t.invert(e[0]*radians,e[1]*radians);return e[0]*=degrees,e[1]*=degrees,e};return e}function circleStream(t,e,n,r,i,a){if(!n)return;var o=cos$1(e),s=sin$1(e),l=r*n;if(i==null){i=e+r*tau$1;a=e-l/2}else{i=circleRadius(o,i);a=circleRadius(o,a);if(r>0?i<a:i>a)i+=r*tau$1}for(var u,c=i;r>0?c>a:c<a;c-=l){u=spherical([o,-s*cos$1(c),-s*sin$1(c)]);t.point(u[0],u[1])}}function circleRadius(t,e){e=cartesian(e),e[0]-=t;cartesianNormalizeInPlace(e);var n=acos$1(-e[1]);return((-e[2]<0?-n:n)+tau$1-epsilon$2)%tau$1}function circle$2(){var t=constant$5([0,0]),e=constant$5(90),n=constant$5(6),r,i,a={point:o};function o(t,e){r.push(t=i(t,e));t[0]*=degrees,t[1]*=degrees}function s(){var o=t.apply(this,arguments),s=e.apply(this,arguments)*radians,l=n.apply(this,arguments)*radians;r=[];i=rotateRadians(-o[0]*radians,-o[1]*radians,0).invert;circleStream(a,s,l,1);o={type:"Polygon",coordinates:[r]};r=i=null;return o}s.center=function(e){return arguments.length?(t=typeof e==="function"?e:constant$5([+e[0],+e[1]]),s):t};s.radius=function(t){return arguments.length?(e=typeof t==="function"?t:constant$5(+t),s):e};s.precision=function(t){return arguments.length?(n=typeof t==="function"?t:constant$5(+t),s):n};return s}function clipBuffer(){var t=[],e;return{point:function(t,n){e.push([t,n])},lineStart:function(){t.push(e=[])},lineEnd:noop$1,rejoin:function(){if(t.length>1)t.push(t.pop().concat(t.shift()))},result:function(){var n=t;t=[];e=null;return n}}}function pointEqual(t,e){return abs$1(t[0]-e[0])<epsilon$2&&abs$1(t[1]-e[1])<epsilon$2}function Intersection(t,e,n,r){this.x=t;this.z=e;this.o=n;this.e=r;this.v=false;this.n=this.p=null}function clipRejoin(t,e,n,r,i){var a=[],o=[],s,l;t.forEach((function(t){if((e=t.length-1)<=0)return;var e,n=t[0],r=t[e],l;if(pointEqual(n,r)){i.lineStart();for(s=0;s<e;++s)i.point((n=t[s])[0],n[1]);i.lineEnd();return}a.push(l=new Intersection(n,t,null,true));o.push(l.o=new Intersection(n,null,l,false));a.push(l=new Intersection(r,t,null,false));o.push(l.o=new Intersection(r,null,l,true))}));if(!a.length)return;o.sort(e);link$1(a);link$1(o);for(s=0,l=o.length;s<l;++s){o[s].e=n=!n}var u=a[0],c,f;while(1){var h=u,d=true;while(h.v)if((h=h.n)===u)return;c=h.z;i.lineStart();do{h.v=h.o.v=true;if(h.e){if(d){for(s=0,l=c.length;s<l;++s)i.point((f=c[s])[0],f[1])}else{r(h.x,h.n.x,1,i)}h=h.n}else{if(d){c=h.p.z;for(s=c.length-1;s>=0;--s)i.point((f=c[s])[0],f[1])}else{r(h.x,h.p.x,-1,i)}h=h.p}h=h.o;c=h.z;d=!d}while(!h.v);i.lineEnd()}}function link$1(t){if(!(e=t.length))return;var e,n=0,r=t[0],i;while(++n<e){r.n=i=t[n];i.p=r;r=i}r.n=i=t[0];i.p=r}var sum$1=adder();function polygonContains(t,e){var n=e[0],r=e[1],i=[sin$1(n),-cos$1(n),0],a=0,o=0;sum$1.reset();for(var s=0,l=t.length;s<l;++s){if(!(c=(u=t[s]).length))continue;var u,c,f=u[c-1],h=f[0],d=f[1]/2+quarterPi,p=sin$1(d),v=cos$1(d);for(var m=0;m<c;++m,h=y,p=b,v=x,f=g){var g=u[m],y=g[0],_=g[1]/2+quarterPi,b=sin$1(_),x=cos$1(_),w=y-h,$=w>=0?1:-1,k=$*w,M=k>pi$1,S=p*b;sum$1.add(atan2$1(S*$*sin$1(k),v*x+S*cos$1(k)));a+=M?w+$*tau$1:w;if(M^h>=n^y>=n){var z=cartesianCross(cartesian(f),cartesian(g));cartesianNormalizeInPlace(z);var E=cartesianCross(i,z);cartesianNormalizeInPlace(E);var C=(M^w>=0?-1:1)*asin$1(E[2]);if(r>C||r===C&&(z[0]||z[1])){o+=M^w>=0?1:-1}}}}return(a<-epsilon$2||a<epsilon$2&&sum$1<-epsilon$2)^o&1}function clip(t,e,n,r){return function(i){var a=e(i),o=clipBuffer(),s=e(o),l=false,u,c,f;var h={point:d,lineStart:v,lineEnd:m,polygonStart:function(){h.point=g;h.lineStart=y;h.lineEnd=_;c=[];u=[]},polygonEnd:function(){h.point=d;h.lineStart=v;h.lineEnd=m;c=merge$1(c);var t=polygonContains(u,r);if(c.length){if(!l)i.polygonStart(),l=true;clipRejoin(c,compareIntersection,t,n,i)}else if(t){if(!l)i.polygonStart(),l=true;i.lineStart();n(null,null,1,i);i.lineEnd()}if(l)i.polygonEnd(),l=false;c=u=null},sphere:function(){i.polygonStart();i.lineStart();n(null,null,1,i);i.lineEnd();i.polygonEnd()}};function d(e,n){if(t(e,n))i.point(e,n)}function p(t,e){a.point(t,e)}function v(){h.point=p;a.lineStart()}function m(){h.point=d;a.lineEnd()}function g(t,e){f.push([t,e]);s.point(t,e)}function y(){s.lineStart();f=[]}function _(){g(f[0][0],f[0][1]);s.lineEnd();var t=s.clean(),e=o.result(),n,r=e.length,a,h,d;f.pop();u.push(f);f=null;if(!r)return;if(t&1){h=e[0];if((a=h.length-1)>0){if(!l)i.polygonStart(),l=true;i.lineStart();for(n=0;n<a;++n)i.point((d=h[n])[0],d[1]);i.lineEnd()}return}if(r>1&&t&2)e.push(e.pop().concat(e.shift()));c.push(e.filter(validSegment))}return h}}function validSegment(t){return t.length>1}function compareIntersection(t,e){return((t=t.x)[0]<0?t[1]-halfPi$1-epsilon$2:halfPi$1-t[1])-((e=e.x)[0]<0?e[1]-halfPi$1-epsilon$2:halfPi$1-e[1])}var clipAntimeridian=clip((function(){return true}),clipAntimeridianLine,clipAntimeridianInterpolate,[-pi$1,-halfPi$1]);function clipAntimeridianLine(t){var e=NaN,n=NaN,r=NaN,i;return{lineStart:function(){t.lineStart();i=1},point:function(a,o){var s=a>0?pi$1:-pi$1,l=abs$1(a-e);if(abs$1(l-pi$1)<epsilon$2){t.point(e,n=(n+o)/2>0?halfPi$1:-halfPi$1);t.point(r,n);t.lineEnd();t.lineStart();t.point(s,n);t.point(a,n);i=0}else if(r!==s&&l>=pi$1){if(abs$1(e-r)<epsilon$2)e-=r*epsilon$2;if(abs$1(a-s)<epsilon$2)a-=s*epsilon$2;n=clipAntimeridianIntersect(e,n,a,o);t.point(r,n);t.lineEnd();t.lineStart();t.point(s,n);i=0}t.point(e=a,n=o);r=s},lineEnd:function(){t.lineEnd();e=n=NaN},clean:function(){return 2-i}}}function clipAntimeridianIntersect(t,e,n,r){var i,a,o=sin$1(t-n);return abs$1(o)>epsilon$2?atan((sin$1(e)*(a=cos$1(r))*sin$1(n)-sin$1(r)*(i=cos$1(e))*sin$1(t))/(i*a*o)):(e+r)/2}function clipAntimeridianInterpolate(t,e,n,r){var i;if(t==null){i=n*halfPi$1;r.point(-pi$1,i);r.point(0,i);r.point(pi$1,i);r.point(pi$1,0);r.point(pi$1,-i);r.point(0,-i);r.point(-pi$1,-i);r.point(-pi$1,0);r.point(-pi$1,i)}else if(abs$1(t[0]-e[0])>epsilon$2){var a=t[0]<e[0]?pi$1:-pi$1;i=n*a/2;r.point(-a,i);r.point(0,i);r.point(a,i)}else{r.point(e[0],e[1])}}function clipCircle(t){var e=cos$1(t),n=6*radians,r=e>0,i=abs$1(e)>epsilon$2;function a(e,r,i,a){circleStream(a,t,n,i,e,r)}function o(t,n){return cos$1(t)*cos$1(n)>e}function s(t){var e,n,a,s,c;return{lineStart:function(){s=a=false;c=1},point:function(f,h){var d=[f,h],p,v=o(f,h),m=r?v?0:u(f,h):v?u(f+(f<0?pi$1:-pi$1),h):0;if(!e&&(s=a=v))t.lineStart();if(v!==a){p=l(e,d);if(!p||pointEqual(e,p)||pointEqual(d,p)){d[0]+=epsilon$2;d[1]+=epsilon$2;v=o(d[0],d[1])}}if(v!==a){c=0;if(v){t.lineStart();p=l(d,e);t.point(p[0],p[1])}else{p=l(e,d);t.point(p[0],p[1]);t.lineEnd()}e=p}else if(i&&e&&r^v){var g;if(!(m&n)&&(g=l(d,e,true))){c=0;if(r){t.lineStart();t.point(g[0][0],g[0][1]);t.point(g[1][0],g[1][1]);t.lineEnd()}else{t.point(g[1][0],g[1][1]);t.lineEnd();t.lineStart();t.point(g[0][0],g[0][1])}}}if(v&&(!e||!pointEqual(e,d))){t.point(d[0],d[1])}e=d,a=v,n=m},lineEnd:function(){if(a)t.lineEnd();e=null},clean:function(){return c|(s&&a)<<1}}}function l(t,n,r){var i=cartesian(t),a=cartesian(n);var o=[1,0,0],s=cartesianCross(i,a),l=cartesianDot(s,s),u=s[0],c=l-u*u;if(!c)return!r&&t;var f=e*l/c,h=-e*u/c,d=cartesianCross(o,s),p=cartesianScale(o,f),v=cartesianScale(s,h);cartesianAddInPlace(p,v);var m=d,g=cartesianDot(p,m),y=cartesianDot(m,m),_=g*g-y*(cartesianDot(p,p)-1);if(_<0)return;var b=sqrt$2(_),x=cartesianScale(m,(-g-b)/y);cartesianAddInPlace(x,p);x=spherical(x);if(!r)return x;var w=t[0],$=n[0],k=t[1],M=n[1],S;if($<w)S=w,w=$,$=S;var z=$-w,E=abs$1(z-pi$1)<epsilon$2,C=E||z<epsilon$2;if(!E&&M<k)S=k,k=M,M=S;if(C?E?k+M>0^x[1]<(abs$1(x[0]-w)<epsilon$2?k:M):k<=x[1]&&x[1]<=M:z>pi$1^(w<=x[0]&&x[0]<=$)){var A=cartesianScale(m,(-g+b)/y);cartesianAddInPlace(A,p);return[x,spherical(A)]}}function u(e,n){var i=r?t:pi$1-t,a=0;if(e<-i)a|=1;else if(e>i)a|=2;if(n<-i)a|=4;else if(n>i)a|=8;return a}return clip(o,s,a,r?[0,-t]:[-pi$1,t-pi$1])}function clipLine(t,e,n,r,i,a){var o=t[0],s=t[1],l=e[0],u=e[1],c=0,f=1,h=l-o,d=u-s,p;p=n-o;if(!h&&p>0)return;p/=h;if(h<0){if(p<c)return;if(p<f)f=p}else if(h>0){if(p>f)return;if(p>c)c=p}p=i-o;if(!h&&p<0)return;p/=h;if(h<0){if(p>f)return;if(p>c)c=p}else if(h>0){if(p<c)return;if(p<f)f=p}p=r-s;if(!d&&p>0)return;p/=d;if(d<0){if(p<c)return;if(p<f)f=p}else if(d>0){if(p>f)return;if(p>c)c=p}p=a-s;if(!d&&p<0)return;p/=d;if(d<0){if(p>f)return;if(p>c)c=p}else if(d>0){if(p<c)return;if(p<f)f=p}if(c>0)t[0]=o+c*h,t[1]=s+c*d;if(f<1)e[0]=o+f*h,e[1]=s+f*d;return true}var clipMax=1e9,clipMin=-clipMax;function clipRectangle(t,e,n,r){function i(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function a(i,a,s,u){var c=0,f=0;if(i==null||(c=o(i,s))!==(f=o(a,s))||l(i,a)<0^s>0){do{u.point(c===0||c===3?t:n,c>1?r:e)}while((c=(c+s+4)%4)!==f)}else{u.point(a[0],a[1])}}function o(r,i){return abs$1(r[0]-t)<epsilon$2?i>0?0:3:abs$1(r[0]-n)<epsilon$2?i>0?2:1:abs$1(r[1]-e)<epsilon$2?i>0?1:0:i>0?3:2}function s(t,e){return l(t.x,e.x)}function l(t,e){var n=o(t,1),r=o(e,1);return n!==r?n-r:n===0?e[1]-t[1]:n===1?t[0]-e[0]:n===2?t[1]-e[1]:e[0]-t[0]}return function(o){var l=o,u=clipBuffer(),c,f,h,d,p,v,m,g,y,_,b;var x={point:w,lineStart:S,lineEnd:z,polygonStart:k,polygonEnd:M};function w(t,e){if(i(t,e))l.point(t,e)}function $(){var e=0;for(var n=0,i=f.length;n<i;++n){for(var a=f[n],o=1,s=a.length,l=a[0],u,c,h=l[0],d=l[1];o<s;++o){u=h,c=d,l=a[o],h=l[0],d=l[1];if(c<=r){if(d>r&&(h-u)*(r-c)>(d-c)*(t-u))++e}else{if(d<=r&&(h-u)*(r-c)<(d-c)*(t-u))--e}}}return e}function k(){l=u,c=[],f=[],b=true}function M(){var t=$(),e=b&&t,n=(c=merge$1(c)).length;if(e||n){o.polygonStart();if(e){o.lineStart();a(null,null,1,o);o.lineEnd()}if(n){clipRejoin(c,s,t,a,o)}o.polygonEnd()}l=o,c=f=h=null}function S(){x.point=E;if(f)f.push(h=[]);_=true;y=false;m=g=NaN}function z(){if(c){E(d,p);if(v&&y)u.rejoin();c.push(u.result())}x.point=w;if(y)l.lineEnd()}function E(a,o){var s=i(a,o);if(f)h.push([a,o]);if(_){d=a,p=o,v=s;_=false;if(s){l.lineStart();l.point(a,o)}}else{if(s&&y)l.point(a,o);else{var u=[m=Math.max(clipMin,Math.min(clipMax,m)),g=Math.max(clipMin,Math.min(clipMax,g))],c=[a=Math.max(clipMin,Math.min(clipMax,a)),o=Math.max(clipMin,Math.min(clipMax,o))];if(clipLine(u,c,t,e,n,r)){if(!y){l.lineStart();l.point(u[0],u[1])}l.point(c[0],c[1]);if(!s)l.lineEnd();b=false}else if(s){l.lineStart();l.point(a,o);b=false}}}m=a,g=o,y=s}return x}}function extent(){var t=0,e=0,n=960,r=500,i,a,o;return o={stream:function(o){return i&&a===o?i:i=clipRectangle(t,e,n,r)(a=o)},extent:function(s){return arguments.length?(t=+s[0][0],e=+s[0][1],n=+s[1][0],r=+s[1][1],i=a=null,o):[[t,e],[n,r]]}}}var lengthSum$1=adder(),lambda0,sinPhi0,cosPhi0;var lengthStream$1={sphere:noop$1,point:noop$1,lineStart:lengthLineStart,lineEnd:noop$1,polygonStart:noop$1,polygonEnd:noop$1};function lengthLineStart(){lengthStream$1.point=lengthPointFirst$1;lengthStream$1.lineEnd=lengthLineEnd}function lengthLineEnd(){lengthStream$1.point=lengthStream$1.lineEnd=noop$1}function lengthPointFirst$1(t,e){t*=radians,e*=radians;lambda0=t,sinPhi0=sin$1(e),cosPhi0=cos$1(e);lengthStream$1.point=lengthPoint$1}function lengthPoint$1(t,e){t*=radians,e*=radians;var n=sin$1(e),r=cos$1(e),i=abs$1(t-lambda0),a=cos$1(i),o=sin$1(i),s=r*o,l=cosPhi0*n-sinPhi0*r*a,u=sinPhi0*n+cosPhi0*r*a;lengthSum$1.add(atan2$1(sqrt$2(s*s+l*l),u));lambda0=t,sinPhi0=n,cosPhi0=r}function length$1(t){lengthSum$1.reset();geoStream(t,lengthStream$1);return+lengthSum$1}var coordinates=[null,null],object$1={type:"LineString",coordinates:coordinates};function distance(t,e){coordinates[0]=t;coordinates[1]=e;return length$1(object$1)}var containsObjectType={Feature:function(t,e){return containsGeometry(t.geometry,e)},FeatureCollection:function(t,e){var n=t.features,r=-1,i=n.length;while(++r<i)if(containsGeometry(n[r].geometry,e))return true;return false}};var containsGeometryType={Sphere:function(){return true},Point:function(t,e){return containsPoint(t.coordinates,e)},MultiPoint:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)if(containsPoint(n[r],e))return true;return false},LineString:function(t,e){return containsLine(t.coordinates,e)},MultiLineString:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)if(containsLine(n[r],e))return true;return false},Polygon:function(t,e){return containsPolygon(t.coordinates,e)},MultiPolygon:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)if(containsPolygon(n[r],e))return true;return false},GeometryCollection:function(t,e){var n=t.geometries,r=-1,i=n.length;while(++r<i)if(containsGeometry(n[r],e))return true;return false}};function containsGeometry(t,e){return t&&containsGeometryType.hasOwnProperty(t.type)?containsGeometryType[t.type](t,e):false}function containsPoint(t,e){return distance(t,e)===0}function containsLine(t,e){var n=distance(t[0],t[1]),r=distance(t[0],e),i=distance(e,t[1]);return r+i<=n+epsilon$2}function containsPolygon(t,e){return!!polygonContains(t.map(ringRadians),pointRadians(e))}function ringRadians(t){return t=t.map(pointRadians),t.pop(),t}function pointRadians(t){return[t[0]*radians,t[1]*radians]}function contains$1(t,e){return(t&&containsObjectType.hasOwnProperty(t.type)?containsObjectType[t.type]:containsGeometry)(t,e)}function graticuleX(t,e,n){var r=sequence(t,e-epsilon$2,n).concat(e);return function(t){return r.map((function(e){return[t,e]}))}}function graticuleY(t,e,n){var r=sequence(t,e-epsilon$2,n).concat(e);return function(t){return r.map((function(e){return[e,t]}))}}function graticule(){var t,e,n,r,i,a,o,s,l=10,u=l,c=90,f=360,h,d,p,v,m=2.5;function g(){return{type:"MultiLineString",coordinates:y()}}function y(){return sequence(ceil(r/c)*c,n,c).map(p).concat(sequence(ceil(s/f)*f,o,f).map(v)).concat(sequence(ceil(e/l)*l,t,l).filter((function(t){return abs$1(t%c)>epsilon$2})).map(h)).concat(sequence(ceil(a/u)*u,i,u).filter((function(t){return abs$1(t%f)>epsilon$2})).map(d))}g.lines=function(){return y().map((function(t){return{type:"LineString",coordinates:t}}))};g.outline=function(){return{type:"Polygon",coordinates:[p(r).concat(v(o).slice(1),p(n).reverse().slice(1),v(s).reverse().slice(1))]}};g.extent=function(t){if(!arguments.length)return g.extentMinor();return g.extentMajor(t).extentMinor(t)};g.extentMajor=function(t){if(!arguments.length)return[[r,s],[n,o]];r=+t[0][0],n=+t[1][0];s=+t[0][1],o=+t[1][1];if(r>n)t=r,r=n,n=t;if(s>o)t=s,s=o,o=t;return g.precision(m)};g.extentMinor=function(n){if(!arguments.length)return[[e,a],[t,i]];e=+n[0][0],t=+n[1][0];a=+n[0][1],i=+n[1][1];if(e>t)n=e,e=t,t=n;if(a>i)n=a,a=i,i=n;return g.precision(m)};g.step=function(t){if(!arguments.length)return g.stepMinor();return g.stepMajor(t).stepMinor(t)};g.stepMajor=function(t){if(!arguments.length)return[c,f];c=+t[0],f=+t[1];return g};g.stepMinor=function(t){if(!arguments.length)return[l,u];l=+t[0],u=+t[1];return g};g.precision=function(l){if(!arguments.length)return m;m=+l;h=graticuleX(a,i,90);d=graticuleY(e,t,m);p=graticuleX(s,o,90);v=graticuleY(r,n,m);return g};return g.extentMajor([[-180,-90+epsilon$2],[180,90-epsilon$2]]).extentMinor([[-180,-80-epsilon$2],[180,80+epsilon$2]])}function graticule10(){return graticule()()}function interpolate(t,e){var n=t[0]*radians,r=t[1]*radians,i=e[0]*radians,a=e[1]*radians,o=cos$1(r),s=sin$1(r),l=cos$1(a),u=sin$1(a),c=o*cos$1(n),f=o*sin$1(n),h=l*cos$1(i),d=l*sin$1(i),p=2*asin$1(sqrt$2(haversin(a-r)+o*l*haversin(i-n))),v=sin$1(p);var m=p?function(t){var e=sin$1(t*=p)/v,n=sin$1(p-t)/v,r=n*c+e*h,i=n*f+e*d,a=n*s+e*u;return[atan2$1(i,r)*degrees,atan2$1(a,sqrt$2(r*r+i*i))*degrees]}:function(){return[n*degrees,r*degrees]};m.distance=p;return m}function identity$5(t){return t}var areaSum=adder(),areaRingSum=adder(),x00$2,y00$2,x0$3,y0$3;var areaStream={point:noop$1,lineStart:noop$1,lineEnd:noop$1,polygonStart:function(){areaStream.lineStart=areaRingStart;areaStream.lineEnd=areaRingEnd},polygonEnd:function(){areaStream.lineStart=areaStream.lineEnd=areaStream.point=noop$1;areaSum.add(abs$1(areaRingSum));areaRingSum.reset()},result:function(){var t=areaSum/2;areaSum.reset();return t}};function areaRingStart(){areaStream.point=areaPointFirst}function areaPointFirst(t,e){areaStream.point=areaPoint;x00$2=x0$3=t,y00$2=y0$3=e}function areaPoint(t,e){areaRingSum.add(y0$3*t-x0$3*e);x0$3=t,y0$3=e}function areaRingEnd(){areaPoint(x00$2,y00$2)}var x0$2=Infinity,y0$2=x0$2,x1=-x0$2,y1=x1;var boundsStream={point:boundsPoint,lineStart:noop$1,lineEnd:noop$1,polygonStart:noop$1,polygonEnd:noop$1,result:function(){var t=[[x0$2,y0$2],[x1,y1]];x1=y1=-(y0$2=x0$2=Infinity);return t}};function boundsPoint(t,e){if(t<x0$2)x0$2=t;if(t>x1)x1=t;if(e<y0$2)y0$2=e;if(e>y1)y1=e}var X0=0,Y0=0,Z0=0,X1=0,Y1=0,Z1=0,X2=0,Y2=0,Z2=0,x00$1,y00$1,x0$1,y0$1;var centroidStream={point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart;centroidStream.lineEnd=centroidRingEnd},polygonEnd:function(){centroidStream.point=centroidPoint;centroidStream.lineStart=centroidLineStart;centroidStream.lineEnd=centroidLineEnd},result:function(){var t=Z2?[X2/Z2,Y2/Z2]:Z1?[X1/Z1,Y1/Z1]:Z0?[X0/Z0,Y0/Z0]:[NaN,NaN];X0=Y0=Z0=X1=Y1=Z1=X2=Y2=Z2=0;return t}};function centroidPoint(t,e){X0+=t;Y0+=e;++Z0}function centroidLineStart(){centroidStream.point=centroidPointFirstLine}function centroidPointFirstLine(t,e){centroidStream.point=centroidPointLine;centroidPoint(x0$1=t,y0$1=e)}function centroidPointLine(t,e){var n=t-x0$1,r=e-y0$1,i=sqrt$2(n*n+r*r);X1+=i*(x0$1+t)/2;Y1+=i*(y0$1+e)/2;Z1+=i;centroidPoint(x0$1=t,y0$1=e)}function centroidLineEnd(){centroidStream.point=centroidPoint}function centroidRingStart(){centroidStream.point=centroidPointFirstRing}function centroidRingEnd(){centroidPointRing(x00$1,y00$1)}function centroidPointFirstRing(t,e){centroidStream.point=centroidPointRing;centroidPoint(x00$1=x0$1=t,y00$1=y0$1=e)}function centroidPointRing(t,e){var n=t-x0$1,r=e-y0$1,i=sqrt$2(n*n+r*r);X1+=i*(x0$1+t)/2;Y1+=i*(y0$1+e)/2;Z1+=i;i=y0$1*t-x0$1*e;X2+=i*(x0$1+t);Y2+=i*(y0$1+e);Z2+=i*3;centroidPoint(x0$1=t,y0$1=e)}function PathContext(t){this._context=t}PathContext.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(){if(this._line===0)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,tau$1);break}}},result:noop$1};var lengthSum=adder(),lengthRing,x00,y00,x0,y0;var lengthStream={point:noop$1,lineStart:function(){lengthStream.point=lengthPointFirst},lineEnd:function(){if(lengthRing)lengthPoint(x00,y00);lengthStream.point=noop$1},polygonStart:function(){lengthRing=true},polygonEnd:function(){lengthRing=null},result:function(){var t=+lengthSum;lengthSum.reset();return t}};function lengthPointFirst(t,e){lengthStream.point=lengthPoint;x00=x0=t,y00=y0=e}function lengthPoint(t,e){x0-=t,y0-=e;lengthSum.add(sqrt$2(x0*x0+y0*y0));x0=t,y0=e}function PathString(){this._string=[]}PathString.prototype={_radius:4.5,_circle:circle$1(4.5),pointRadius:function(t){if((t=+t)!==this._radius)this._radius=t,this._circle=null;return this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)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:{if(this._circle==null)this._circle=circle$1(this._radius);this._string.push("M",t,",",e,this._circle);break}}},result:function(){if(this._string.length){var t=this._string.join("");this._string=[];return t}else{return null}}};function circle$1(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function index$2(t,e){var n=4.5,r,i;function a(t){if(t){if(typeof n==="function")i.pointRadius(+n.apply(this,arguments));geoStream(t,r(i))}return i.result()}a.area=function(t){geoStream(t,r(areaStream));return areaStream.result()};a.measure=function(t){geoStream(t,r(lengthStream));return lengthStream.result()};a.bounds=function(t){geoStream(t,r(boundsStream));return boundsStream.result()};a.centroid=function(t){geoStream(t,r(centroidStream));return centroidStream.result()};a.projection=function(e){return arguments.length?(r=e==null?(t=null,identity$5):(t=e).stream,a):t};a.context=function(t){if(!arguments.length)return e;i=t==null?(e=null,new PathString):new PathContext(e=t);if(typeof n!=="function")i.pointRadius(n);return a};a.pointRadius=function(t){if(!arguments.length)return n;n=typeof t==="function"?t:(i.pointRadius(+t),+t);return a};return a.projection(t).context(e)}function transform$2(t){return{stream:transformer(t)}}function transformer(t){return function(e){var n=new TransformStream;for(var r in t)n[r]=t[r];n.stream=e;return n}}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,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()}};function fit(t,e,n){var r=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]);if(r!=null)t.clipExtent(null);geoStream(n,t.stream(boundsStream));e(boundsStream.result());if(r!=null)t.clipExtent(r);return t}function fitExtent(t,e,n){return fit(t,(function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+e[0][0]+(r-a*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(i-a*(n[1][1]+n[0][1]))/2;t.scale(150*a).translate([o,s])}),n)}function fitSize(t,e,n){return fitExtent(t,[[0,0],e],n)}function fitWidth(t,e,n){return fit(t,(function(n){var r=+e,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];t.scale(150*i).translate([a,o])}),n)}function fitHeight(t,e,n){return fit(t,(function(n){var r=+e,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([a,o])}),n)}var maxDepth=16,cosMinDistance=cos$1(30*radians);function resample(t,e){return+e?resample$1(t,e):resampleNone(t)}function resampleNone(t){return transformer({point:function(e,n){e=t(e,n);this.stream.point(e[0],e[1])}})}function resample$1(t,e){function n(r,i,a,o,s,l,u,c,f,h,d,p,v,m){var g=u-r,y=c-i,_=g*g+y*y;if(_>4*e&&v--){var b=o+h,x=s+d,w=l+p,$=sqrt$2(b*b+x*x+w*w),k=asin$1(w/=$),M=abs$1(abs$1(w)-1)<epsilon$2||abs$1(a-f)<epsilon$2?(a+f)/2:atan2$1(x,b),S=t(M,k),z=S[0],E=S[1],C=z-r,A=E-i,R=y*C-g*A;if(R*R/_>e||abs$1((g*C+y*A)/_-.5)>.3||o*h+s*d+l*p<cosMinDistance){n(r,i,a,o,s,l,z,E,M,b/=$,x/=$,w,v,m);m.point(z,E);n(z,E,M,b,x,w,u,c,f,h,d,p,v,m)}}}return function(e){var r,i,a,o,s,l,u,c,f,h,d,p;var v={point:m,lineStart:g,lineEnd:_,polygonStart:function(){e.polygonStart();v.lineStart=b},polygonEnd:function(){e.polygonEnd();v.lineStart=g}};function m(n,r){n=t(n,r);e.point(n[0],n[1])}function g(){c=NaN;v.point=y;e.lineStart()}function y(r,i){var a=cartesian([r,i]),o=t(r,i);n(c,f,u,h,d,p,c=o[0],f=o[1],u=r,h=a[0],d=a[1],p=a[2],maxDepth,e);e.point(c,f)}function _(){v.point=m;e.lineEnd()}function b(){g();v.point=x;v.lineEnd=w}function x(t,e){y(r=t,e),i=c,a=f,o=h,s=d,l=p;v.point=y}function w(){n(c,f,u,h,d,p,i,a,r,o,s,l,maxDepth,e);v.lineEnd=_;_()}return v}}var transformRadians=transformer({point:function(t,e){this.stream.point(t*radians,e*radians)}});function transformRotate(t){return transformer({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}function projection(t){return projectionMutator((function(){return t}))()}function projectionMutator(t){var e,n=150,r=480,i=250,a,o,s=0,l=0,u=0,c=0,f=0,h,d,p=null,v=clipAntimeridian,m=null,g,y,_,b=identity$5,x=.5,w=resample(z,x),$,k;function M(t){t=d(t[0]*radians,t[1]*radians);return[t[0]*n+a,o-t[1]*n]}function S(t){t=d.invert((t[0]-a)/n,(o-t[1])/n);return t&&[t[0]*degrees,t[1]*degrees]}function z(t,r){return t=e(t,r),[t[0]*n+a,o-t[1]*n]}M.stream=function(t){return $&&k===t?$:$=transformRadians(transformRotate(h)(v(w(b(k=t)))))};M.preclip=function(t){return arguments.length?(v=t,p=undefined,C()):v};M.postclip=function(t){return arguments.length?(b=t,m=g=y=_=null,C()):b};M.clipAngle=function(t){return arguments.length?(v=+t?clipCircle(p=t*radians):(p=null,clipAntimeridian),C()):p*degrees};M.clipExtent=function(t){return arguments.length?(b=t==null?(m=g=y=_=null,identity$5):clipRectangle(m=+t[0][0],g=+t[0][1],y=+t[1][0],_=+t[1][1]),C()):m==null?null:[[m,g],[y,_]]};M.scale=function(t){return arguments.length?(n=+t,E()):n};M.translate=function(t){return arguments.length?(r=+t[0],i=+t[1],E()):[r,i]};M.center=function(t){return arguments.length?(s=t[0]%360*radians,l=t[1]%360*radians,E()):[s*degrees,l*degrees]};M.rotate=function(t){return arguments.length?(u=t[0]%360*radians,c=t[1]%360*radians,f=t.length>2?t[2]%360*radians:0,E()):[u*degrees,c*degrees,f*degrees]};M.precision=function(t){return arguments.length?(w=resample(z,x=t*t),C()):sqrt$2(x)};M.fitExtent=function(t,e){return fitExtent(M,t,e)};M.fitSize=function(t,e){return fitSize(M,t,e)};M.fitWidth=function(t,e){return fitWidth(M,t,e)};M.fitHeight=function(t,e){return fitHeight(M,t,e)};function E(){d=compose(h=rotateRadians(u,c,f),e);var t=e(s,l);a=r-t[0]*n;o=i+t[1]*n;return C()}function C(){$=k=null;return M}return function(){e=t.apply(this,arguments);M.invert=e.invert&&S;return E()}}function conicProjection(t){var e=0,n=pi$1/3,r=projectionMutator(t),i=r(e,n);i.parallels=function(t){return arguments.length?r(e=t[0]*radians,n=t[1]*radians):[e*degrees,n*degrees]};return i}function cylindricalEqualAreaRaw(t){var e=cos$1(t);function n(t,n){return[t*e,sin$1(n)/e]}n.invert=function(t,n){return[t/e,asin$1(n*e)]};return n}function conicEqualAreaRaw(t,e){var n=sin$1(t),r=(n+sin$1(e))/2;if(abs$1(r)<epsilon$2)return cylindricalEqualAreaRaw(t);var i=1+n*(2*r-n),a=sqrt$2(i)/r;function o(t,e){var n=sqrt$2(i-2*r*sin$1(e))/r;return[n*sin$1(t*=r),a-n*cos$1(t)]}o.invert=function(t,e){var n=a-e;return[atan2$1(t,abs$1(n))/r*sign$1(n),asin$1((i-(t*t+n*n)*r*r)/(2*r))]};return o}function conicEqualArea(){return conicProjection(conicEqualAreaRaw).scale(155.424).center([0,33.6442])}function albers(){return conicEqualArea().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function multiplex(t){var e=t.length;return{point:function(n,r){var i=-1;while(++i<e)t[i].point(n,r)},sphere:function(){var n=-1;while(++n<e)t[n].sphere()},lineStart:function(){var n=-1;while(++n<e)t[n].lineStart()},lineEnd:function(){var n=-1;while(++n<e)t[n].lineEnd()},polygonStart:function(){var n=-1;while(++n<e)t[n].polygonStart()},polygonEnd:function(){var n=-1;while(++n<e)t[n].polygonEnd()}}}function albersUsa(){var t,e,n=albers(),r,i=conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a,o=conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,l,u={point:function(t,e){l=[t,e]}};function c(t){var e=t[0],n=t[1];return l=null,(r.point(e,n),l)||(a.point(e,n),l)||(s.point(e,n),l)}c.invert=function(t){var e=n.scale(),r=n.translate(),a=(t[0]-r[0])/e,s=(t[1]-r[1])/e;return(s>=.12&&s<.234&&a>=-.425&&a<-.214?i:s>=.166&&s<.234&&a>=-.214&&a<-.115?o:n).invert(t)};c.stream=function(r){return t&&e===r?t:t=multiplex([n.stream(e=r),i.stream(r),o.stream(r)])};c.precision=function(t){if(!arguments.length)return n.precision();n.precision(t),i.precision(t),o.precision(t);return f()};c.scale=function(t){if(!arguments.length)return n.scale();n.scale(t),i.scale(t*.35),o.scale(t);return c.translate(n.translate())};c.translate=function(t){if(!arguments.length)return n.translate();var e=n.scale(),l=+t[0],c=+t[1];r=n.translate(t).clipExtent([[l-.455*e,c-.238*e],[l+.455*e,c+.238*e]]).stream(u);a=i.translate([l-.307*e,c+.201*e]).clipExtent([[l-.425*e+epsilon$2,c+.12*e+epsilon$2],[l-.214*e-epsilon$2,c+.234*e-epsilon$2]]).stream(u);s=o.translate([l-.205*e,c+.212*e]).clipExtent([[l-.214*e+epsilon$2,c+.166*e+epsilon$2],[l-.115*e-epsilon$2,c+.234*e-epsilon$2]]).stream(u);return f()};c.fitExtent=function(t,e){return fitExtent(c,t,e)};c.fitSize=function(t,e){return fitSize(c,t,e)};c.fitWidth=function(t,e){return fitWidth(c,t,e)};c.fitHeight=function(t,e){return fitHeight(c,t,e)};function f(){t=e=null;return c}return c.scale(1070)}function azimuthalRaw(t){return function(e,n){var r=cos$1(e),i=cos$1(n),a=t(r*i);return[a*i*sin$1(e),a*sin$1(n)]}}function azimuthalInvert(t){return function(e,n){var r=sqrt$2(e*e+n*n),i=t(r),a=sin$1(i),o=cos$1(i);return[atan2$1(e*a,r*o),asin$1(r&&n*a/r)]}}var azimuthalEqualAreaRaw=azimuthalRaw((function(t){return sqrt$2(2/(1+t))}));azimuthalEqualAreaRaw.invert=azimuthalInvert((function(t){return 2*asin$1(t/2)}));function azimuthalEqualArea(){return projection(azimuthalEqualAreaRaw).scale(124.75).clipAngle(180-.001)}var azimuthalEquidistantRaw=azimuthalRaw((function(t){return(t=acos$1(t))&&t/sin$1(t)}));azimuthalEquidistantRaw.invert=azimuthalInvert((function(t){return t}));function azimuthalEquidistant(){return projection(azimuthalEquidistantRaw).scale(79.4188).clipAngle(180-.001)}function mercatorRaw(t,e){return[t,log$1(tan((halfPi$1+e)/2))]}mercatorRaw.invert=function(t,e){return[t,2*atan(exp(e))-halfPi$1]};function mercator(){return mercatorProjection(mercatorRaw).scale(961/tau$1)}function mercatorProjection(t){var e=projection(t),n=e.center,r=e.scale,i=e.translate,a=e.clipExtent,o=null,s,l,u;e.scale=function(t){return arguments.length?(r(t),c()):r()};e.translate=function(t){return arguments.length?(i(t),c()):i()};e.center=function(t){return arguments.length?(n(t),c()):n()};e.clipExtent=function(t){return arguments.length?(t==null?o=s=l=u=null:(o=+t[0][0],s=+t[0][1],l=+t[1][0],u=+t[1][1]),c()):o==null?null:[[o,s],[l,u]]};function c(){var n=pi$1*r(),i=e(rotation(e.rotate()).invert([0,0]));return a(o==null?[[i[0]-n,i[1]-n],[i[0]+n,i[1]+n]]:t===mercatorRaw?[[Math.max(i[0]-n,o),s],[Math.min(i[0]+n,l),u]]:[[o,Math.max(i[1]-n,s)],[l,Math.min(i[1]+n,u)]])}return c()}function tany(t){return tan((halfPi$1+t)/2)}function conicConformalRaw(t,e){var n=cos$1(t),r=t===e?sin$1(t):log$1(n/cos$1(e))/log$1(tany(e)/tany(t)),i=n*pow$1(tany(t),r)/r;if(!r)return mercatorRaw;function a(t,e){if(i>0){if(e<-halfPi$1+epsilon$2)e=-halfPi$1+epsilon$2}else{if(e>halfPi$1-epsilon$2)e=halfPi$1-epsilon$2}var n=i/pow$1(tany(e),r);return[n*sin$1(r*t),i-n*cos$1(r*t)]}a.invert=function(t,e){var n=i-e,a=sign$1(r)*sqrt$2(t*t+n*n);return[atan2$1(t,abs$1(n))/r*sign$1(n),2*atan(pow$1(i/a,1/r))-halfPi$1]};return a}function conicConformal(){return conicProjection(conicConformalRaw).scale(109.5).parallels([30,30])}function equirectangularRaw(t,e){return[t,e]}equirectangularRaw.invert=equirectangularRaw;function equirectangular(){return projection(equirectangularRaw).scale(152.63)}function conicEquidistantRaw(t,e){var n=cos$1(t),r=t===e?sin$1(t):(n-cos$1(e))/(e-t),i=n/r+t;if(abs$1(r)<epsilon$2)return equirectangularRaw;function a(t,e){var n=i-e,a=r*t;return[n*sin$1(a),i-n*cos$1(a)]}a.invert=function(t,e){var n=i-e;return[atan2$1(t,abs$1(n))/r*sign$1(n),i-sign$1(r)*sqrt$2(t*t+n*n)]};return a}function conicEquidistant(){return conicProjection(conicEquidistantRaw).scale(131.154).center([0,13.9389])}function gnomonicRaw(t,e){var n=cos$1(e),r=cos$1(t)*n;return[n*sin$1(t)/r,sin$1(e)/r]}gnomonicRaw.invert=azimuthalInvert(atan);function gnomonic(){return projection(gnomonicRaw).scale(144.049).clipAngle(60)}function scaleTranslate(t,e,n,r){return t===1&&e===1&&n===0&&r===0?identity$5:transformer({point:function(i,a){this.stream.point(i*t+n,a*e+r)}})}function identity$4(){var t=1,e=0,n=0,r=1,i=1,a=identity$5,o=null,s,l,u,c=identity$5,f,h,d;function p(){f=h=null;return d}return d={stream:function(t){return f&&h===t?f:f=a(c(h=t))},postclip:function(t){return arguments.length?(c=t,o=s=l=u=null,p()):c},clipExtent:function(t){return arguments.length?(c=t==null?(o=s=l=u=null,identity$5):clipRectangle(o=+t[0][0],s=+t[0][1],l=+t[1][0],u=+t[1][1]),p()):o==null?null:[[o,s],[l,u]]},scale:function(o){return arguments.length?(a=scaleTranslate((t=+o)*r,t*i,e,n),p()):t},translate:function(o){return arguments.length?(a=scaleTranslate(t*r,t*i,e=+o[0],n=+o[1]),p()):[e,n]},reflectX:function(o){return arguments.length?(a=scaleTranslate(t*(r=o?-1:1),t*i,e,n),p()):r<0},reflectY:function(o){return arguments.length?(a=scaleTranslate(t*r,t*(i=o?-1:1),e,n),p()):i<0},fitExtent:function(t,e){return fitExtent(d,t,e)},fitSize:function(t,e){return fitSize(d,t,e)},fitWidth:function(t,e){return fitWidth(d,t,e)},fitHeight:function(t,e){return fitHeight(d,t,e)}}}function naturalEarth1Raw(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),e*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}naturalEarth1Raw.invert=function(t,e){var n=e,r=25,i;do{var a=n*n,o=a*a;n-=i=(n*(1.007226+a*(.015085+o*(-.044475+.028874*a-.005916*o)))-e)/(1.007226+a*(.015085*3+o*(-.044475*7+.028874*9*a-.005916*11*o)))}while(abs$1(i)>epsilon$2&&--r>0);return[t/(.8707+(a=n*n)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),n]};function naturalEarth1(){return projection(naturalEarth1Raw).scale(175.295)}function orthographicRaw(t,e){return[cos$1(e)*sin$1(t),sin$1(e)]}orthographicRaw.invert=azimuthalInvert(asin$1);function orthographic(){return projection(orthographicRaw).scale(249.5).clipAngle(90+epsilon$2)}function stereographicRaw(t,e){var n=cos$1(e),r=1+cos$1(t)*n;return[n*sin$1(t)/r,sin$1(e)/r]}stereographicRaw.invert=azimuthalInvert((function(t){return 2*atan(t)}));function stereographic(){return projection(stereographicRaw).scale(250).clipAngle(142)}function transverseMercatorRaw(t,e){return[log$1(tan((halfPi$1+e)/2)),-t]}transverseMercatorRaw.invert=function(t,e){return[-e,2*atan(exp(t))-halfPi$1]};function transverseMercator(){var t=mercatorProjection(transverseMercatorRaw),e=t.center,n=t.rotate;t.center=function(t){return arguments.length?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])};t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])};return n([0,0,90]).scale(159.155)}function defaultSeparation$1(t,e){return t.parent===e.parent?1:2}function meanX(t){return t.reduce(meanXReduce,0)/t.length}function meanXReduce(t,e){return t+e.x}function maxY(t){return 1+t.reduce(maxYReduce,0)}function maxYReduce(t,e){return Math.max(t,e.y)}function leafLeft(t){var e;while(e=t.children)t=e[0];return t}function leafRight(t){var e;while(e=t.children)t=e[e.length-1];return t}function cluster(){var t=defaultSeparation$1,e=1,n=1,r=false;function i(i){var a,o=0;i.eachAfter((function(e){var n=e.children;if(n){e.x=meanX(n);e.y=maxY(n)}else{e.x=a?o+=t(e,a):0;e.y=0;a=e}}));var s=leafLeft(i),l=leafRight(i),u=s.x-t(s,l)/2,c=l.x+t(l,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-u)/(c-u)*e;t.y=(1-(i.y?t.y/i.y:1))*n})}i.separation=function(e){return arguments.length?(t=e,i):t};i.size=function(t){return arguments.length?(r=false,e=+t[0],n=+t[1],i):r?null:[e,n]};i.nodeSize=function(t){return arguments.length?(r=true,e=+t[0],n=+t[1],i):r?[e,n]:null};return i}function count(t){var e=0,n=t.children,r=n&&n.length;if(!r)e=1;else while(--r>=0)e+=n[r].value;t.value=e}function node_count(){return this.eachAfter(count)}function node_each(t){var e=this,n,r=[e],i,a,o;do{n=r.reverse(),r=[];while(e=n.pop()){t(e),i=e.children;if(i)for(a=0,o=i.length;a<o;++a){r.push(i[a])}}}while(r.length);return this}function node_eachBefore(t){var e=this,n=[e],r,i;while(e=n.pop()){t(e),r=e.children;if(r)for(i=r.length-1;i>=0;--i){n.push(r[i])}}return this}function node_eachAfter(t){var e=this,n=[e],r=[],i,a,o;while(e=n.pop()){r.push(e),i=e.children;if(i)for(a=0,o=i.length;a<o;++a){n.push(i[a])}}while(e=r.pop()){t(e)}return this}function node_sum(t){return this.eachAfter((function(e){var n=+t(e.data)||0,r=e.children,i=r&&r.length;while(--i>=0)n+=r[i].value;e.value=n}))}function node_sort(t){return this.eachBefore((function(e){if(e.children){e.children.sort(t)}}))}function node_path(t){var e=this,n=leastCommonAncestor(e,t),r=[e];while(e!==n){e=e.parent;r.push(e)}var i=r.length;while(t!==n){r.splice(i,0,t);t=t.parent}return r}function leastCommonAncestor(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;t=n.pop();e=r.pop();while(t===e){i=t;t=n.pop();e=r.pop()}return i}function node_ancestors(){var t=this,e=[t];while(t=t.parent){e.push(t)}return e}function node_descendants(){var t=[];this.each((function(e){t.push(e)}));return t}function node_leaves(){var t=[];this.eachBefore((function(e){if(!e.children){t.push(e)}}));return t}function node_links(){var t=this,e=[];t.each((function(n){if(n!==t){e.push({source:n.parent,target:n})}}));return e}function hierarchy(t,e){var n=new Node$1(t),r=+t.value&&(n.value=t.value),i,a=[n],o,s,l,u;if(e==null)e=defaultChildren;while(i=a.pop()){if(r)i.value=+i.data.value;if((s=e(i.data))&&(u=s.length)){i.children=new Array(u);for(l=u-1;l>=0;--l){a.push(o=i.children[l]=new Node$1(s[l]));o.parent=i;o.depth=i.depth+1}}}return n.eachBefore(computeHeight)}function node_copy(){return hierarchy(this).eachBefore(copyData)}function defaultChildren(t){return t.children}function copyData(t){t.data=t.data.data}function computeHeight(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function Node$1(t){this.data=t;this.depth=this.height=0;this.parent=null}Node$1.prototype=hierarchy.prototype={constructor:Node$1,count:node_count,each:node_each,eachAfter:node_eachAfter,eachBefore:node_eachBefore,sum:node_sum,sort:node_sort,path:node_path,ancestors:node_ancestors,descendants:node_descendants,leaves:node_leaves,links:node_links,copy:node_copy};var slice$3=Array.prototype.slice;function shuffle(t){var e=t.length,n,r;while(e){r=Math.random()*e--|0;n=t[e];t[e]=t[r];t[r]=n}return t}function enclose(t){var e=0,n=(t=shuffle(slice$3.call(t))).length,r=[],i,a;while(e<n){i=t[e];if(a&&enclosesWeak(a,i))++e;else a=encloseBasis(r=extendBasis(r,i)),e=0}return a}function extendBasis(t,e){var n,r;if(enclosesWeakAll(e,t))return[e];for(n=0;n<t.length;++n){if(enclosesNot(e,t[n])&&enclosesWeakAll(encloseBasis2(t[n],e),t)){return[t[n],e]}}for(n=0;n<t.length-1;++n){for(r=n+1;r<t.length;++r){if(enclosesNot(encloseBasis2(t[n],t[r]),e)&&enclosesNot(encloseBasis2(t[n],e),t[r])&&enclosesNot(encloseBasis2(t[r],e),t[n])&&enclosesWeakAll(encloseBasis3(t[n],t[r],e),t)){return[t[n],t[r],e]}}}throw new Error}function enclosesNot(t,e){var n=t.r-e.r,r=e.x-t.x,i=e.y-t.y;return n<0||n*n<r*r+i*i}function enclosesWeak(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 enclosesWeakAll(t,e){for(var n=0;n<e.length;++n){if(!enclosesWeak(t,e[n])){return false}}return true}function encloseBasis(t){switch(t.length){case 1:return encloseBasis1(t[0]);case 2:return encloseBasis2(t[0],t[1]);case 3:return encloseBasis3(t[0],t[1],t[2])}}function encloseBasis1(t){return{x:t.x,y:t.y,r:t.r}}function encloseBasis2(t,e){var n=t.x,r=t.y,i=t.r,a=e.x,o=e.y,s=e.r,l=a-n,u=o-r,c=s-i,f=Math.sqrt(l*l+u*u);return{x:(n+a+l/f*c)/2,y:(r+o+u/f*c)/2,r:(f+i+s)/2}}function encloseBasis3(t,e,n){var r=t.x,i=t.y,a=t.r,o=e.x,s=e.y,l=e.r,u=n.x,c=n.y,f=n.r,h=r-o,d=r-u,p=i-s,v=i-c,m=l-a,g=f-a,y=r*r+i*i-a*a,_=y-o*o-s*s+l*l,b=y-u*u-c*c+f*f,x=d*p-h*v,w=(p*b-v*_)/(x*2)-r,$=(v*m-p*g)/x,k=(d*_-h*b)/(x*2)-i,M=(h*g-d*m)/x,S=$*$+M*M-1,z=2*(a+w*$+k*M),E=w*w+k*k-a*a,C=-(S?(z+Math.sqrt(z*z-4*S*E))/(2*S):E/z);return{x:r+w+$*C,y:i+k+M*C,r:C}}function place(t,e,n){var r=t.x,i=t.y,a=e.r+n.r,o=t.r+n.r,s=e.x-r,l=e.y-i,u=s*s+l*l;if(u){var c=.5+((o*=o)-(a*=a))/(2*u),f=Math.sqrt(Math.max(0,2*a*(o+u)-(o-=u)*o-a*a))/(2*u);n.x=r+c*s+f*l;n.y=i+c*l-f*s}else{n.x=r+o;n.y=i}}function intersects(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r+e.r;return i*i-1e-6>n*n+r*r}function score(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,a=(e.y*n.r+n.y*e.r)/r;return i*i+a*a}function Node(t){this._=t;this.next=null;this.previous=null}function packEnclose(t){if(!(i=t.length))return 0;var e,n,r,i,a,o,s,l,u,c,f;e=t[0],e.x=0,e.y=0;if(!(i>1))return e.r;n=t[1],e.x=-n.r,n.x=e.r,n.y=0;if(!(i>2))return e.r+n.r;place(n,e,r=t[2]);e=new Node(e),n=new Node(n),r=new Node(r);e.next=r.previous=n;n.next=e.previous=r;r.next=n.previous=e;t:for(s=3;s<i;++s){place(e._,n._,r=t[s]),r=new Node(r);l=n.next,u=e.previous,c=n._.r,f=e._.r;do{if(c<=f){if(intersects(l._,r._)){n=l,e.next=n,n.previous=e,--s;continue t}c+=l._.r,l=l.next}else{if(intersects(u._,r._)){e=u,e.next=n,n.previous=e,--s;continue t}f+=u._.r,u=u.previous}}while(l!==u.next);r.previous=e,r.next=n,e.next=n.previous=n=r;a=score(e);while((r=r.next)!==n){if((o=score(r))<a){e=r,a=o}}n=e.next}e=[n._],r=n;while((r=r.next)!==n)e.push(r._);r=enclose(e);for(s=0;s<i;++s)e=t[s],e.x-=r.x,e.y-=r.y;return r.r}function siblings(t){packEnclose(t);return t}function optional(t){return t==null?null:required(t)}function required(t){if(typeof t!=="function")throw new Error;return t}function constantZero(){return 0}function constant$4(t){return function(){return t}}function defaultRadius(t){return Math.sqrt(t.value)}function index$1(){var t=null,e=1,n=1,r=constantZero;function i(i){i.x=e/2,i.y=n/2;if(t){i.eachBefore(radiusLeaf(t)).eachAfter(packChildren(r,.5)).eachBefore(translateChild(1))}else{i.eachBefore(radiusLeaf(defaultRadius)).eachAfter(packChildren(constantZero,1)).eachAfter(packChildren(r,i.r/Math.min(e,n))).eachBefore(translateChild(Math.min(e,n)/(2*i.r)))}return i}i.radius=function(e){return arguments.length?(t=optional(e),i):t};i.size=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]};i.padding=function(t){return arguments.length?(r=typeof t==="function"?t:constant$4(+t),i):r};return i}function radiusLeaf(t){return function(e){if(!e.children){e.r=Math.max(0,+t(e)||0)}}}function packChildren(t,e){return function(n){if(r=n.children){var r,i,a=r.length,o=t(n)*e||0,s;if(o)for(i=0;i<a;++i)r[i].r+=o;s=packEnclose(r);if(o)for(i=0;i<a;++i)r[i].r-=o;n.r=s+o}}}function translateChild(t){return function(e){var n=e.parent;e.r*=t;if(n){e.x=n.x+t*e.x;e.y=n.y+t*e.y}}}function roundNode(t){t.x0=Math.round(t.x0);t.y0=Math.round(t.y0);t.x1=Math.round(t.x1);t.y1=Math.round(t.y1)}function treemapDice(t,e,n,r,i){var a=t.children,o,s=-1,l=a.length,u=t.value&&(r-e)/t.value;while(++s<l){o=a[s],o.y0=n,o.y1=i;o.x0=e,o.x1=e+=o.value*u}}function partition(){var t=1,e=1,n=0,r=false;function i(i){var o=i.height+1;i.x0=i.y0=n;i.x1=t;i.y1=e/o;i.eachBefore(a(e,o));if(r)i.eachBefore(roundNode);return i}function a(t,e){return function(r){if(r.children){treemapDice(r,r.x0,t*(r.depth+1)/e,r.x1,t*(r.depth+2)/e)}var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;if(o<i)i=o=(i+o)/2;if(s<a)a=s=(a+s)/2;r.x0=i;r.y0=a;r.x1=o;r.y1=s}}i.round=function(t){return arguments.length?(r=!!t,i):r};i.size=function(n){return arguments.length?(t=+n[0],e=+n[1],i):[t,e]};i.padding=function(t){return arguments.length?(n=+t,i):n};return i}var keyPrefix="$",preroot={depth:-1},ambiguous={};function defaultId(t){return t.id}function defaultParentId(t){return t.parentId}function stratify(){var t=defaultId,e=defaultParentId;function n(n){var r,i,a=n.length,o,s,l,u=new Array(a),c,f,h={};for(i=0;i<a;++i){r=n[i],l=u[i]=new Node$1(r);if((c=t(r,i,n))!=null&&(c+="")){f=keyPrefix+(l.id=c);h[f]=f in h?ambiguous:l}}for(i=0;i<a;++i){l=u[i],c=e(n[i],i,n);if(c==null||!(c+="")){if(o)throw new Error("multiple roots");o=l}else{s=h[keyPrefix+c];if(!s)throw new Error("missing: "+c);if(s===ambiguous)throw new Error("ambiguous: "+c);if(s.children)s.children.push(l);else s.children=[l];l.parent=s}}if(!o)throw new Error("no root");o.parent=preroot;o.eachBefore((function(t){t.depth=t.parent.depth+1;--a})).eachBefore(computeHeight);o.parent=null;if(a>0)throw new Error("cycle");return o}n.id=function(e){return arguments.length?(t=required(e),n):t};n.parentId=function(t){return arguments.length?(e=required(t),n):e};return n}function defaultSeparation(t,e){return t.parent===e.parent?1:2}function nextLeft(t){var e=t.children;return e?e[0]:t.t}function nextRight(t){var e=t.children;return e?e[e.length-1]:t.t}function moveSubtree(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 executeShifts(t){var e=0,n=0,r=t.children,i=r.length,a;while(--i>=0){a=r[i];a.z+=e;a.m+=e;e+=a.s+(n+=a.c)}}function nextAncestor(t,e,n){return t.a.parent===e.parent?t.a:n}function TreeNode(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}TreeNode.prototype=Object.create(Node$1.prototype);function treeRoot(t){var e=new TreeNode(t,0),n,r=[e],i,a,o,s;while(n=r.pop()){if(a=n._.children){n.children=new Array(s=a.length);for(o=s-1;o>=0;--o){r.push(i=n.children[o]=new TreeNode(a[o],o));i.parent=n}}}(e.parent=new TreeNode(null,0)).children=[e];return e}function tree(){var t=defaultSeparation,e=1,n=1,r=null;function i(i){var s=treeRoot(i);s.eachAfter(a),s.parent.m=-s.z;s.eachBefore(o);if(r)i.eachBefore(l);else{var u=i,c=i,f=i;i.eachBefore((function(t){if(t.x<u.x)u=t;if(t.x>c.x)c=t;if(t.depth>f.depth)f=t}));var h=u===c?1:t(u,c)/2,d=h-u.x,p=e/(c.x+h+d),v=n/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p;t.y=t.depth*v}))}return i}function a(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){executeShifts(e);var a=(n[0].z+n[n.length-1].z)/2;if(i){e.z=i.z+t(e._,i._);e.m=e.z-a}else{e.z=a}}else if(i){e.z=i.z+t(e._,i._)}e.parent.A=s(e,i,e.parent.A||r[0])}function o(t){t._.x=t.z+t.parent.m;t.m+=t.parent.m}function s(e,n,r){if(n){var i=e,a=e,o=n,s=i.parent.children[0],l=i.m,u=a.m,c=o.m,f=s.m,h;while(o=nextRight(o),i=nextLeft(i),o&&i){s=nextLeft(s);a=nextRight(a);a.a=e;h=o.z+c-i.z-l+t(o._,i._);if(h>0){moveSubtree(nextAncestor(o,e,r),e,h);l+=h;u+=h}c+=o.m;l+=i.m;f+=s.m;u+=a.m}if(o&&!nextRight(a)){a.t=o;a.m+=c-u}if(i&&!nextLeft(s)){s.t=i;s.m+=l-f;r=e}}return r}function l(t){t.x*=e;t.y=t.depth*n}i.separation=function(e){return arguments.length?(t=e,i):t};i.size=function(t){return arguments.length?(r=false,e=+t[0],n=+t[1],i):r?null:[e,n]};i.nodeSize=function(t){return arguments.length?(r=true,e=+t[0],n=+t[1],i):r?[e,n]:null};return i}function treemapSlice(t,e,n,r,i){var a=t.children,o,s=-1,l=a.length,u=t.value&&(i-n)/t.value;while(++s<l){o=a[s],o.x0=e,o.x1=r;o.y0=n,o.y1=n+=o.value*u}}var phi=(1+Math.sqrt(5))/2;function squarifyRatio(t,e,n,r,i,a){var o=[],s=e.children,l,u,c=0,f=0,h=s.length,d,p,v=e.value,m,g,y,_,b,x,w;while(c<h){d=i-n,p=a-r;do{m=s[f++].value}while(!m&&f<h);g=y=m;x=Math.max(p/d,d/p)/(v*t);w=m*m*x;b=Math.max(y/w,w/g);for(;f<h;++f){m+=u=s[f].value;if(u<g)g=u;if(u>y)y=u;w=m*m*x;_=Math.max(y/w,w/g);if(_>b){m-=u;break}b=_}o.push(l={value:m,dice:d<p,children:s.slice(c,f)});if(l.dice)treemapDice(l,n,r,i,v?r+=p*m/v:a);else treemapSlice(l,n,r,v?n+=d*m/v:i,a);v-=m,c=f}return o}var squarify=function t(e){function n(t,n,r,i,a){squarifyRatio(e,t,n,r,i,a)}n.ratio=function(e){return t((e=+e)>1?e:1)};return n}(phi);function index(){var t=squarify,e=false,n=1,r=1,i=[0],a=constantZero,o=constantZero,s=constantZero,l=constantZero,u=constantZero;function c(t){t.x0=t.y0=0;t.x1=n;t.y1=r;t.eachBefore(f);i=[0];if(e)t.eachBefore(roundNode);return t}function f(e){var n=i[e.depth],r=e.x0+n,c=e.y0+n,f=e.x1-n,h=e.y1-n;if(f<r)r=f=(r+f)/2;if(h<c)c=h=(c+h)/2;e.x0=r;e.y0=c;e.x1=f;e.y1=h;if(e.children){n=i[e.depth+1]=a(e)/2;r+=u(e)-n;c+=o(e)-n;f-=s(e)-n;h-=l(e)-n;if(f<r)r=f=(r+f)/2;if(h<c)c=h=(c+h)/2;t(e,r,c,f,h)}}c.round=function(t){return arguments.length?(e=!!t,c):e};c.size=function(t){return arguments.length?(n=+t[0],r=+t[1],c):[n,r]};c.tile=function(e){return arguments.length?(t=required(e),c):t};c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()};c.paddingInner=function(t){return arguments.length?(a=typeof t==="function"?t:constant$4(+t),c):a};c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()};c.paddingTop=function(t){return arguments.length?(o=typeof t==="function"?t:constant$4(+t),c):o};c.paddingRight=function(t){return arguments.length?(s=typeof t==="function"?t:constant$4(+t),c):s};c.paddingBottom=function(t){return arguments.length?(l=typeof t==="function"?t:constant$4(+t),c):l};c.paddingLeft=function(t){return arguments.length?(u=typeof t==="function"?t:constant$4(+t),c):u};return c}function binary(t,e,n,r,i){var a=t.children,o,s=a.length,l,u=new Array(s+1);for(u[0]=l=o=0;o<s;++o){u[o+1]=l+=a[o].value}c(0,s,t.value,e,n,r,i);function c(t,e,n,r,i,o,s){if(t>=e-1){var l=a[t];l.x0=r,l.y0=i;l.x1=o,l.y1=s;return}var f=u[t],h=n/2+f,d=t+1,p=e-1;while(d<p){var v=d+p>>>1;if(u[v]<h)d=v+1;else p=v}if(h-u[d-1]<u[d]-h&&t+1<d)--d;var m=u[d]-f,g=n-m;if(o-r>s-i){var y=(r*g+o*m)/n;c(t,d,m,r,i,y,s);c(d,e,g,y,i,o,s)}else{var _=(i*g+s*m)/n;c(t,d,m,r,i,o,_);c(d,e,g,r,_,o,s)}}}function sliceDice(t,e,n,r,i){(t.depth&1?treemapSlice:treemapDice)(t,e,n,r,i)}var resquarify=function t(e){function n(t,n,r,i,a){if((o=t._squarify)&&o.ratio===e){var o,s,l,u,c=-1,f,h=o.length,d=t.value;while(++c<h){s=o[c],l=s.children;for(u=s.value=0,f=l.length;u<f;++u)s.value+=l[u].value;if(s.dice)treemapDice(s,n,r,i,r+=(a-r)*s.value/d);else treemapSlice(s,n,r,n+=(i-n)*s.value/d,a);d-=s.value}}else{t._squarify=o=squarifyRatio(e,t,n,r,i,a);o.ratio=e}}n.ratio=function(e){return t((e=+e)>1?e:1)};return n}(phi);function area$1(t){var e=-1,n=t.length,r,i=t[n-1],a=0;while(++e<n){r=i;i=t[e];a+=r[1]*i[0]-r[0]*i[1]}return a/2}function centroid(t){var e=-1,n=t.length,r=0,i=0,a,o=t[n-1],s,l=0;while(++e<n){a=o;o=t[e];l+=s=a[0]*o[1]-o[0]*a[1];r+=(a[0]+o[0])*s;i+=(a[1]+o[1])*s}return l*=3,[r/l,i/l]}function cross$1(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function lexicographicOrder(t,e){return t[0]-e[0]||t[1]-e[1]}function computeUpperHullIndexes(t){var e=t.length,n=[0,1],r=2;for(var i=2;i<e;++i){while(r>1&&cross$1(t[n[r-2]],t[n[r-1]],t[i])<=0)--r;n[r++]=i}return n.slice(0,r)}function hull(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e<n;++e)r[e]=[+t[e][0],+t[e][1],e];r.sort(lexicographicOrder);for(e=0;e<n;++e)i[e]=[r[e][0],-r[e][1]];var a=computeUpperHullIndexes(r),o=computeUpperHullIndexes(i);var s=o[0]===a[0],l=o[o.length-1]===a[a.length-1],u=[];for(e=a.length-1;e>=0;--e)u.push(t[r[a[e]][2]]);for(e=+s;e<o.length-l;++e)u.push(t[r[o[e]][2]]);return u}function contains(t,e){var n=t.length,r=t[n-1],i=e[0],a=e[1],o=r[0],s=r[1],l,u,c=false;for(var f=0;f<n;++f){r=t[f],l=r[0],u=r[1];if(u>a!==s>a&&i<(o-l)*(a-u)/(s-u)+l)c=!c;o=l,s=u}return c}function length(t){var e=-1,n=t.length,r=t[n-1],i,a,o=r[0],s=r[1],l=0;while(++e<n){i=o;a=s;r=t[e];o=r[0];s=r[1];i-=o;a-=s;l+=Math.sqrt(i*i+a*a)}return l}var slice$2=[].slice;var noabort={};function Queue(t){this._size=t;this._call=this._error=null;this._tasks=[];this._data=[];this._waiting=this._active=this._ended=this._start=0}Queue.prototype=queue.prototype={constructor:Queue,defer:function(t){if(typeof t!=="function")throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(this._error!=null)return this;var e=slice$2.call(arguments,1);e.push(t);++this._waiting,this._tasks.push(e);poke(this);return this},abort:function(){if(this._error==null)abort(this,new Error("abort"));return this},await:function(t){if(typeof t!=="function")throw new Error("invalid callback");if(this._call)throw new Error("multiple await");this._call=function(e,n){t.apply(null,[e].concat(n))};maybeNotify(this);return this},awaitAll:function(t){if(typeof t!=="function")throw new Error("invalid callback");if(this._call)throw new Error("multiple await");this._call=t;maybeNotify(this);return this}};function poke(t){if(!t._start){try{start(t)}catch(e){if(t._tasks[t._ended+t._active-1])abort(t,e);else if(!t._data)throw e}}}function start(t){while(t._start=t._waiting&&t._active<t._size){var e=t._ended+t._active,n=t._tasks[e],r=n.length-1,i=n[r];n[r]=end(t,e);--t._waiting,++t._active;n=i.apply(null,n);if(!t._tasks[e])continue;t._tasks[e]=n||noabort}}function end(t,e){return function(n,r){if(!t._tasks[e])return;--t._active,++t._ended;t._tasks[e]=null;if(t._error!=null)return;if(n!=null){abort(t,n)}else{t._data[e]=r;if(t._waiting)poke(t);else maybeNotify(t)}}}function abort(t,e){var n=t._tasks.length,r;t._error=e;t._data=undefined;t._waiting=NaN;while(--n>=0){if(r=t._tasks[n]){t._tasks[n]=null;if(r.abort){try{r.abort()}catch(e){}}}}t._active=NaN;maybeNotify(t)}function maybeNotify(t){if(!t._active&&t._call){var e=t._data;t._data=undefined;t._call(t._error,e)}}function queue(t){if(t==null)t=Infinity;else if(!((t=+t)>=1))throw new Error("invalid concurrency");return new Queue(t)}function defaultSource(){return Math.random()}var uniform=function t(e){function n(t,n){t=t==null?0:+t;n=n==null?1:+n;if(arguments.length===1)n=t,t=0;else n-=t;return function(){return e()*n+t}}n.source=t;return n}(defaultSource);var normal=function t(e){function n(t,n){var r,i;t=t==null?0:+t;n=n==null?1:+n;return function(){var a;if(r!=null)a=r,r=null;else do{r=e()*2-1;a=e()*2-1;i=r*r+a*a}while(!i||i>1);return t+n*a*Math.sqrt(-2*Math.log(i)/i)}}n.source=t;return n}(defaultSource);var logNormal=function t(e){function n(){var t=normal.source(e).apply(this,arguments);return function(){return Math.exp(t())}}n.source=t;return n}(defaultSource);var irwinHall=function t(e){function n(t){return function(){for(var n=0,r=0;r<t;++r)n+=e();return n}}n.source=t;return n}(defaultSource);var bates=function t(e){function n(t){var n=irwinHall.source(e)(t);return function(){return n()/t}}n.source=t;return n}(defaultSource);var exponential=function t(e){function n(t){return function(){return-Math.log(1-e())/t}}n.source=t;return n}(defaultSource);function request(t,e){var n,r=dispatch("beforesend","progress","load","error"),i,a=map$1(),o=new XMLHttpRequest,s=null,l=null,u,c,f=0;if(typeof XDomainRequest!=="undefined"&&!("withCredentials"in o)&&/^(http(s)?:)?\/\//.test(t))o=new XDomainRequest;"onload"in o?o.onload=o.onerror=o.ontimeout=h:o.onreadystatechange=function(t){o.readyState>3&&h(t)};function h(t){var e=o.status,i;if(!e&&hasResponse(o)||e>=200&&e<300||e===304){if(u){try{i=u.call(n,o)}catch(a){r.call("error",n,a);return}}else{i=o}r.call("load",n,i)}else{r.call("error",n,t)}}o.onprogress=function(t){r.call("progress",n,t)};n={header:function(t,e){t=(t+"").toLowerCase();if(arguments.length<2)return a.get(t);if(e==null)a.remove(t);else a.set(t,e+"");return n},mimeType:function(t){if(!arguments.length)return i;i=t==null?null:t+"";return n},responseType:function(t){if(!arguments.length)return c;c=t;return n},timeout:function(t){if(!arguments.length)return f;f=+t;return n},user:function(t){return arguments.length<1?s:(s=t==null?null:t+"",n)},password:function(t){return arguments.length<1?l:(l=t==null?null:t+"",n)},response:function(t){u=t;return n},get:function(t,e){return n.send("GET",t,e)},post:function(t,e){return n.send("POST",t,e)},send:function(e,u,h){o.open(e,t,true,s,l);if(i!=null&&!a.has("accept"))a.set("accept",i+",*/*");if(o.setRequestHeader)a.each((function(t,e){o.setRequestHeader(e,t)}));if(i!=null&&o.overrideMimeType)o.overrideMimeType(i);if(c!=null)o.responseType=c;if(f>0)o.timeout=f;if(h==null&&typeof u==="function")h=u,u=null;if(h!=null&&h.length===1)h=fixCallback(h);if(h!=null)n.on("error",h).on("load",(function(t){h(null,t)}));r.call("beforesend",n,o);o.send(u==null?null:u);return n},abort:function(){o.abort();return n},on:function(){var t=r.on.apply(r,arguments);return t===r?n:t}};if(e!=null){if(typeof e!=="function")throw new Error("invalid callback: "+e);return n.get(e)}return n}function fixCallback(t){return function(e,n){t(e==null?n:null)}}function hasResponse(t){var e=t.responseType;return e&&e!=="text"?t.response:t.responseText}function type(t,e){return function(n,r){var i=request(n).mimeType(t).response(e);if(r!=null){if(typeof r!=="function")throw new Error("invalid callback: "+r);return i.get(r)}return i}}var html=type("text/html",(function(t){return document.createRange().createContextualFragment(t.responseText)}));var json=type("application/json",(function(t){return JSON.parse(t.responseText)}));var text=type("text/plain",(function(t){return t.responseText}));var xml=type("application/xml",(function(t){var e=t.responseXML;if(!e)throw new Error("parse error");return e}));function dsv(t,e){return function(n,r,i){if(arguments.length<3)i=r,r=null;var a=request(n).mimeType(t);a.row=function(t){return arguments.length?a.response(responseOf(e,r=t)):r};a.row(r);return i?a.get(i):a}}function responseOf(t,e){return function(n){return t(n.responseText,e)}}var csv=dsv("text/csv",csvParse);var tsv=dsv("text/tab-separated-values",tsvParse);var array=Array.prototype;var map=array.map;var slice$1=array.slice;var implicit={name:"implicit"};function ordinal(t){var e=map$1(),n=[],r=implicit;t=t==null?[]:slice$1.call(t);function i(i){var a=i+"",o=e.get(a);if(!o){if(r!==implicit)return r;e.set(a,o=n.push(i))}return t[(o-1)%t.length]}i.domain=function(t){if(!arguments.length)return n.slice();n=[],e=map$1();var r=-1,a=t.length,o,s;while(++r<a)if(!e.has(s=(o=t[r])+""))e.set(s,n.push(o));return i};i.range=function(e){return arguments.length?(t=slice$1.call(e),i):t.slice()};i.unknown=function(t){return arguments.length?(r=t,i):r};i.copy=function(){return ordinal().domain(n).range(t).unknown(r)};return i}function band(){var t=ordinal().unknown(undefined),e=t.domain,n=t.range,r=[0,1],i,a,o=false,s=0,l=0,u=.5;delete t.unknown;function c(){var t=e().length,c=r[1]<r[0],f=r[c-0],h=r[1-c];i=(h-f)/Math.max(1,t-s+l*2);if(o)i=Math.floor(i);f+=(h-f-i*(t-s))*u;a=i*(1-s);if(o)f=Math.round(f),a=Math.round(a);var d=sequence(t).map((function(t){return f+i*t}));return n(c?d.reverse():d)}t.domain=function(t){return arguments.length?(e(t),c()):e()};t.range=function(t){return arguments.length?(r=[+t[0],+t[1]],c()):r.slice()};t.rangeRound=function(t){return r=[+t[0],+t[1]],o=true,c()};t.bandwidth=function(){return a};t.step=function(){return i};t.round=function(t){return arguments.length?(o=!!t,c()):o};t.padding=function(t){return arguments.length?(s=l=Math.max(0,Math.min(1,t)),c()):s};t.paddingInner=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),c()):s};t.paddingOuter=function(t){return arguments.length?(l=Math.max(0,Math.min(1,t)),c()):l};t.align=function(t){return arguments.length?(u=Math.max(0,Math.min(1,t)),c()):u};t.copy=function(){return band().domain(e()).range(r).round(o).paddingInner(s).paddingOuter(l).align(u)};return c()}function pointish(t){var e=t.copy;t.padding=t.paddingOuter;delete t.paddingInner;delete t.paddingOuter;t.copy=function(){return pointish(e())};return t}function point$4(){return pointish(band().paddingInner(1))}function constant$3(t){return function(){return t}}function number$1(t){return+t}var unit=[0,1];function deinterpolateLinear(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:constant$3(e)}function deinterpolateClamp(t){return function(e,n){var r=t(e=+e,n=+n);return function(t){return t<=e?0:t>=n?1:r(t)}}}function reinterpolateClamp(t){return function(e,n){var r=t(e=+e,n=+n);return function(t){return t<=0?e:t>=1?n:r(t)}}}function bimap(t,e,n,r){var i=t[0],a=t[1],o=e[0],s=e[1];if(a<i)i=n(a,i),o=r(s,o);else i=n(i,a),o=r(o,s);return function(t){return o(i(t))}}function polymap(t,e,n,r){var i=Math.min(t.length,e.length)-1,a=new Array(i),o=new Array(i),s=-1;if(t[i]<t[0]){t=t.slice().reverse();e=e.slice().reverse()}while(++s<i){a[s]=n(t[s],t[s+1]);o[s]=r(e[s],e[s+1])}return function(e){var n=bisectRight(t,e,1,i)-1;return o[n](a[n](e))}}function copy(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function continuous(t,e){var n=unit,r=unit,i=interpolateValue,a=false,o,s,l;function u(){o=Math.min(n.length,r.length)>2?polymap:bimap;s=l=null;return c}function c(e){return(s||(s=o(n,r,a?deinterpolateClamp(t):t,i)))(+e)}c.invert=function(t){return(l||(l=o(r,n,deinterpolateLinear,a?reinterpolateClamp(e):e)))(+t)};c.domain=function(t){return arguments.length?(n=map.call(t,number$1),u()):n.slice()};c.range=function(t){return arguments.length?(r=slice$1.call(t),u()):r.slice()};c.rangeRound=function(t){return r=slice$1.call(t),i=interpolateRound,u()};c.clamp=function(t){return arguments.length?(a=!!t,u()):a};c.interpolate=function(t){return arguments.length?(i=t,u()):i};return u()}function tickFormat(t,e,n){var r=t[0],i=t[t.length-1],a=tickStep(r,i,e==null?10:e),o;n=formatSpecifier(n==null?",f":n);switch(n.type){case"s":{var s=Math.max(Math.abs(r),Math.abs(i));if(n.precision==null&&!isNaN(o=precisionPrefix(a,s)))n.precision=o;return formatPrefix(n,s)}case"":case"e":case"g":case"p":case"r":{if(n.precision==null&&!isNaN(o=precisionRound(a,Math.max(Math.abs(r),Math.abs(i)))))n.precision=o-(n.type==="e");break}case"f":case"%":{if(n.precision==null&&!isNaN(o=precisionFixed(a)))n.precision=o-(n.type==="%")*2;break}}return format(n)}function linearish(t){var e=t.domain;t.ticks=function(t){var n=e();return ticks(n[0],n[n.length-1],t==null?10:t)};t.tickFormat=function(t,n){return tickFormat(e(),t,n)};t.nice=function(n){if(n==null)n=10;var r=e(),i=0,a=r.length-1,o=r[i],s=r[a],l;if(s<o){l=o,o=s,s=l;l=i,i=a,a=l}l=tickIncrement(o,s,n);if(l>0){o=Math.floor(o/l)*l;s=Math.ceil(s/l)*l;l=tickIncrement(o,s,n)}else if(l<0){o=Math.ceil(o*l)/l;s=Math.floor(s*l)/l;l=tickIncrement(o,s,n)}if(l>0){r[i]=Math.floor(o/l)*l;r[a]=Math.ceil(s/l)*l;e(r)}else if(l<0){r[i]=Math.ceil(o*l)/l;r[a]=Math.floor(s*l)/l;e(r)}return t};return t}function linear(){var t=continuous(deinterpolateLinear,reinterpolate$1);t.copy=function(){return copy(t,linear())};return linearish(t)}function identity$3(){var t=[0,1];function e(t){return+t}e.invert=e;e.domain=e.range=function(n){return arguments.length?(t=map.call(n,number$1),e):t.slice()};e.copy=function(){return identity$3().domain(t)};return linearish(e)}function nice(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],o;if(a<i){o=n,n=r,r=o;o=i,i=a,a=o}t[n]=e.floor(i);t[r]=e.ceil(a);return t}function deinterpolate(t,e){return(e=Math.log(e/t))?function(n){return Math.log(n/t)/e}:constant$3(e)}function reinterpolate(t,e){return t<0?function(n){return-Math.pow(-e,n)*Math.pow(-t,1-n)}:function(n){return Math.pow(e,n)*Math.pow(t,1-n)}}function pow10(t){return isFinite(t)?+("1e"+t):t<0?0:t}function powp(t){return t===10?pow10:t===Math.E?Math.exp:function(e){return Math.pow(t,e)}}function logp(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),function(e){return Math.log(e)/t})}function reflect(t){return function(e){return-t(-e)}}function log(){var t=continuous(deinterpolate,reinterpolate).domain([1,10]),e=t.domain,n=10,r=logp(10),i=powp(10);function a(){r=logp(n),i=powp(n);if(e()[0]<0)r=reflect(r),i=reflect(i);return t}t.base=function(t){return arguments.length?(n=+t,a()):n};t.domain=function(t){return arguments.length?(e(t),a()):e()};t.ticks=function(t){var a=e(),o=a[0],s=a[a.length-1],l;if(l=s<o)u=o,o=s,s=u;var u=r(o),c=r(s),f,h,d,p=t==null?10:+t,v=[];if(!(n%1)&&c-u<p){u=Math.round(u)-1,c=Math.round(c)+1;if(o>0)for(;u<c;++u){for(h=1,f=i(u);h<n;++h){d=f*h;if(d<o)continue;if(d>s)break;v.push(d)}}else for(;u<c;++u){for(h=n-1,f=i(u);h>=1;--h){d=f*h;if(d<o)continue;if(d>s)break;v.push(d)}}}else{v=ticks(u,c,Math.min(c-u,p)).map(i)}return l?v.reverse():v};t.tickFormat=function(e,a){if(a==null)a=n===10?".0e":",";if(typeof a!=="function")a=format(a);if(e===Infinity)return a;if(e==null)e=10;var o=Math.max(1,n*e/t.ticks().length);return function(t){var e=t/i(Math.round(r(t)));if(e*n<n-.5)e*=n;return e<=o?a(t):""}};t.nice=function(){return e(nice(e(),{floor:function(t){return i(Math.floor(r(t)))},ceil:function(t){return i(Math.ceil(r(t)))}}))};t.copy=function(){return copy(t,log().base(n))};return t}function raise(t,e){return t<0?-Math.pow(-t,e):Math.pow(t,e)}function pow(){var t=1,e=continuous(r,i),n=e.domain;function r(e,n){return(n=raise(n,t)-(e=raise(e,t)))?function(r){return(raise(r,t)-e)/n}:constant$3(n)}function i(e,n){n=raise(n,t)-(e=raise(e,t));return function(r){return raise(e+n*r,1/t)}}e.exponent=function(e){return arguments.length?(t=+e,n(n())):t};e.copy=function(){return copy(e,pow().exponent(t))};return linearish(e)}function sqrt$1(){return pow().exponent(.5)}function quantile(){var t=[],e=[],n=[];function r(){var r=0,a=Math.max(1,e.length);n=new Array(a-1);while(++r<a)n[r-1]=threshold$1(t,r/a);return i}function i(t){if(!isNaN(t=+t))return e[bisectRight(n,t)]}i.invertExtent=function(r){var i=e.indexOf(r);return i<0?[NaN,NaN]:[i>0?n[i-1]:t[0],i<n.length?n[i]:t[t.length-1]]};i.domain=function(e){if(!arguments.length)return t.slice();t=[];for(var n=0,i=e.length,a;n<i;++n)if(a=e[n],a!=null&&!isNaN(a=+a))t.push(a);t.sort(ascending$2);return r()};i.range=function(t){return arguments.length?(e=slice$1.call(t),r()):e.slice()};i.quantiles=function(){return n.slice()};i.copy=function(){return quantile().domain(t).range(e)};return i}function quantize$1(){var t=0,e=1,n=1,r=[.5],i=[0,1];function a(t){if(t<=t)return i[bisectRight(r,t,0,n)]}function o(){var i=-1;r=new Array(n);while(++i<n)r[i]=((i+1)*e-(i-n)*t)/(n+1);return a}a.domain=function(n){return arguments.length?(t=+n[0],e=+n[1],o()):[t,e]};a.range=function(t){return arguments.length?(n=(i=slice$1.call(t)).length-1,o()):i.slice()};a.invertExtent=function(a){var o=i.indexOf(a);return o<0?[NaN,NaN]:o<1?[t,r[0]]:o>=n?[r[n-1],e]:[r[o-1],r[o]]};a.copy=function(){return quantize$1().domain([t,e]).range(i)};return linearish(a)}function threshold(){var t=[.5],e=[0,1],n=1;function r(r){if(r<=r)return e[bisectRight(t,r,0,n)]}r.domain=function(i){return arguments.length?(t=slice$1.call(i),n=Math.min(t.length,e.length-1),r):t.slice()};r.range=function(i){return arguments.length?(e=slice$1.call(i),n=Math.min(t.length,e.length-1),r):e.slice()};r.invertExtent=function(n){var r=e.indexOf(n);return[t[r-1],t[r]]};r.copy=function(){return threshold().domain(t).range(e)};return r}var t0=new Date,t1=new Date;function newInterval(t,e,n,r){function i(e){return t(e=new Date(+e)),e}i.floor=i;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-e<n-t?e:n};i.offset=function(t,n){return e(t=new Date(+t),n==null?1:Math.floor(n)),t};i.range=function(n,r,a){var o=[],s;n=i.ceil(n);a=a==null?1:Math.floor(a);if(!(n<r)||!(a>0))return o;do{o.push(s=new Date(+n)),e(n,a),t(n)}while(s<n&&n<r);return o};i.filter=function(n){return newInterval((function(e){if(e>=e)while(t(e),!n(e))e.setTime(e-1)}),(function(t,r){if(t>=t){if(r<0)while(++r<=0){while(e(t,-1),!n(t)){}}else while(--r>=0){while(e(t,+1),!n(t)){}}}}))};if(n){i.count=function(e,r){t0.setTime(+e),t1.setTime(+r);t(t0),t(t1);return Math.floor(n(t0,t1))};i.every=function(t){t=Math.floor(t);return!isFinite(t)||!(t>0)?null:!(t>1)?i:i.filter(r?function(e){return r(e)%t===0}:function(e){return i.count(0,e)%t===0})}}return i}var millisecond=newInterval((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));millisecond.every=function(t){t=Math.floor(t);if(!isFinite(t)||!(t>0))return null;if(!(t>1))return millisecond;return newInterval((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t}))};var milliseconds=millisecond.range;var durationSecond$1=1e3;var durationMinute$1=6e4;var durationHour$1=36e5;var durationDay$1=864e5;var durationWeek$1=6048e5;var second=newInterval((function(t){t.setTime(Math.floor(t/durationSecond$1)*durationSecond$1)}),(function(t,e){t.setTime(+t+e*durationSecond$1)}),(function(t,e){return(e-t)/durationSecond$1}),(function(t){return t.getUTCSeconds()}));var seconds=second.range;var minute=newInterval((function(t){t.setTime(Math.floor(t/durationMinute$1)*durationMinute$1)}),(function(t,e){t.setTime(+t+e*durationMinute$1)}),(function(t,e){return(e-t)/durationMinute$1}),(function(t){return t.getMinutes()}));var minutes=minute.range;var hour=newInterval((function(t){var e=t.getTimezoneOffset()*durationMinute$1%durationHour$1;if(e<0)e+=durationHour$1;t.setTime(Math.floor((+t-e)/durationHour$1)*durationHour$1+e)}),(function(t,e){t.setTime(+t+e*durationHour$1)}),(function(t,e){return(e-t)/durationHour$1}),(function(t){return t.getHours()}));var hours=hour.range;var day=newInterval((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())*durationMinute$1)/durationDay$1}),(function(t){return t.getDate()-1}));var days=day.range;function weekday(t){return newInterval((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7);e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e*7)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*durationMinute$1)/durationWeek$1}))}var sunday=weekday(0);var monday=weekday(1);var tuesday=weekday(2);var wednesday=weekday(3);var thursday=weekday(4);var friday=weekday(5);var saturday=weekday(6);var sundays=sunday.range;var mondays=monday.range;var tuesdays=tuesday.range;var wednesdays=wednesday.range;var thursdays=thursday.range;var fridays=friday.range;var saturdays=saturday.range;var month=newInterval((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()+(e.getFullYear()-t.getFullYear())*12}),(function(t){return t.getMonth()}));var months=month.range;var year=newInterval((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()}));year.every=function(t){return!isFinite(t=Math.floor(t))||!(t>0)?null:newInterval((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)}))};var years=year.range;var utcMinute=newInterval((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*durationMinute$1)}),(function(t,e){return(e-t)/durationMinute$1}),(function(t){return t.getUTCMinutes()}));var utcMinutes=utcMinute.range;var utcHour=newInterval((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*durationHour$1)}),(function(t,e){return(e-t)/durationHour$1}),(function(t){return t.getUTCHours()}));var utcHours=utcHour.range;var utcDay=newInterval((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/durationDay$1}),(function(t){return t.getUTCDate()-1}));var utcDays=utcDay.range;function utcWeekday(t){return newInterval((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7);e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e*7)}),(function(t,e){return(e-t)/durationWeek$1}))}var utcSunday=utcWeekday(0);var utcMonday=utcWeekday(1);var utcTuesday=utcWeekday(2);var utcWednesday=utcWeekday(3);var utcThursday=utcWeekday(4);var utcFriday=utcWeekday(5);var utcSaturday=utcWeekday(6);var utcSundays=utcSunday.range;var utcMondays=utcMonday.range;var utcTuesdays=utcTuesday.range;var utcWednesdays=utcWednesday.range;var utcThursdays=utcThursday.range;var utcFridays=utcFriday.range;var utcSaturdays=utcSaturday.range;var utcMonth=newInterval((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()+(e.getUTCFullYear()-t.getUTCFullYear())*12}),(function(t){return t.getUTCMonth()}));var utcMonths=utcMonth.range;var utcYear=newInterval((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()}));utcYear.every=function(t){return!isFinite(t=Math.floor(t))||!(t>0)?null:newInterval((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)}))};var utcYears=utcYear.range;function localDate(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);e.setFullYear(t.y);return e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function utcDate(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));e.setUTCFullYear(t.y);return e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function newYear(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function formatLocale(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,s=t.months,l=t.shortMonths;var u=formatRe(i),c=formatLookup(i),f=formatRe(a),h=formatLookup(a),d=formatRe(o),p=formatLookup(o),v=formatRe(s),m=formatLookup(s),g=formatRe(l),y=formatLookup(l);var _={a:N,A:P,b:L,B:F,c:null,d:formatDayOfMonth,e:formatDayOfMonth,f:formatMicroseconds,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:D,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatSeconds,u:formatWeekdayNumberMonday,U:formatWeekNumberSunday,V:formatWeekNumberISO,w:formatWeekdayNumberSunday,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent};var b={a:I,A:O,b:B,B:q,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,f:formatUTCMicroseconds,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:H,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatUTCSeconds,u:formatUTCWeekdayNumberMonday,U:formatUTCWeekNumberSunday,V:formatUTCWeekNumberISO,w:formatUTCWeekdayNumberSunday,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent};var x={a:S,A:z,b:E,B:C,c:A,d:parseDayOfMonth,e:parseDayOfMonth,f:parseMicroseconds,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:M,Q:parseUnixTimestamp,s:parseUnixTimestampSeconds,S:parseSeconds,u:parseWeekdayNumberMonday,U:parseWeekNumberSunday,V:parseWeekNumberISO,w:parseWeekdayNumberSunday,W:parseWeekNumberMonday,x:R,X:T,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};_.x=w(n,_);_.X=w(r,_);_.c=w(e,_);b.x=w(n,b);b.X=w(r,b);b.c=w(e,b);function w(t,e){return function(n){var r=[],i=-1,a=0,o=t.length,s,l,u;if(!(n instanceof Date))n=new Date(+n);while(++i<o){if(t.charCodeAt(i)===37){r.push(t.slice(a,i));if((l=pads[s=t.charAt(++i)])!=null)s=t.charAt(++i);else l=s==="e"?" ":"0";if(u=e[s])s=u(n,l);r.push(s);a=i+1}}r.push(t.slice(a,i));return r.join("")}}function $(t,e){return function(n){var r=newYear(1900),i=k(r,t,n+="",0),a,o;if(i!=n.length)return null;if("Q"in r)return new Date(r.Q);if("p"in r)r.H=r.H%12+r.p*12;if("V"in r){if(r.V<1||r.V>53)return null;if(!("w"in r))r.w=1;if("Z"in r){a=utcDate(newYear(r.y)),o=a.getUTCDay();a=o>4||o===0?utcMonday.ceil(a):utcMonday(a);a=utcDay.offset(a,(r.V-1)*7);r.y=a.getUTCFullYear();r.m=a.getUTCMonth();r.d=a.getUTCDate()+(r.w+6)%7}else{a=e(newYear(r.y)),o=a.getDay();a=o>4||o===0?monday.ceil(a):monday(a);a=day.offset(a,(r.V-1)*7);r.y=a.getFullYear();r.m=a.getMonth();r.d=a.getDate()+(r.w+6)%7}}else if("W"in r||"U"in r){if(!("w"in r))r.w="u"in r?r.u%7:"W"in r?1:0;o="Z"in r?utcDate(newYear(r.y)).getUTCDay():e(newYear(r.y)).getDay();r.m=0;r.d="W"in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7}if("Z"in r){r.H+=r.Z/100|0;r.M+=r.Z%100;return utcDate(r)}return e(r)}}function k(t,e,n,r){var i=0,a=e.length,o=n.length,s,l;while(i<a){if(r>=o)return-1;s=e.charCodeAt(i++);if(s===37){s=e.charAt(i++);l=x[s in pads?e.charAt(i++):s];if(!l||(r=l(t,n,r))<0)return-1}else if(s!=n.charCodeAt(r++)){return-1}}return r}function M(t,e,n){var r=u.exec(e.slice(n));return r?(t.p=c[r[0].toLowerCase()],n+r[0].length):-1}function S(t,e,n){var r=d.exec(e.slice(n));return r?(t.w=p[r[0].toLowerCase()],n+r[0].length):-1}function z(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=h[r[0].toLowerCase()],n+r[0].length):-1}function E(t,e,n){var r=g.exec(e.slice(n));return r?(t.m=y[r[0].toLowerCase()],n+r[0].length):-1}function C(t,e,n){var r=v.exec(e.slice(n));return r?(t.m=m[r[0].toLowerCase()],n+r[0].length):-1}function A(t,n,r){return k(t,e,n,r)}function R(t,e,r){return k(t,n,e,r)}function T(t,e,n){return k(t,r,e,n)}function N(t){return o[t.getDay()]}function P(t){return a[t.getDay()]}function L(t){return l[t.getMonth()]}function F(t){return s[t.getMonth()]}function D(t){return i[+(t.getHours()>=12)]}function I(t){return o[t.getUTCDay()]}function O(t){return a[t.getUTCDay()]}function B(t){return l[t.getUTCMonth()]}function q(t){return s[t.getUTCMonth()]}function H(t){return i[+(t.getUTCHours()>=12)]}return{format:function(t){var e=w(t+="",_);e.toString=function(){return t};return e},parse:function(t){var e=$(t+="",localDate);e.toString=function(){return t};return e},utcFormat:function(t){var e=w(t+="",b);e.toString=function(){return t};return e},utcParse:function(t){var e=$(t,utcDate);e.toString=function(){return t};return e}}}var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\^$*+?|[\]().{}]/g;function pad(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function requote(t){return t.replace(requoteRe,"\\$&")}function formatRe(t){return new RegExp("^(?:"+t.map(requote).join("|")+")","i")}function formatLookup(t){var e={},n=-1,r=t.length;while(++n<r)e[t[n].toLowerCase()]=n;return e}function parseWeekdayNumberSunday(t,e,n){var r=numberRe.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function parseWeekdayNumberMonday(t,e,n){var r=numberRe.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function parseWeekNumberSunday(t,e,n){var r=numberRe.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function parseWeekNumberISO(t,e,n){var r=numberRe.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function parseWeekNumberMonday(t,e,n){var r=numberRe.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function parseFullYear(t,e,n){var r=numberRe.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function parseYear(t,e,n){var r=numberRe.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function parseZone(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 parseMonthNumber(t,e,n){var r=numberRe.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function parseDayOfMonth(t,e,n){var r=numberRe.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function parseDayOfYear(t,e,n){var r=numberRe.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function parseHour24(t,e,n){var r=numberRe.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function parseMinutes(t,e,n){var r=numberRe.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function parseSeconds(t,e,n){var r=numberRe.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function parseMilliseconds(t,e,n){var r=numberRe.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function parseMicroseconds(t,e,n){var r=numberRe.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function parseLiteralPercent(t,e,n){var r=percentRe.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function parseUnixTimestamp(t,e,n){var r=numberRe.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function parseUnixTimestampSeconds(t,e,n){var r=numberRe.exec(e.slice(n));return r?(t.Q=+r[0]*1e3,n+r[0].length):-1}function formatDayOfMonth(t,e){return pad(t.getDate(),e,2)}function formatHour24(t,e){return pad(t.getHours(),e,2)}function formatHour12(t,e){return pad(t.getHours()%12||12,e,2)}function formatDayOfYear(t,e){return pad(1+day.count(year(t),t),e,3)}function formatMilliseconds(t,e){return pad(t.getMilliseconds(),e,3)}function formatMicroseconds(t,e){return formatMilliseconds(t,e)+"000"}function formatMonthNumber(t,e){return pad(t.getMonth()+1,e,2)}function formatMinutes(t,e){return pad(t.getMinutes(),e,2)}function formatSeconds(t,e){return pad(t.getSeconds(),e,2)}function formatWeekdayNumberMonday(t){var e=t.getDay();return e===0?7:e}function formatWeekNumberSunday(t,e){return pad(sunday.count(year(t),t),e,2)}function formatWeekNumberISO(t,e){var n=t.getDay();t=n>=4||n===0?thursday(t):thursday.ceil(t);return pad(thursday.count(year(t),t)+(year(t).getDay()===4),e,2)}function formatWeekdayNumberSunday(t){return t.getDay()}function formatWeekNumberMonday(t,e){return pad(monday.count(year(t),t),e,2)}function formatYear(t,e){return pad(t.getFullYear()%100,e,2)}function formatFullYear(t,e){return pad(t.getFullYear()%1e4,e,4)}function formatZone(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+pad(e/60|0,"0",2)+pad(e%60,"0",2)}function formatUTCDayOfMonth(t,e){return pad(t.getUTCDate(),e,2)}function formatUTCHour24(t,e){return pad(t.getUTCHours(),e,2)}function formatUTCHour12(t,e){return pad(t.getUTCHours()%12||12,e,2)}function formatUTCDayOfYear(t,e){return pad(1+utcDay.count(utcYear(t),t),e,3)}function formatUTCMilliseconds(t,e){return pad(t.getUTCMilliseconds(),e,3)}function formatUTCMicroseconds(t,e){return formatUTCMilliseconds(t,e)+"000"}function formatUTCMonthNumber(t,e){return pad(t.getUTCMonth()+1,e,2)}function formatUTCMinutes(t,e){return pad(t.getUTCMinutes(),e,2)}function formatUTCSeconds(t,e){return pad(t.getUTCSeconds(),e,2)}function formatUTCWeekdayNumberMonday(t){var e=t.getUTCDay();return e===0?7:e}function formatUTCWeekNumberSunday(t,e){return pad(utcSunday.count(utcYear(t),t),e,2)}function formatUTCWeekNumberISO(t,e){var n=t.getUTCDay();t=n>=4||n===0?utcThursday(t):utcThursday.ceil(t);return pad(utcThursday.count(utcYear(t),t)+(utcYear(t).getUTCDay()===4),e,2)}function formatUTCWeekdayNumberSunday(t){return t.getUTCDay()}function formatUTCWeekNumberMonday(t,e){return pad(utcMonday.count(utcYear(t),t),e,2)}function formatUTCYear(t,e){return pad(t.getUTCFullYear()%100,e,2)}function formatUTCFullYear(t,e){return pad(t.getUTCFullYear()%1e4,e,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatUnixTimestamp(t){return+t}function formatUnixTimestampSeconds(t){return Math.floor(+t/1e3)}var locale;var timeFormat;var timeParse;var utcFormat;var utcParse;defaultLocale({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"]});function defaultLocale(t){locale=formatLocale(t);timeFormat=locale.format;timeParse=locale.parse;utcFormat=locale.utcFormat;utcParse=locale.utcParse;return locale}var isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ";function formatIsoNative(t){return t.toISOString()}var formatIso=Date.prototype.toISOString?formatIsoNative:utcFormat(isoSpecifier);function parseIsoNative(t){var e=new Date(t);return isNaN(e)?null:e}var parseIso=+new Date("2000-01-01T00:00:00.000Z")?parseIsoNative:utcParse(isoSpecifier);var durationSecond=1e3,durationMinute=durationSecond*60,durationHour=durationMinute*60,durationDay=durationHour*24,durationWeek=durationDay*7,durationMonth=durationDay*30,durationYear=durationDay*365;function date(t){return new Date(t)}function number(t){return t instanceof Date?+t:+new Date(+t)}function calendar(t,e,n,r,i,a,o,s,l){var u=continuous(deinterpolateLinear,reinterpolate$1),c=u.invert,f=u.domain;var h=l(".%L"),d=l(":%S"),p=l("%I:%M"),v=l("%I %p"),m=l("%a %d"),g=l("%b %d"),y=l("%B"),_=l("%Y");var b=[[o,1,durationSecond],[o,5,5*durationSecond],[o,15,15*durationSecond],[o,30,30*durationSecond],[a,1,durationMinute],[a,5,5*durationMinute],[a,15,15*durationMinute],[a,30,30*durationMinute],[i,1,durationHour],[i,3,3*durationHour],[i,6,6*durationHour],[i,12,12*durationHour],[r,1,durationDay],[r,2,2*durationDay],[n,1,durationWeek],[e,1,durationMonth],[e,3,3*durationMonth],[t,1,durationYear]];function x(s){return(o(s)<s?h:a(s)<s?d:i(s)<s?p:r(s)<s?v:e(s)<s?n(s)<s?m:g:t(s)<s?y:_)(s)}function w(e,n,r,i){if(e==null)e=10;if(typeof e==="number"){var a=Math.abs(r-n)/e,o=bisector((function(t){return t[2]})).right(b,a);if(o===b.length){i=tickStep(n/durationYear,r/durationYear,e);e=t}else if(o){o=b[a/b[o-1][2]<b[o][2]/a?o-1:o];i=o[1];e=o[0]}else{i=Math.max(tickStep(n,r,e),1);e=s}}return i==null?e:e.every(i)}u.invert=function(t){return new Date(c(t))};u.domain=function(t){return arguments.length?f(map.call(t,number)):f().map(date)};u.ticks=function(t,e){var n=f(),r=n[0],i=n[n.length-1],a=i<r,o;if(a)o=r,r=i,i=o;o=w(t,r,i,e);o=o?o.range(r,i+1):[];return a?o.reverse():o};u.tickFormat=function(t,e){return e==null?x:l(e)};u.nice=function(t,e){var n=f();return(t=w(t,n[0],n[n.length-1],e))?f(nice(n,t)):u};u.copy=function(){return copy(u,calendar(t,e,n,r,i,a,o,s,l))};return u}function time(){return calendar(year,month,sunday,day,hour,minute,second,millisecond,timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function utcTime(){return calendar(utcYear,utcMonth,utcSunday,utcDay,utcHour,utcMinute,second,millisecond,utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}function colors(t){return t.match(/.{6}/g).map((function(t){return"#"+t}))}var category10=colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");var category20b=colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6");var category20c=colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9");var category20=colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5");var cubehelix=cubehelixLong(cubehelix$3(300,.5,0),cubehelix$3(-240,.5,1));var warm=cubehelixLong(cubehelix$3(-100,.75,.35),cubehelix$3(80,1.5,.8));var cool=cubehelixLong(cubehelix$3(260,.75,.35),cubehelix$3(80,1.5,.8));var rainbow=cubehelix$3();function rainbow$1(t){if(t<0||t>1)t-=Math.floor(t);var e=Math.abs(t-.5);rainbow.h=360*t-100;rainbow.s=1.5-1.5*e;rainbow.l=.8-.9*e;return rainbow+""}function ramp(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var viridis=ramp(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var magma=ramp(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));var inferno=ramp(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));var plasma=ramp(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function sequential(t){var e=0,n=1,r=false;function i(i){var a=(i-e)/(n-e);return t(r?Math.max(0,Math.min(1,a)):a)}i.domain=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]};i.clamp=function(t){return arguments.length?(r=!!t,i):r};i.interpolator=function(e){return arguments.length?(t=e,i):t};i.copy=function(){return sequential(t).domain([e,n]).clamp(r)};return linearish(i)}function constant$2(t){return function e(){return t}}var abs=Math.abs;var atan2=Math.atan2;var cos=Math.cos;var max=Math.max;var min=Math.min;var sin=Math.sin;var sqrt=Math.sqrt;var epsilon$1=1e-12;var pi=Math.PI;var halfPi=pi/2;var tau=2*pi;function acos(t){return t>1?0:t<-1?pi:Math.acos(t)}function asin(t){return t>=1?halfPi:t<=-1?-halfPi:Math.asin(t)}function arcInnerRadius(t){return t.innerRadius}function arcOuterRadius(t){return t.outerRadius}function arcStartAngle(t){return t.startAngle}function arcEndAngle(t){return t.endAngle}function arcPadAngle(t){return t&&t.padAngle}function intersect(t,e,n,r,i,a,o,s){var l=n-t,u=r-e,c=o-i,f=s-a,h=(c*(e-a)-f*(t-i))/(f*l-c*u);return[t+h*l,e+h*u]}function cornerTangents(t,e,n,r,i,a,o){var s=t-n,l=e-r,u=(o?a:-a)/sqrt(s*s+l*l),c=u*l,f=-u*s,h=t+c,d=e+f,p=n+c,v=r+f,m=(h+p)/2,g=(d+v)/2,y=p-h,_=v-d,b=y*y+_*_,x=i-a,w=h*v-p*d,$=(_<0?-1:1)*sqrt(max(0,x*x*b-w*w)),k=(w*_-y*$)/b,M=(-w*y-_*$)/b,S=(w*_+y*$)/b,z=(-w*y+_*$)/b,E=k-m,C=M-g,A=S-m,R=z-g;if(E*E+C*C>A*A+R*R)k=S,M=z;return{cx:k,cy:M,x01:-c,y01:-f,x11:k*(i/x-1),y11:M*(i/x-1)}}function arc(){var t=arcInnerRadius,e=arcOuterRadius,n=constant$2(0),r=null,i=arcStartAngle,a=arcEndAngle,o=arcPadAngle,s=null;function l(){var l,u,c=+t.apply(this,arguments),f=+e.apply(this,arguments),h=i.apply(this,arguments)-halfPi,d=a.apply(this,arguments)-halfPi,p=abs(d-h),v=d>h;if(!s)s=l=path();if(f<c)u=f,f=c,c=u;if(!(f>epsilon$1))s.moveTo(0,0);else if(p>tau-epsilon$1){s.moveTo(f*cos(h),f*sin(h));s.arc(0,0,f,h,d,!v);if(c>epsilon$1){s.moveTo(c*cos(d),c*sin(d));s.arc(0,0,c,d,h,v)}}else{var m=h,g=d,y=h,_=d,b=p,x=p,w=o.apply(this,arguments)/2,$=w>epsilon$1&&(r?+r.apply(this,arguments):sqrt(c*c+f*f)),k=min(abs(f-c)/2,+n.apply(this,arguments)),M=k,S=k,z,E;if($>epsilon$1){var C=asin($/c*sin(w)),A=asin($/f*sin(w));if((b-=C*2)>epsilon$1)C*=v?1:-1,y+=C,_-=C;else b=0,y=_=(h+d)/2;if((x-=A*2)>epsilon$1)A*=v?1:-1,m+=A,g-=A;else x=0,m=g=(h+d)/2}var R=f*cos(m),T=f*sin(m),N=c*cos(_),P=c*sin(_);if(k>epsilon$1){var L=f*cos(g),F=f*sin(g),D=c*cos(y),I=c*sin(y);if(p<pi){var O=b>epsilon$1?intersect(R,T,D,I,L,F,N,P):[N,P],B=R-O[0],q=T-O[1],H=L-O[0],U=F-O[1],j=1/sin(acos((B*H+q*U)/(sqrt(B*B+q*q)*sqrt(H*H+U*U)))/2),Y=sqrt(O[0]*O[0]+O[1]*O[1]);M=min(k,(c-Y)/(j-1));S=min(k,(f-Y)/(j+1))}}if(!(x>epsilon$1))s.moveTo(R,T);else if(S>epsilon$1){z=cornerTangents(D,I,R,T,f,S,v);E=cornerTangents(L,F,N,P,f,S,v);s.moveTo(z.cx+z.x01,z.cy+z.y01);if(S<k)s.arc(z.cx,z.cy,S,atan2(z.y01,z.x01),atan2(E.y01,E.x01),!v);else{s.arc(z.cx,z.cy,S,atan2(z.y01,z.x01),atan2(z.y11,z.x11),!v);s.arc(0,0,f,atan2(z.cy+z.y11,z.cx+z.x11),atan2(E.cy+E.y11,E.cx+E.x11),!v);s.arc(E.cx,E.cy,S,atan2(E.y11,E.x11),atan2(E.y01,E.x01),!v)}}else s.moveTo(R,T),s.arc(0,0,f,m,g,!v);if(!(c>epsilon$1)||!(b>epsilon$1))s.lineTo(N,P);else if(M>epsilon$1){z=cornerTangents(N,P,L,F,c,-M,v);E=cornerTangents(R,T,D,I,c,-M,v);s.lineTo(z.cx+z.x01,z.cy+z.y01);if(M<k)s.arc(z.cx,z.cy,M,atan2(z.y01,z.x01),atan2(E.y01,E.x01),!v);else{s.arc(z.cx,z.cy,M,atan2(z.y01,z.x01),atan2(z.y11,z.x11),!v);s.arc(0,0,c,atan2(z.cy+z.y11,z.cx+z.x11),atan2(E.cy+E.y11,E.cx+E.x11),v);s.arc(E.cx,E.cy,M,atan2(E.y11,E.x11),atan2(E.y01,E.x01),!v)}}else s.arc(0,0,c,_,y,v)}s.closePath();if(l)return s=null,l+""||null}l.centroid=function(){var n=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-pi/2;return[cos(r)*n,sin(r)*n]};l.innerRadius=function(e){return arguments.length?(t=typeof e==="function"?e:constant$2(+e),l):t};l.outerRadius=function(t){return arguments.length?(e=typeof t==="function"?t:constant$2(+t),l):e};l.cornerRadius=function(t){return arguments.length?(n=typeof t==="function"?t:constant$2(+t),l):n};l.padRadius=function(t){return arguments.length?(r=t==null?null:typeof t==="function"?t:constant$2(+t),l):r};l.startAngle=function(t){return arguments.length?(i=typeof t==="function"?t:constant$2(+t),l):i};l.endAngle=function(t){return arguments.length?(a=typeof t==="function"?t:constant$2(+t),l):a};l.padAngle=function(t){return arguments.length?(o=typeof t==="function"?t:constant$2(+t),l):o};l.context=function(t){return arguments.length?(s=t==null?null:t,l):s};return l}function Linear(t){this._context=t}Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;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;default:this._context.lineTo(t,e);break}}};function curveLinear(t){return new Linear(t)}function x$1(t){return t[0]}function y$1(t){return t[1]}function line(){var t=x$1,e=y$1,n=constant$2(true),r=null,i=curveLinear,a=null;function o(o){var s,l=o.length,u,c=false,f;if(r==null)a=i(f=path());for(s=0;s<=l;++s){if(!(s<l&&n(u=o[s],s,o))===c){if(c=!c)a.lineStart();else a.lineEnd()}if(c)a.point(+t(u,s,o),+e(u,s,o))}if(f)return a=null,f+""||null}o.x=function(e){return arguments.length?(t=typeof e==="function"?e:constant$2(+e),o):t};o.y=function(t){return arguments.length?(e=typeof t==="function"?t:constant$2(+t),o):e};o.defined=function(t){return arguments.length?(n=typeof t==="function"?t:constant$2(!!t),o):n};o.curve=function(t){return arguments.length?(i=t,r!=null&&(a=i(r)),o):i};o.context=function(t){return arguments.length?(t==null?r=a=null:a=i(r=t),o):r};return o}function area(){var t=x$1,e=null,n=constant$2(0),r=y$1,i=constant$2(true),a=null,o=curveLinear,s=null;function l(l){var u,c,f,h=l.length,d,p=false,v,m=new Array(h),g=new Array(h);if(a==null)s=o(v=path());for(u=0;u<=h;++u){if(!(u<h&&i(d=l[u],u,l))===p){if(p=!p){c=u;s.areaStart();s.lineStart()}else{s.lineEnd();s.lineStart();for(f=u-1;f>=c;--f){s.point(m[f],g[f])}s.lineEnd();s.areaEnd()}}if(p){m[u]=+t(d,u,l),g[u]=+n(d,u,l);s.point(e?+e(d,u,l):m[u],r?+r(d,u,l):g[u])}}if(v)return s=null,v+""||null}function u(){return line().defined(i).curve(o).context(a)}l.x=function(n){return arguments.length?(t=typeof n==="function"?n:constant$2(+n),e=null,l):t};l.x0=function(e){return arguments.length?(t=typeof e==="function"?e:constant$2(+e),l):t};l.x1=function(t){return arguments.length?(e=t==null?null:typeof t==="function"?t:constant$2(+t),l):e};l.y=function(t){return arguments.length?(n=typeof t==="function"?t:constant$2(+t),r=null,l):n};l.y0=function(t){return arguments.length?(n=typeof t==="function"?t:constant$2(+t),l):n};l.y1=function(t){return arguments.length?(r=t==null?null:typeof t==="function"?t:constant$2(+t),l):r};l.lineX0=l.lineY0=function(){return u().x(t).y(n)};l.lineY1=function(){return u().x(t).y(r)};l.lineX1=function(){return u().x(e).y(n)};l.defined=function(t){return arguments.length?(i=typeof t==="function"?t:constant$2(!!t),l):i};l.curve=function(t){return arguments.length?(o=t,a!=null&&(s=o(a)),l):o};l.context=function(t){return arguments.length?(t==null?a=s=null:s=o(a=t),l):a};return l}function descending$1(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function identity$2(t){return t}function pie(){var t=identity$2,e=descending$1,n=null,r=constant$2(0),i=constant$2(tau),a=constant$2(0);function o(o){var s,l=o.length,u,c,f=0,h=new Array(l),d=new Array(l),p=+r.apply(this,arguments),v=Math.min(tau,Math.max(-tau,i.apply(this,arguments)-p)),m,g=Math.min(Math.abs(v)/l,a.apply(this,arguments)),y=g*(v<0?-1:1),_;for(s=0;s<l;++s){if((_=d[h[s]=s]=+t(o[s],s,o))>0){f+=_}}if(e!=null)h.sort((function(t,n){return e(d[t],d[n])}));else if(n!=null)h.sort((function(t,e){return n(o[t],o[e])}));for(s=0,c=f?(v-l*y)/f:0;s<l;++s,p=m){u=h[s],_=d[u],m=p+(_>0?_*c:0)+y,d[u]={data:o[u],index:s,value:_,startAngle:p,endAngle:m,padAngle:g}}return d}o.value=function(e){return arguments.length?(t=typeof e==="function"?e:constant$2(+e),o):t};o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e};o.sort=function(t){return arguments.length?(n=t,e=null,o):n};o.startAngle=function(t){return arguments.length?(r=typeof t==="function"?t:constant$2(+t),o):r};o.endAngle=function(t){return arguments.length?(i=typeof t==="function"?t:constant$2(+t),o):i};o.padAngle=function(t){return arguments.length?(a=typeof t==="function"?t:constant$2(+t),o):a};return o}var curveRadialLinear=curveRadial$1(curveLinear);function Radial(t){this._curve=t}Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};function curveRadial$1(t){function e(e){return new Radial(t(e))}e._curve=t;return e}function lineRadial(t){var e=t.curve;t.angle=t.x,delete t.x;t.radius=t.y,delete t.y;t.curve=function(t){return arguments.length?e(curveRadial$1(t)):e()._curve};return t}function lineRadial$1(){return lineRadial(line().curve(curveRadialLinear))}function areaRadial(){var t=area().curve(curveRadialLinear),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,a=t.lineY1;t.angle=t.x,delete t.x;t.startAngle=t.x0,delete t.x0;t.endAngle=t.x1,delete t.x1;t.radius=t.y,delete t.y;t.innerRadius=t.y0,delete t.y0;t.outerRadius=t.y1,delete t.y1;t.lineStartAngle=function(){return lineRadial(n())},delete t.lineX0;t.lineEndAngle=function(){return lineRadial(r())},delete t.lineX1;t.lineInnerRadius=function(){return lineRadial(i())},delete t.lineY0;t.lineOuterRadius=function(){return lineRadial(a())},delete t.lineY1;t.curve=function(t){return arguments.length?e(curveRadial$1(t)):e()._curve};return t}function pointRadial(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}var slice=Array.prototype.slice;function linkSource(t){return t.source}function linkTarget(t){return t.target}function link(t){var e=linkSource,n=linkTarget,r=x$1,i=y$1,a=null;function o(){var o,s=slice.call(arguments),l=e.apply(this,s),u=n.apply(this,s);if(!a)a=o=path();t(a,+r.apply(this,(s[0]=l,s)),+i.apply(this,s),+r.apply(this,(s[0]=u,s)),+i.apply(this,s));if(o)return a=null,o+""||null}o.source=function(t){return arguments.length?(e=t,o):e};o.target=function(t){return arguments.length?(n=t,o):n};o.x=function(t){return arguments.length?(r=typeof t==="function"?t:constant$2(+t),o):r};o.y=function(t){return arguments.length?(i=typeof t==="function"?t:constant$2(+t),o):i};o.context=function(t){return arguments.length?(a=t==null?null:t,o):a};return o}function curveHorizontal(t,e,n,r,i){t.moveTo(e,n);t.bezierCurveTo(e=(e+r)/2,n,e,i,r,i)}function curveVertical(t,e,n,r,i){t.moveTo(e,n);t.bezierCurveTo(e,n=(n+i)/2,r,n,r,i)}function curveRadial(t,e,n,r,i){var a=pointRadial(e,n),o=pointRadial(e,n=(n+i)/2),s=pointRadial(r,n),l=pointRadial(r,i);t.moveTo(a[0],a[1]);t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}function linkHorizontal(){return link(curveHorizontal)}function linkVertical(){return link(curveVertical)}function linkRadial(){var t=link(curveRadial);t.angle=t.x,delete t.x;t.radius=t.y,delete t.y;return t}var circle={draw:function(t,e){var n=Math.sqrt(e/pi);t.moveTo(n,0);t.arc(0,0,n,0,tau)}};var cross={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n);t.lineTo(-n,-n);t.lineTo(-n,-3*n);t.lineTo(n,-3*n);t.lineTo(n,-n);t.lineTo(3*n,-n);t.lineTo(3*n,n);t.lineTo(n,n);t.lineTo(n,3*n);t.lineTo(-n,3*n);t.lineTo(-n,n);t.lineTo(-3*n,n);t.closePath()}};var tan30=Math.sqrt(1/3),tan30_2=tan30*2;var diamond={draw:function(t,e){var n=Math.sqrt(e/tan30_2),r=n*tan30;t.moveTo(0,-n);t.lineTo(r,0);t.lineTo(0,n);t.lineTo(-r,0);t.closePath()}};var ka=.8908130915292852,kr=Math.sin(pi/10)/Math.sin(7*pi/10),kx=Math.sin(tau/10)*kr,ky=-Math.cos(tau/10)*kr;var star={draw:function(t,e){var n=Math.sqrt(e*ka),r=kx*n,i=ky*n;t.moveTo(0,-n);t.lineTo(r,i);for(var a=1;a<5;++a){var o=tau*a/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*n,-s*n);t.lineTo(s*r-l*i,l*r+s*i)}t.closePath()}};var square={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}};var sqrt3=Math.sqrt(3);var triangle={draw:function(t,e){var n=-Math.sqrt(e/(sqrt3*3));t.moveTo(0,n*2);t.lineTo(-sqrt3*n,-n);t.lineTo(sqrt3*n,-n);t.closePath()}};var c=-.5,s=Math.sqrt(3)/2,k=1/Math.sqrt(12),a=(k/2+1)*3;var wye={draw:function(t,e){var n=Math.sqrt(e/a),r=n/2,i=n*k,o=r,l=n*k+n,u=-o,f=l;t.moveTo(r,i);t.lineTo(o,l);t.lineTo(u,f);t.lineTo(c*r-s*i,s*r+c*i);t.lineTo(c*o-s*l,s*o+c*l);t.lineTo(c*u-s*f,s*u+c*f);t.lineTo(c*r+s*i,c*i-s*r);t.lineTo(c*o+s*l,c*l-s*o);t.lineTo(c*u+s*f,c*f-s*u);t.closePath()}};var symbols=[circle,cross,diamond,square,star,triangle,wye];function symbol(){var t=constant$2(circle),e=constant$2(64),n=null;function r(){var r;if(!n)n=r=path();t.apply(this,arguments).draw(n,+e.apply(this,arguments));if(r)return n=null,r+""||null}r.type=function(e){return arguments.length?(t=typeof e==="function"?e:constant$2(e),r):t};r.size=function(t){return arguments.length?(e=typeof t==="function"?t:constant$2(+t),r):e};r.context=function(t){return arguments.length?(n=t==null?null:t,r):n};return r}function noop(){}function point$3(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Basis(t){this._context=t}Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN;this._point=0},lineEnd:function(){switch(this._point){case 3:point$3(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;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;this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point$3(this,t,e);break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e}};function basis(t){return new Basis(t)}function BasisClosed(t){this._context=t}BasisClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN;this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2);this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3);this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3);this._context.closePath();break}case 3:{this.point(this._x2,this._y2);this.point(this._x3,this._y3);this.point(this._x4,this._y4);break}}},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;this._x2=t,this._y2=e;break;case 1:this._point=2;this._x3=t,this._y3=e;break;case 2:this._point=3;this._x4=t,this._y4=e;this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:point$3(this,t,e);break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e}};function basisClosed(t){return new BasisClosed(t)}function BasisOpen(t){this._context=t}BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN;this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:point$3(this,t,e);break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e}};function basisOpen(t){return new BasisOpen(t)}function Bundle(t,e){this._basis=new Basis(t);this._beta=e}Bundle.prototype={lineStart:function(){this._x=[];this._y=[];this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0){var r=t[0],i=e[0],a=t[n]-r,o=e[n]-i,s=-1,l;while(++s<=n){l=s/n;this._basis.point(this._beta*t[s]+(1-this._beta)*(r+l*a),this._beta*e[s]+(1-this._beta)*(i+l*o))}}this._x=this._y=null;this._basis.lineEnd()},point:function(t,e){this._x.push(+t);this._y.push(+e)}};var bundle=function t(e){function n(t){return e===1?new Basis(t):new Bundle(t,e)}n.beta=function(e){return t(+e)};return n}(.85);function point$2(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 Cardinal(t,e){this._context=t;this._k=(1-e)/6}Cardinal.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:point$2(this,this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;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;this._x1=t,this._y1=e;break;case 2:this._point=3;default:point$2(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var cardinal=function t(e){function n(t){return new Cardinal(t,e)}n.tension=function(e){return t(+e)};return n}(0);function CardinalClosed(t,e){this._context=t;this._k=(1-e)/6}CardinalClosed.prototype={areaStart:noop,areaEnd:noop,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);break}}},point:function(t,e){t=+t,e=+e;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:point$2(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var cardinalClosed=function t(e){function n(t){return new CardinalClosed(t,e)}n.tension=function(e){return t(+e)};return n}(0);function CardinalOpen(t,e){this._context=t;this._k=(1-e)/6}CardinalOpen.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(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;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:point$2(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var cardinalOpen=function t(e){function n(t){return new CardinalOpen(t,e)}n.tension=function(e){return t(+e)};return n}(0);function point$1(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>epsilon$1){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l;i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>epsilon$1){var u=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);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/c;o=(o*u+t._y1*t._l23_2a-n*t._l12_2a)/c}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function CatmullRom(t,e){this._context=t;this._alpha=e}CatmullRom.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);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;if(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:point$1(this,t,e);break}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 catmullRom=function t(e){function n(t){return e?new CatmullRom(t,e):new Cardinal(t,0)}n.alpha=function(e){return t(+e)};return n}(.5);function CatmullRomClosed(t,e){this._context=t;this._alpha=e}CatmullRomClosed.prototype={areaStart:noop,areaEnd:noop,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);break}}},point:function(t,e){t=+t,e=+e;if(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:point$1(this,t,e);break}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 catmullRomClosed=function t(e){function n(t){return e?new CatmullRomClosed(t,e):new CardinalClosed(t,0)}n.alpha=function(e){return t(+e)};return n}(.5);function CatmullRomOpen(t,e){this._context=t;this._alpha=e}CatmullRomOpen.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(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;if(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:point$1(this,t,e);break}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 catmullRomOpen=function t(e){function n(t){return e?new CatmullRomOpen(t,e):new CardinalOpen(t,0)}n.alpha=function(e){return t(+e)};return n}(.5);function LinearClosed(t){this._context=t}LinearClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._point=0},lineEnd:function(){if(this._point)this._context.closePath()},point:function(t,e){t=+t,e=+e;if(this._point)this._context.lineTo(t,e);else this._point=1,this._context.moveTo(t,e)}};function linearClosed(t){return new LinearClosed(t)}function sign(t){return t<0?-1:1}function slope3(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(sign(a)+sign(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function slope2(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function point(t,e,n){var r=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-r)/3;t._context.bezierCurveTo(r+s,i+s*e,a-s,o-s*n,a,o)}function MonotoneX(t){this._context=t}MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN;this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point(this,this._t0,slope2(this,this._t0));break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(t,e){var n=NaN;t=+t,e=+e;if(t===this._x1&&e===this._y1)return;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;point(this,slope2(this,n=slope3(this,t,e)),n);break;default:point(this,this._t0,n=slope3(this,t,e));break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e;this._t0=n}};function MonotoneY(t){this._context=new ReflectContext(t)}(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(t,e){MonotoneX.prototype.point.call(this,e,t)};function ReflectContext(t){this._context=t}ReflectContext.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,a){this._context.bezierCurveTo(e,t,r,n,a,i)}};function monotoneX(t){return new MonotoneX(t)}function monotoneY(t){return new MonotoneY(t)}function Natural(t){this._context=t}Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[];this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n){this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]);if(n===2){this._context.lineTo(t[1],e[1])}else{var r=controlPoints(t),i=controlPoints(e);for(var a=0,o=1;o<n;++a,++o){this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],t[o],e[o])}}}if(this._line||this._line!==0&&n===1)this._context.closePath();this._line=1-this._line;this._x=this._y=null},point:function(t,e){this._x.push(+t);this._y.push(+e)}};function controlPoints(t){var e,n=t.length-1,r,i=new Array(n),a=new Array(n),o=new Array(n);i[0]=0,a[0]=2,o[0]=t[0]+2*t[1];for(e=1;e<n-1;++e)i[e]=1,a[e]=4,o[e]=4*t[e]+2*t[e+1];i[n-1]=2,a[n-1]=7,o[n-1]=8*t[n-1]+t[n];for(e=1;e<n;++e)r=i[e]/a[e-1],a[e]-=r,o[e]-=r*o[e-1];i[n-1]=o[n-1]/a[n-1];for(e=n-2;e>=0;--e)i[e]=(o[e]-i[e+1])/a[e];a[n-1]=(t[n]+i[n-1])/2;for(e=0;e<n-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}function natural(t){return new Natural(t)}function Step(t,e){this._context=t;this._t=e}Step.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN;this._point=0},lineEnd:function(){if(0<this._t&&this._t<1&&this._point===2)this._context.lineTo(this._x,this._y);if(this._line||this._line!==0&&this._point===1)this._context.closePath();if(this._line>=0)this._t=1-this._t,this._line=1-this._line},point:function(t,e){t=+t,e=+e;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;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)}break}}this._x=t,this._y=e}};function step(t){return new Step(t,.5)}function stepBefore(t){return new Step(t,0)}function stepAfter(t){return new Step(t,1)}function none$1(t,e){if(!((o=t.length)>1))return;for(var n=1,r,i,a=t[e[0]],o,s=a.length;n<o;++n){i=a,a=t[e[n]];for(r=0;r<s;++r){a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}}}function none(t){var e=t.length,n=new Array(e);while(--e>=0)n[e]=e;return n}function stackValue(t,e){return t[e]}function stack(){var t=constant$2([]),e=none,n=none$1,r=stackValue;function i(i){var a=t.apply(this,arguments),o,s=i.length,l=a.length,u=new Array(l),c;for(o=0;o<l;++o){for(var f=a[o],h=u[o]=new Array(s),d=0,p;d<s;++d){h[d]=p=[0,+r(i[d],f,d,i)];p.data=i[d]}h.key=f}for(o=0,c=e(u);o<l;++o){u[c[o]].index=o}n(u,c);return u}i.keys=function(e){return arguments.length?(t=typeof e==="function"?e:constant$2(slice.call(e)),i):t};i.value=function(t){return arguments.length?(r=typeof t==="function"?t:constant$2(+t),i):r};i.order=function(t){return arguments.length?(e=t==null?none:typeof t==="function"?t:constant$2(slice.call(t)),i):e};i.offset=function(t){return arguments.length?(n=t==null?none$1:t,i):n};return i}function expand(t,e){if(!((r=t.length)>0))return;for(var n,r,i=0,a=t[0].length,o;i<a;++i){for(o=n=0;n<r;++n)o+=t[n][i][1]||0;if(o)for(n=0;n<r;++n)t[n][i][1]/=o}none$1(t,e)}function diverging(t,e){if(!((l=t.length)>1))return;for(var n,r=0,i,a,o,s,l,u=t[e[0]].length;r<u;++r){for(o=s=0,n=0;n<l;++n){if((a=(i=t[e[n]][r])[1]-i[0])>=0){i[0]=o,i[1]=o+=a}else if(a<0){i[1]=s,i[0]=s+=a}else{i[0]=o}}}}function silhouette(t,e){if(!((i=t.length)>0))return;for(var n=0,r=t[e[0]],i,a=r.length;n<a;++n){for(var o=0,s=0;o<i;++o)s+=t[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}none$1(t,e)}function wiggle(t,e){if(!((o=t.length)>0)||!((a=(i=t[e[0]]).length)>0))return;for(var n=0,r=1,i,a,o;r<a;++r){for(var s=0,l=0,u=0;s<o;++s){var c=t[e[s]],f=c[r][1]||0,h=c[r-1][1]||0,d=(f-h)/2;for(var p=0;p<s;++p){var v=t[e[p]],m=v[r][1]||0,g=v[r-1][1]||0;d+=m-g}l+=f,u+=d*f}i[r-1][1]+=i[r-1][0]=n;if(l)n-=u/l}i[r-1][1]+=i[r-1][0]=n;none$1(t,e)}function ascending(t){var e=t.map(sum);return none(t).sort((function(t,n){return e[t]-e[n]}))}function sum(t){var e=0,n=-1,r=t.length,i;while(++n<r)if(i=+t[n][1])e+=i;return e}function descending(t){return ascending(t).reverse()}function insideOut(t){var e=t.length,n,r,i=t.map(sum),a=none(t).sort((function(t,e){return i[e]-i[t]})),o=0,s=0,l=[],u=[];for(n=0;n<e;++n){r=a[n];if(o<s){o+=i[r];l.push(r)}else{s+=i[r];u.push(r)}}return u.reverse().concat(l)}function reverse$1(t){return none(t).reverse()}function constant$1(t){return function(){return t}}function x(t){return t[0]}function y(t){return t[1]}function RedBlackTree(){this._=null}function RedBlackNode(t){t.U=t.C=t.L=t.R=t.P=t.N=null}RedBlackTree.prototype={constructor:RedBlackTree,insert:function(t,e){var n,r,i;if(t){e.P=t;e.N=t.N;if(t.N)t.N.P=e;t.N=e;if(t.R){t=t.R;while(t.L)t=t.L;t.L=e}else{t.R=e}n=t}else if(this._){t=RedBlackFirst(this._);e.P=null;e.N=t;t.P=t.L=e;n=t}else{e.P=e.N=null;this._=e;n=null}e.L=e.R=null;e.U=n;e.C=true;t=e;while(n&&n.C){r=n.U;if(n===r.L){i=r.R;if(i&&i.C){n.C=i.C=false;r.C=true;t=r}else{if(t===n.R){RedBlackRotateLeft(this,n);t=n;n=t.U}n.C=false;r.C=true;RedBlackRotateRight(this,r)}}else{i=r.L;if(i&&i.C){n.C=i.C=false;r.C=true;t=r}else{if(t===n.L){RedBlackRotateRight(this,n);t=n;n=t.U}n.C=false;r.C=true;RedBlackRotateLeft(this,r)}}n=t.U}this._.C=false},remove:function(t){if(t.N)t.N.P=t.P;if(t.P)t.P.N=t.N;t.N=t.P=null;var e=t.U,n,r=t.L,i=t.R,a,o;if(!r)a=i;else if(!i)a=r;else a=RedBlackFirst(i);if(e){if(e.L===t)e.L=a;else e.R=a}else{this._=a}if(r&&i){o=a.C;a.C=t.C;a.L=r;r.U=a;if(a!==i){e=a.U;a.U=t.U;t=a.R;e.L=t;a.R=i;i.U=a}else{a.U=e;e=a;t=a.R}}else{o=t.C;t=a}if(t)t.U=e;if(o)return;if(t&&t.C){t.C=false;return}do{if(t===this._)break;if(t===e.L){n=e.R;if(n.C){n.C=false;e.C=true;RedBlackRotateLeft(this,e);n=e.R}if(n.L&&n.L.C||n.R&&n.R.C){if(!n.R||!n.R.C){n.L.C=false;n.C=true;RedBlackRotateRight(this,n);n=e.R}n.C=e.C;e.C=n.R.C=false;RedBlackRotateLeft(this,e);t=this._;break}}else{n=e.L;if(n.C){n.C=false;e.C=true;RedBlackRotateRight(this,e);n=e.L}if(n.L&&n.L.C||n.R&&n.R.C){if(!n.L||!n.L.C){n.R.C=false;n.C=true;RedBlackRotateLeft(this,n);n=e.L}n.C=e.C;e.C=n.L.C=false;RedBlackRotateRight(this,e);t=this._;break}}n.C=true;t=e;e=e.U}while(!t.C);if(t)t.C=false}};function RedBlackRotateLeft(t,e){var n=e,r=e.R,i=n.U;if(i){if(i.L===n)i.L=r;else i.R=r}else{t._=r}r.U=i;n.U=r;n.R=r.L;if(n.R)n.R.U=n;r.L=n}function RedBlackRotateRight(t,e){var n=e,r=e.L,i=n.U;if(i){if(i.L===n)i.L=r;else i.R=r}else{t._=r}r.U=i;n.U=r;n.L=r.R;if(n.L)n.L.U=n;r.R=n}function RedBlackFirst(t){while(t.L)t=t.L;return t}function createEdge(t,e,n,r){var i=[null,null],a=edges.push(i)-1;i.left=t;i.right=e;if(n)setEdgeEnd(i,t,e,n);if(r)setEdgeEnd(i,e,t,r);cells[t.index].halfedges.push(a);cells[e.index].halfedges.push(a);return i}function createBorderEdge(t,e,n){var r=[e,n];r.left=t;return r}function setEdgeEnd(t,e,n,r){if(!t[0]&&!t[1]){t[0]=r;t.left=e;t.right=n}else if(t.left===n){t[1]=r}else{t[0]=r}}function clipEdge(t,e,n,r,i){var a=t[0],o=t[1],s=a[0],l=a[1],u=o[0],c=o[1],f=0,h=1,d=u-s,p=c-l,v;v=e-s;if(!d&&v>0)return;v/=d;if(d<0){if(v<f)return;if(v<h)h=v}else if(d>0){if(v>h)return;if(v>f)f=v}v=r-s;if(!d&&v<0)return;v/=d;if(d<0){if(v>h)return;if(v>f)f=v}else if(d>0){if(v<f)return;if(v<h)h=v}v=n-l;if(!p&&v>0)return;v/=p;if(p<0){if(v<f)return;if(v<h)h=v}else if(p>0){if(v>h)return;if(v>f)f=v}v=i-l;if(!p&&v<0)return;v/=p;if(p<0){if(v>h)return;if(v>f)f=v}else if(p>0){if(v<f)return;if(v<h)h=v}if(!(f>0)&&!(h<1))return true;if(f>0)t[0]=[s+f*d,l+f*p];if(h<1)t[1]=[s+h*d,l+h*p];return true}function connectEdge(t,e,n,r,i){var a=t[1];if(a)return true;var o=t[0],s=t.left,l=t.right,u=s[0],c=s[1],f=l[0],h=l[1],d=(u+f)/2,p=(c+h)/2,v,m;if(h===c){if(d<e||d>=r)return;if(u>f){if(!o)o=[d,n];else if(o[1]>=i)return;a=[d,i]}else{if(!o)o=[d,i];else if(o[1]<n)return;a=[d,n]}}else{v=(u-f)/(h-c);m=p-v*d;if(v<-1||v>1){if(u>f){if(!o)o=[(n-m)/v,n];else if(o[1]>=i)return;a=[(i-m)/v,i]}else{if(!o)o=[(i-m)/v,i];else if(o[1]<n)return;a=[(n-m)/v,n]}}else{if(c<h){if(!o)o=[e,v*e+m];else if(o[0]>=r)return;a=[r,v*r+m]}else{if(!o)o=[r,v*r+m];else if(o[0]<e)return;a=[e,v*e+m]}}}t[0]=o;t[1]=a;return true}function clipEdges(t,e,n,r){var i=edges.length,a;while(i--){if(!connectEdge(a=edges[i],t,e,n,r)||!clipEdge(a,t,e,n,r)||!(Math.abs(a[0][0]-a[1][0])>epsilon||Math.abs(a[0][1]-a[1][1])>epsilon)){delete edges[i]}}}function createCell(t){return cells[t.index]={site:t,halfedges:[]}}function cellHalfedgeAngle(t,e){var n=t.site,r=e.left,i=e.right;if(n===i)i=r,r=n;if(i)return Math.atan2(i[1]-r[1],i[0]-r[0]);if(n===r)r=e[1],i=e[0];else r=e[0],i=e[1];return Math.atan2(r[0]-i[0],i[1]-r[1])}function cellHalfedgeStart(t,e){return e[+(e.left!==t.site)]}function cellHalfedgeEnd(t,e){return e[+(e.left===t.site)]}function sortCellHalfedges(){for(var t=0,e=cells.length,n,r,i,a;t<e;++t){if((n=cells[t])&&(a=(r=n.halfedges).length)){var o=new Array(a),s=new Array(a);for(i=0;i<a;++i)o[i]=i,s[i]=cellHalfedgeAngle(n,edges[r[i]]);o.sort((function(t,e){return s[e]-s[t]}));for(i=0;i<a;++i)s[i]=r[o[i]];for(i=0;i<a;++i)r[i]=s[i]}}}function clipCells(t,e,n,r){var i=cells.length,a,o,s,l,u,c,f,h,d,p,v,m,g=true;for(a=0;a<i;++a){if(o=cells[a]){s=o.site;u=o.halfedges;l=u.length;while(l--){if(!edges[u[l]]){u.splice(l,1)}}l=0,c=u.length;while(l<c){p=cellHalfedgeEnd(o,edges[u[l]]),v=p[0],m=p[1];f=cellHalfedgeStart(o,edges[u[++l%c]]),h=f[0],d=f[1];if(Math.abs(v-h)>epsilon||Math.abs(m-d)>epsilon){u.splice(l,0,edges.push(createBorderEdge(s,p,Math.abs(v-t)<epsilon&&r-m>epsilon?[t,Math.abs(h-t)<epsilon?d:r]:Math.abs(m-r)<epsilon&&n-v>epsilon?[Math.abs(d-r)<epsilon?h:n,r]:Math.abs(v-n)<epsilon&&m-e>epsilon?[n,Math.abs(h-n)<epsilon?d:e]:Math.abs(m-e)<epsilon&&v-t>epsilon?[Math.abs(d-e)<epsilon?h:t,e]:null))-1);++c}}if(c)g=false}}if(g){var y,_,b,x=Infinity;for(a=0,g=null;a<i;++a){if(o=cells[a]){s=o.site;y=s[0]-t;_=s[1]-e;b=y*y+_*_;if(b<x)x=b,g=o}}if(g){var w=[t,e],$=[t,r],k=[n,r],M=[n,e];g.halfedges.push(edges.push(createBorderEdge(s=g.site,w,$))-1,edges.push(createBorderEdge(s,$,k))-1,edges.push(createBorderEdge(s,k,M))-1,edges.push(createBorderEdge(s,M,w))-1)}}for(a=0;a<i;++a){if(o=cells[a]){if(!o.halfedges.length){delete cells[a]}}}}var circlePool=[];var firstCircle;function Circle(){RedBlackNode(this);this.x=this.y=this.arc=this.site=this.cy=null}function attachCircle(t){var e=t.P,n=t.N;if(!e||!n)return;var r=e.site,i=t.site,a=n.site;if(r===a)return;var o=i[0],s=i[1],l=r[0]-o,u=r[1]-s,c=a[0]-o,f=a[1]-s;var h=2*(l*f-u*c);if(h>=-epsilon2)return;var d=l*l+u*u,p=c*c+f*f,v=(f*d-u*p)/h,m=(l*p-c*d)/h;var g=circlePool.pop()||new Circle;g.arc=t;g.site=i;g.x=v+o;g.y=(g.cy=m+s)+Math.sqrt(v*v+m*m);t.circle=g;var y=null,_=circles._;while(_){if(g.y<_.y||g.y===_.y&&g.x<=_.x){if(_.L)_=_.L;else{y=_.P;break}}else{if(_.R)_=_.R;else{y=_;break}}}circles.insert(y,g);if(!y)firstCircle=g}function detachCircle(t){var e=t.circle;if(e){if(!e.P)firstCircle=e.N;circles.remove(e);circlePool.push(e);RedBlackNode(e);t.circle=null}}var beachPool=[];function Beach(){RedBlackNode(this);this.edge=this.site=this.circle=null}function createBeach(t){var e=beachPool.pop()||new Beach;e.site=t;return e}function detachBeach(t){detachCircle(t);beaches.remove(t);beachPool.push(t);RedBlackNode(t)}function removeBeach(t){var e=t.circle,n=e.x,r=e.cy,i=[n,r],a=t.P,o=t.N,s=[t];detachBeach(t);var l=a;while(l.circle&&Math.abs(n-l.circle.x)<epsilon&&Math.abs(r-l.circle.cy)<epsilon){a=l.P;s.unshift(l);detachBeach(l);l=a}s.unshift(l);detachCircle(l);var u=o;while(u.circle&&Math.abs(n-u.circle.x)<epsilon&&Math.abs(r-u.circle.cy)<epsilon){o=u.N;s.push(u);detachBeach(u);u=o}s.push(u);detachCircle(u);var c=s.length,f;for(f=1;f<c;++f){u=s[f];l=s[f-1];setEdgeEnd(u.edge,l.site,u.site,i)}l=s[0];u=s[c-1];u.edge=createEdge(l.site,u.site,null,i);attachCircle(l);attachCircle(u)}function addBeach(t){var e=t[0],n=t[1],r,i,a,o,s=beaches._;while(s){a=leftBreakPoint(s,n)-e;if(a>epsilon)s=s.L;else{o=e-rightBreakPoint(s,n);if(o>epsilon){if(!s.R){r=s;break}s=s.R}else{if(a>-epsilon){r=s.P;i=s}else if(o>-epsilon){r=s;i=s.N}else{r=i=s}break}}}createCell(t);var l=createBeach(t);beaches.insert(r,l);if(!r&&!i)return;if(r===i){detachCircle(r);i=createBeach(r.site);beaches.insert(l,i);l.edge=i.edge=createEdge(r.site,l.site);attachCircle(r);attachCircle(i);return}if(!i){l.edge=createEdge(r.site,l.site);return}detachCircle(r);detachCircle(i);var u=r.site,c=u[0],f=u[1],h=t[0]-c,d=t[1]-f,p=i.site,v=p[0]-c,m=p[1]-f,g=2*(h*m-d*v),y=h*h+d*d,_=v*v+m*m,b=[(m*y-d*_)/g+c,(h*_-v*y)/g+f];setEdgeEnd(i.edge,u,p,b);l.edge=createEdge(u,t,null,b);i.edge=createEdge(t,p,null,b);attachCircle(r);attachCircle(i)}function leftBreakPoint(t,e){var n=t.site,r=n[0],i=n[1],a=i-e;if(!a)return r;var o=t.P;if(!o)return-Infinity;n=o.site;var s=n[0],l=n[1],u=l-e;if(!u)return s;var c=s-r,f=1/a-1/u,h=c/u;if(f)return(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+r;return(r+s)/2}function rightBreakPoint(t,e){var n=t.N;if(n)return leftBreakPoint(n,e);var r=t.site;return r[1]===e?r[0]:Infinity}var epsilon=1e-6;var epsilon2=1e-12;var beaches;var cells;var circles;var edges;function triangleArea(t,e,n){return(t[0]-n[0])*(e[1]-t[1])-(t[0]-e[0])*(n[1]-t[1])}function lexicographic(t,e){return e[1]-t[1]||e[0]-t[0]}function Diagram(t,e){var n=t.sort(lexicographic).pop(),r,i,a;edges=[];cells=new Array(t.length);beaches=new RedBlackTree;circles=new RedBlackTree;while(true){a=firstCircle;if(n&&(!a||n[1]<a.y||n[1]===a.y&&n[0]<a.x)){if(n[0]!==r||n[1]!==i){addBeach(n);r=n[0],i=n[1]}n=t.pop()}else if(a){removeBeach(a.arc)}else{break}}sortCellHalfedges();if(e){var o=+e[0][0],s=+e[0][1],l=+e[1][0],u=+e[1][1];clipEdges(o,s,l,u);clipCells(o,s,l,u)}this.edges=edges;this.cells=cells;beaches=circles=edges=cells=null}Diagram.prototype={constructor:Diagram,polygons:function(){var t=this.edges;return this.cells.map((function(e){var n=e.halfedges.map((function(n){return cellHalfedgeStart(e,t[n])}));n.data=e.site.data;return n}))},triangles:function(){var t=[],e=this.edges;this.cells.forEach((function(n,r){if(!(s=(a=n.halfedges).length))return;var i=n.site,a,o=-1,s,l,u=e[a[s-1]],c=u.left===i?u.right:u.left;while(++o<s){l=c;u=e[a[o]];c=u.left===i?u.right:u.left;if(l&&c&&r<l.index&&r<c.index&&triangleArea(i,l,c)<0){t.push([i.data,l.data,c.data])}}}));return t},links:function(){return this.edges.filter((function(t){return t.right})).map((function(t){return{source:t.left.data,target:t.right.data}}))},find:function(t,e,n){var r=this,i,a=r._found||0,o=r.cells.length,s;while(!(s=r.cells[a]))if(++a>=o)return null;var l=t-s.site[0],u=e-s.site[1],c=l*l+u*u;do{s=r.cells[i=a],a=null;s.halfedges.forEach((function(n){var i=r.edges[n],o=i.left;if((o===s.site||!o)&&!(o=i.right))return;var l=t-o[0],u=e-o[1],f=l*l+u*u;if(f<c)c=f,a=o.index}))}while(a!==null);r._found=i;return n==null||c<=n*n?s.site:null}};function voronoi(){var t=x,e=y,n=null;function r(r){return new Diagram(r.map((function(n,i){var a=[Math.round(t(n,i,r)/epsilon)*epsilon,Math.round(e(n,i,r)/epsilon)*epsilon];a.index=i;a.data=n;return a})),n)}r.polygons=function(t){return r(t).polygons()};r.links=function(t){return r(t).links()};r.triangles=function(t){return r(t).triangles()};r.x=function(e){return arguments.length?(t=typeof e==="function"?e:constant$1(+e),r):t};r.y=function(t){return arguments.length?(e=typeof t==="function"?t:constant$1(+t),r):e};r.extent=function(t){return arguments.length?(n=t==null?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):n&&[[n[0][0],n[0][1]],[n[1][0],n[1][1]]]};r.size=function(t){return arguments.length?(n=t==null?null:[[0,0],[+t[0],+t[1]]],r):n&&[n[1][0]-n[0][0],n[1][1]-n[0][1]]};return r}function constant(t){return function(){return t}}function ZoomEvent(t,e,n){this.target=t;this.type=e;this.transform=n}function Transform(t,e,n){this.k=t;this.x=e;this.y=n}Transform.prototype={constructor:Transform,scale:function(t){return t===1?this:new Transform(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Transform(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var identity$1=new Transform(1,0,0);transform$1.prototype=Transform.prototype;function transform$1(t){return t.__zoom||identity$1}function nopropagation(){event.stopImmediatePropagation()}function noevent(){event.preventDefault();event.stopImmediatePropagation()}function defaultFilter(){return!event.button}function defaultExtent(){var t=this,e,n;if(t instanceof SVGElement){t=t.ownerSVGElement||t;e=t.width.baseVal.value;n=t.height.baseVal.value}else{e=t.clientWidth;n=t.clientHeight}return[[0,0],[e,n]]}function defaultTransform(){return this.__zoom||identity$1}function defaultWheelDelta(){return-event.deltaY*(event.deltaMode?120:1)/500}function defaultTouchable(){return"ontouchstart"in this}function defaultConstrain(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],a=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function zoom(){var t=defaultFilter,e=defaultExtent,n=defaultConstrain,r=defaultWheelDelta,i=defaultTouchable,a=[0,Infinity],o=[[-Infinity,-Infinity],[Infinity,Infinity]],s=250,l=interpolateZoom,u=[],c=dispatch("start","zoom","end"),f,h,d=500,p=150,v=0;function m(t){t.property("__zoom",defaultTransform).on("wheel.zoom",$).on("mousedown.zoom",k).on("dblclick.zoom",M).filter(i).on("touchstart.zoom",S).on("touchmove.zoom",z).on("touchend.zoom touchcancel.zoom",E).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(t,e){var n=t.selection?t.selection():t;n.property("__zoom",defaultTransform);if(t!==n){b(t,e)}else{n.interrupt().each((function(){x(this,arguments).start().zoom(null,typeof e==="function"?e.apply(this,arguments):e).end()}))}};m.scaleBy=function(t,e){m.scaleTo(t,(function(){var t=this.__zoom.k,n=typeof e==="function"?e.apply(this,arguments):e;return t*n}))};m.scaleTo=function(t,r){m.transform(t,(function(){var t=e.apply(this,arguments),i=this.__zoom,a=_(t),s=i.invert(a),l=typeof r==="function"?r.apply(this,arguments):r;return n(y(g(i,l),a,s),t,o)}))};m.translateBy=function(t,r,i){m.transform(t,(function(){return n(this.__zoom.translate(typeof r==="function"?r.apply(this,arguments):r,typeof i==="function"?i.apply(this,arguments):i),e.apply(this,arguments),o)}))};m.translateTo=function(t,r,i){m.transform(t,(function(){var t=e.apply(this,arguments),a=this.__zoom,s=_(t);return n(identity$1.translate(s[0],s[1]).scale(a.k).translate(typeof r==="function"?-r.apply(this,arguments):-r,typeof i==="function"?-i.apply(this,arguments):-i),t,o)}))};function g(t,e){e=Math.max(a[0],Math.min(a[1],e));return e===t.k?t:new Transform(e,t.x,t.y)}function y(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new Transform(t.k,r,i)}function _(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function b(t,n,r){t.on("start.zoom",(function(){x(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){x(this,arguments).end()})).tween("zoom",(function(){var t=this,i=arguments,a=x(t,i),o=e.apply(t,i),s=r||_(o),u=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),c=t.__zoom,f=typeof n==="function"?n.apply(t,i):n,h=l(c.invert(s).concat(u/c.k),f.invert(s).concat(u/f.k));return function(t){if(t===1)t=f;else{var e=h(t),n=u/e[2];t=new Transform(n,s[0]-e[0]*n,s[1]-e[1]*n)}a.zoom(null,t)}}))}function x(t,e){for(var n=0,r=u.length,i;n<r;++n){if((i=u[n]).that===t){return i}}return new w(t,e)}function w(t,n){this.that=t;this.args=n;this.index=-1;this.active=0;this.extent=e.apply(t,n)}w.prototype={start:function(){if(++this.active===1){this.index=u.push(this)-1;this.emit("start")}return this},zoom:function(t,e){if(this.mouse&&t!=="mouse")this.mouse[1]=e.invert(this.mouse[0]);if(this.touch0&&t!=="touch")this.touch0[1]=e.invert(this.touch0[0]);if(this.touch1&&t!=="touch")this.touch1[1]=e.invert(this.touch1[0]);this.that.__zoom=e;this.emit("zoom");return this},end:function(){if(--this.active===0){u.splice(this.index,1);this.index=-1;this.emit("end")}return this},emit:function(t){customEvent(new ZoomEvent(m,t,this.that.__zoom),c.apply,c,[t,this.that,this.args])}};function $(){if(!t.apply(this,arguments))return;var e=x(this,arguments),i=this.__zoom,s=Math.max(a[0],Math.min(a[1],i.k*Math.pow(2,r.apply(this,arguments)))),l=mouse(this);if(e.wheel){if(e.mouse[0][0]!==l[0]||e.mouse[0][1]!==l[1]){e.mouse[1]=i.invert(e.mouse[0]=l)}clearTimeout(e.wheel)}else if(i.k===s)return;else{e.mouse=[l,i.invert(l)];interrupt(this);e.start()}noevent();e.wheel=setTimeout(u,p);e.zoom("mouse",n(y(g(i,s),e.mouse[0],e.mouse[1]),e.extent,o));function u(){e.wheel=null;e.end()}}function k(){if(h||!t.apply(this,arguments))return;var e=x(this,arguments),r=select(event.view).on("mousemove.zoom",l,true).on("mouseup.zoom",u,true),i=mouse(this),a=event.clientX,s=event.clientY;dragDisable(event.view);nopropagation();e.mouse=[i,this.__zoom.invert(i)];interrupt(this);e.start();function l(){noevent();if(!e.moved){var t=event.clientX-a,r=event.clientY-s;e.moved=t*t+r*r>v}e.zoom("mouse",n(y(e.that.__zoom,e.mouse[0]=mouse(e.that),e.mouse[1]),e.extent,o))}function u(){r.on("mousemove.zoom mouseup.zoom",null);yesdrag(event.view,e.moved);noevent();e.end()}}function M(){if(!t.apply(this,arguments))return;var r=this.__zoom,i=mouse(this),a=r.invert(i),l=r.k*(event.shiftKey?.5:2),u=n(y(g(r,l),i,a),e.apply(this,arguments),o);noevent();if(s>0)select(this).transition().duration(s).call(b,u,i);else select(this).call(m.transform,u)}function S(){if(!t.apply(this,arguments))return;var e=x(this,arguments),n=event.changedTouches,r,i=n.length,a,o,s;nopropagation();for(a=0;a<i;++a){o=n[a],s=touch(this,n,o.identifier);s=[s,this.__zoom.invert(s),o.identifier];if(!e.touch0)e.touch0=s,r=true;else if(!e.touch1)e.touch1=s}if(f){f=clearTimeout(f);if(!e.touch1){e.end();s=select(this).on("dblclick.zoom");if(s)s.apply(this,arguments);return}}if(r){f=setTimeout((function(){f=null}),d);interrupt(this);e.start()}}function z(){var t=x(this,arguments),e=event.changedTouches,r=e.length,i,a,s,l;noevent();if(f)f=clearTimeout(f);for(i=0;i<r;++i){a=e[i],s=touch(this,e,a.identifier);if(t.touch0&&t.touch0[2]===a.identifier)t.touch0[0]=s;else if(t.touch1&&t.touch1[2]===a.identifier)t.touch1[0]=s}a=t.that.__zoom;if(t.touch1){var u=t.touch0[0],c=t.touch0[1],h=t.touch1[0],d=t.touch1[1],p=(p=h[0]-u[0])*p+(p=h[1]-u[1])*p,v=(v=d[0]-c[0])*v+(v=d[1]-c[1])*v;a=g(a,Math.sqrt(p/v));s=[(u[0]+h[0])/2,(u[1]+h[1])/2];l=[(c[0]+d[0])/2,(c[1]+d[1])/2]}else if(t.touch0)s=t.touch0[0],l=t.touch0[1];else return;t.zoom("touch",n(y(a,s,l),t.extent,o))}function E(){var t=x(this,arguments),e=event.changedTouches,n=e.length,r,i;nopropagation();if(h)clearTimeout(h);h=setTimeout((function(){h=null}),d);for(r=0;r<n;++r){i=e[r];if(t.touch0&&t.touch0[2]===i.identifier)delete t.touch0;else if(t.touch1&&t.touch1[2]===i.identifier)delete t.touch1}if(t.touch1&&!t.touch0)t.touch0=t.touch1,delete t.touch1;if(t.touch0)t.touch0[1]=this.__zoom.invert(t.touch0[0]);else t.end()}m.wheelDelta=function(t){return arguments.length?(r=typeof t==="function"?t:constant(+t),m):r};m.filter=function(e){return arguments.length?(t=typeof e==="function"?e:constant(!!e),m):t};m.touchable=function(t){return arguments.length?(i=typeof t==="function"?t:constant(!!t),m):i};m.extent=function(t){return arguments.length?(e=typeof t==="function"?t:constant([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),m):e};m.scaleExtent=function(t){return arguments.length?(a[0]=+t[0],a[1]=+t[1],m):[a[0],a[1]]};m.translateExtent=function(t){return arguments.length?(o[0][0]=+t[0][0],o[1][0]=+t[1][0],o[0][1]=+t[0][1],o[1][1]=+t[1][1],m):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]};m.constrain=function(t){return arguments.length?(n=t,m):n};m.duration=function(t){return arguments.length?(s=+t,m):s};m.interpolate=function(t){return arguments.length?(l=t,m):l};m.on=function(){var t=c.on.apply(c,arguments);return t===c?m:t};m.clickDistance=function(t){return arguments.length?(v=(t=+t)*t,m):Math.sqrt(v)};return m}var d3=Object.freeze({__proto__:null,version:version,bisect:bisectRight,bisectRight:bisectRight,bisectLeft:bisectLeft,ascending:ascending$2,bisector:bisector,cross:cross$2,descending:descending$2,deviation:deviation,extent:extent$1,histogram:histogram,thresholdFreedmanDiaconis:freedmanDiaconis,thresholdScott:scott,thresholdSturges:sturges,max:max$2,mean:mean,median:median,merge:merge$1,min:min$1,pairs:pairs,permute:permute,quantile:threshold$1,range:sequence,scan:scan,shuffle:shuffle$1,sum:sum$2,ticks:ticks,tickIncrement:tickIncrement,tickStep:tickStep,transpose:transpose,variance:variance,zip:zip,axisTop:axisTop,axisRight:axisRight,axisBottom:axisBottom,axisLeft:axisLeft,brush:brush,brushX:brushX,brushY:brushY,brushSelection:brushSelection,chord:chord,ribbon:ribbon,nest:nest,set:set,map:map$1,keys:keys,values:values,entries:entries,color:color,rgb:rgb,hsl:hsl$2,lab:lab$1,hcl:hcl$2,cubehelix:cubehelix$3,dispatch:dispatch,drag:drag,dragDisable:dragDisable,dragEnable:yesdrag,dsvFormat:dsv$1,csvParse:csvParse,csvParseRows:csvParseRows,csvFormat:csvFormat,csvFormatRows:csvFormatRows,tsvParse:tsvParse,tsvParseRows:tsvParseRows,tsvFormat:tsvFormat,tsvFormatRows:tsvFormatRows,easeLinear:linear$1,easeQuad:quadInOut,easeQuadIn:quadIn,easeQuadOut:quadOut,easeQuadInOut:quadInOut,easeCubic:cubicInOut,easeCubicIn:cubicIn,easeCubicOut:cubicOut,easeCubicInOut:cubicInOut,easePoly:polyInOut,easePolyIn:polyIn,easePolyOut:polyOut,easePolyInOut:polyInOut,easeSin:sinInOut,easeSinIn:sinIn,easeSinOut:sinOut,easeSinInOut:sinInOut,easeExp:expInOut,easeExpIn:expIn,easeExpOut:expOut,easeExpInOut:expInOut,easeCircle:circleInOut,easeCircleIn:circleIn,easeCircleOut:circleOut,easeCircleInOut:circleInOut,easeBounce:bounceOut,easeBounceIn:bounceIn,easeBounceOut:bounceOut,easeBounceInOut:bounceInOut,easeBack:backInOut,easeBackIn:backIn,easeBackOut:backOut,easeBackInOut:backInOut,easeElastic:elasticOut,easeElasticIn:elasticIn,easeElasticOut:elasticOut,easeElasticInOut:elasticInOut,forceCenter:center,forceCollide:collide,forceLink:link$2,forceManyBody:manyBody,forceRadial:radial,forceSimulation:simulation,forceX:x$2,forceY:y$2,formatDefaultLocale:defaultLocale$1,get format(){return format},get formatPrefix(){return formatPrefix},formatLocale:formatLocale$1,formatSpecifier:formatSpecifier,precisionFixed:precisionFixed,precisionPrefix:precisionPrefix,precisionRound:precisionRound,geoArea:area$2,geoBounds:bounds,geoCentroid:centroid$1,geoCircle:circle$2,geoClipAntimeridian:clipAntimeridian,geoClipCircle:clipCircle,geoClipExtent:extent,geoClipRectangle:clipRectangle,geoContains:contains$1,geoDistance:distance,geoGraticule:graticule,geoGraticule10:graticule10,geoInterpolate:interpolate,geoLength:length$1,geoPath:index$2,geoAlbers:albers,geoAlbersUsa:albersUsa,geoAzimuthalEqualArea:azimuthalEqualArea,geoAzimuthalEqualAreaRaw:azimuthalEqualAreaRaw,geoAzimuthalEquidistant:azimuthalEquidistant,geoAzimuthalEquidistantRaw:azimuthalEquidistantRaw,geoConicConformal:conicConformal,geoConicConformalRaw:conicConformalRaw,geoConicEqualArea:conicEqualArea,geoConicEqualAreaRaw:conicEqualAreaRaw,geoConicEquidistant:conicEquidistant,geoConicEquidistantRaw:conicEquidistantRaw,geoEquirectangular:equirectangular,geoEquirectangularRaw:equirectangularRaw,geoGnomonic:gnomonic,geoGnomonicRaw:gnomonicRaw,geoIdentity:identity$4,geoProjection:projection,geoProjectionMutator:projectionMutator,geoMercator:mercator,geoMercatorRaw:mercatorRaw,geoNaturalEarth1:naturalEarth1,geoNaturalEarth1Raw:naturalEarth1Raw,geoOrthographic:orthographic,geoOrthographicRaw:orthographicRaw,geoStereographic:stereographic,geoStereographicRaw:stereographicRaw,geoTransverseMercator:transverseMercator,geoTransverseMercatorRaw:transverseMercatorRaw,geoRotation:rotation,geoStream:geoStream,geoTransform:transform$2,cluster:cluster,hierarchy:hierarchy,pack:index$1,packSiblings:siblings,packEnclose:enclose,partition:partition,stratify:stratify,tree:tree,treemap:index,treemapBinary:binary,treemapDice:treemapDice,treemapSlice:treemapSlice,treemapSliceDice:sliceDice,treemapSquarify:squarify,treemapResquarify:resquarify,interpolate:interpolateValue,interpolateArray:array$1,interpolateBasis:basis$2,interpolateBasisClosed:basisClosed$1,interpolateDate:date$1,interpolateNumber:reinterpolate$1,interpolateObject:object$2,interpolateRound:interpolateRound,interpolateString:interpolateString,interpolateTransformCss:interpolateTransformCss,interpolateTransformSvg:interpolateTransformSvg,interpolateZoom:interpolateZoom,interpolateRgb:interpolateRgb,interpolateRgbBasis:rgbBasis,interpolateRgbBasisClosed:rgbBasisClosed,interpolateHsl:hsl$1,interpolateHslLong:hslLong,interpolateLab:lab,interpolateHcl:hcl$1,interpolateHclLong:hclLong,interpolateCubehelix:cubehelix$2,interpolateCubehelixLong:cubehelixLong,quantize:quantize$2,path:path,polygonArea:area$1,polygonCentroid:centroid,polygonHull:hull,polygonContains:contains,polygonLength:length,quadtree:quadtree,queue:queue,randomUniform:uniform,randomNormal:normal,randomLogNormal:logNormal,randomBates:bates,randomIrwinHall:irwinHall,randomExponential:exponential,request:request,html:html,json:json,text:text,xml:xml,csv:csv,tsv:tsv,scaleBand:band,scalePoint:point$4,scaleIdentity:identity$3,scaleLinear:linear,scaleLog:log,scaleOrdinal:ordinal,scaleImplicit:implicit,scalePow:pow,scaleSqrt:sqrt$1,scaleQuantile:quantile,scaleQuantize:quantize$1,scaleThreshold:threshold,scaleTime:time,scaleUtc:utcTime,schemeCategory10:category10,schemeCategory20b:category20b,schemeCategory20c:category20c,schemeCategory20:category20,interpolateCubehelixDefault:cubehelix,interpolateRainbow:rainbow$1,interpolateWarm:warm,interpolateCool:cool,interpolateViridis:viridis,interpolateMagma:magma,interpolateInferno:inferno,interpolatePlasma:plasma,scaleSequential:sequential,create:create$1,creator:creator,local:local$1,matcher:matcher$1,mouse:mouse,namespace:namespace,namespaces:namespaces,clientPoint:point$5,select:select,selectAll:selectAll,selection:selection,selector:selector,selectorAll:selectorAll,style:styleValue,touch:touch,touches:touches,window:defaultView,get event(){return event},customEvent:customEvent,arc:arc,area:area,line:line,pie:pie,areaRadial:areaRadial,radialArea:areaRadial,lineRadial:lineRadial$1,radialLine:lineRadial$1,pointRadial:pointRadial,linkHorizontal:linkHorizontal,linkVertical:linkVertical,linkRadial:linkRadial,symbol:symbol,symbols:symbols,symbolCircle:circle,symbolCross:cross,symbolDiamond:diamond,symbolSquare:square,symbolStar:star,symbolTriangle:triangle,symbolWye:wye,curveBasisClosed:basisClosed,curveBasisOpen:basisOpen,curveBasis:basis,curveBundle:bundle,curveCardinalClosed:cardinalClosed,curveCardinalOpen:cardinalOpen,curveCardinal:cardinal,curveCatmullRomClosed:catmullRomClosed,curveCatmullRomOpen:catmullRomOpen,curveCatmullRom:catmullRom,curveLinearClosed:linearClosed,curveLinear:curveLinear,curveMonotoneX:monotoneX,curveMonotoneY:monotoneY,curveNatural:natural,curveStep:step,curveStepAfter:stepAfter,curveStepBefore:stepBefore,stack:stack,stackOffsetExpand:expand,stackOffsetDiverging:diverging,stackOffsetNone:none$1,stackOffsetSilhouette:silhouette,stackOffsetWiggle:wiggle,stackOrderAscending:ascending,stackOrderDescending:descending,stackOrderInsideOut:insideOut,stackOrderNone:none,stackOrderReverse:reverse$1,timeInterval:newInterval,timeMillisecond:millisecond,timeMilliseconds:milliseconds,utcMillisecond:millisecond,utcMilliseconds:milliseconds,timeSecond:second,timeSeconds:seconds,utcSecond:second,utcSeconds:seconds,timeMinute:minute,timeMinutes:minutes,timeHour:hour,timeHours:hours,timeDay:day,timeDays:days,timeWeek:sunday,timeWeeks:sundays,timeSunday:sunday,timeSundays:sundays,timeMonday:monday,timeMondays:mondays,timeTuesday:tuesday,timeTuesdays:tuesdays,timeWednesday:wednesday,timeWednesdays:wednesdays,timeThursday:thursday,timeThursdays:thursdays,timeFriday:friday,timeFridays:fridays,timeSaturday:saturday,timeSaturdays:saturdays,timeMonth:month,timeMonths:months,timeYear:year,timeYears:years,utcMinute:utcMinute,utcMinutes:utcMinutes,utcHour:utcHour,utcHours:utcHours,utcDay:utcDay,utcDays:utcDays,utcWeek:utcSunday,utcWeeks:utcSundays,utcSunday:utcSunday,utcSundays:utcSundays,utcMonday:utcMonday,utcMondays:utcMondays,utcTuesday:utcTuesday,utcTuesdays:utcTuesdays,utcWednesday:utcWednesday,utcWednesdays:utcWednesdays,utcThursday:utcThursday,utcThursdays:utcThursdays,utcFriday:utcFriday,utcFridays:utcFridays,utcSaturday:utcSaturday,utcSaturdays:utcSaturdays,utcMonth:utcMonth,utcMonths:utcMonths,utcYear:utcYear,utcYears:utcYears,timeFormatDefaultLocale:defaultLocale,get timeFormat(){return timeFormat},get timeParse(){return timeParse},get utcFormat(){return utcFormat},get utcParse(){return utcParse},timeFormatLocale:formatLocale,isoFormat:formatIso,isoParse:parseIso,now:now,timer:timer,timerFlush:timerFlush,timeout:timeout,interval:interval,transition:transition,active:active,interrupt:interrupt,voronoi:voronoi,zoom:zoom,zoomTransform:transform$1,zoomIdentity:identity$1});var require$$0=getAugmentedNamespace(d3);var sszvis=createCommonjsModule((function(t,e){
2
- /*! sszvis v2.1.1, Copyright 2014-present Statistik Stadt Zürich */
3
- (function(t,n){n(e,require$$0)})(commonjsGlobal,(function(t,e){e.selection.prototype.selectDiv=function(t){var e=this.selectAll('[data-d3-selectdiv="'+t+'"]').data((function(t){return[t]}));var n=e.enter().append("div").attr("data-d3-selectdiv",t).style("position","absolute");return e.merge(n)};e.selection.prototype.selectGroup=function(t){var e=this.selectAll('[data-d3-selectgroup="'+t+'"]').data((function(t){return[t]}));var n=e.enter().append("g").attr("data-d3-selectgroup",t);return e.merge(n)};(function(){if(typeof window==="undefined"){return}var t=function t(e,n){var r=e.nodeType;if(r==3){n.push(e.textContent.replace(/&/,"&amp;").replace(/</,"&lt;").replace(">","&gt;"))}else if(r==1){n.push("<",e.tagName);if(e.hasAttributes()){var i=e.attributes;for(var a=0,o=i.length;a<o;++a){var s=i.item(a);n.push(" ",s.name,"='",s.value,"'")}}if(e.hasChildNodes()){n.push(">");var l=e.childNodes;for(var a=0,o=l.length;a<o;++a){t(l.item(a),n)}n.push("</",e.tagName,">")}else{n.push("/>")}}else if(r==8){n.push("\x3c!--",e.nodeValue,"--\x3e")}else{throw"Error serializing XML. Unhandled node of type: "+r}};Object.defineProperty(SVGElement.prototype,"innerHTML",{get:function e(){var n=[];var r=this.firstChild;while(r){t(r,n);r=r.nextSibling}return n.join("")},set:function t(e){while(this.firstChild){this.removeChild(this.firstChild)}try{var n=new DOMParser;n.async=false;var r="<svg xmlns='http://www.w3.org/2000/svg'>"+e+"</svg>";var i=n.parseFromString(r,"text/xml").documentElement;var a=i.firstChild;while(a){this.appendChild(this.ownerDocument.importNode(a,true));a=a.nextSibling}}catch(o){throw new Error("Error parsing XML string")}}});Object.defineProperty(SVGElement.prototype,"innerSVG",{get:function t(){return this.innerHTML},set:function t(e){this.innerHTML=e}})})();var n=function t(e){return e};var r=function t(e){return Object.prototype.toString.call(e)==="[object String]"};var i=function t(n){return n instanceof e.selection};var a=function t(e,n){switch(e){case 0:return function(){return n.call(this)};case 1:return function(t){return n.call(this,t)};case 2:return function(t,e){return n.call(this,t,e)};case 3:return function(t,e,r){return n.call(this,t,e,r)};case 4:return function(t,e,r,i){return n.call(this,t,e,r,i)};case 5:return function(t,e,r,i,a){return n.call(this,t,e,r,i,a)};case 6:return function(t,e,r,i,a,o){return n.call(this,t,e,r,i,a,o)};case 7:return function(t,e,r,i,a,o,s){return n.call(this,t,e,r,i,a,o,s)};case 8:return function(t,e,r,i,a,o,s,l){return n.call(this,t,e,r,i,a,o,s,l)};case 9:return function(t,e,r,i,a,o,s,l,u){return n.call(this,t,e,r,i,a,o,s,l,u)};case 10:return function(t,e,r,i,a,o,s,l,u,c){return n.call(this,t,e,r,i,a,o,s,l,u,c)};default:return n}};var o=function t(){var e=arguments,n=arguments.length-1;return function(){var t=n;var r=e[t].apply(this,arguments);while(t--){r=e[t].call(this,r)}return r}};var s=function t(e,n){return e.indexOf(n)>=0};var l=function t(e){return typeof e!=="undefined"&&e!=null};var u=function t(e,r){r||(r=n);var i=[],a,o,s=[];for(var l=0,u=e.length;l<u;++l){a=e[l];o=r(a,l,e);if(i.indexOf(o)<0){i.push(o);s.push(a)}}return s};var c=function t(e,n){for(var r=0;r<n.length;r++){if(!e(n[r])){return false}}return true};var f=function t(e,n){var r=new Array(e);for(var i=0;i<e;++i){r[i]=n}return r};var h=function t(e,n){for(var r=0;r<n.length;r++){if(e(n[r])){return n[r]}}return undefined};var d=function t(e){return e[0]};var p=function t(e){return Array.prototype.concat.apply([],e)};var v=function t(e){if(e.touches&&e.touches.length){return e.touches[0]}else if(e.changedTouches&&e.changedTouches.length){return e.changedTouches[0]}return null};var m=function t(e,n){var r=n[e];if(typeof r==="function"){return r()}throw new Error("[foldPattern] No definition provided for key: "+e)};var g=function t(e,r){r||(r=n);var i={},a,o=[];for(var s=0,l=e.length;s<l;++s){a=r(e[s],s,e);if(!i[a]){i[a]=true;o.push(a)}}return o};var y=function t(e){return typeof e=="function"};var _=function t(e){return e===null};var b=function t(e){return Object.prototype.toString.call(e)==="[object Number]"};var x=function t(e){return Object(e)===e};var w=function t(e){return e[e.length-1]};var $=function t(e){return function(){return!e.apply(this,arguments)}};var k=function t(e){return function(t){return t[e]}};var M=function t(e,n){return function(t){var r=t!==undefined?t[e]:undefined;return r!==undefined?r:n}};var S=function t(e,r){r||(r=n);return e.reduce((function(t,n,i){var a=r(n,i,e);return t.indexOf(a)<0?t.concat(a):t}),[])};var z=function t(e,n){for(var r=0;r<n.length;r++){if(e(n[r])){return true}}return false};var E=function t(e,n){return e.toString()===n.toString()};var C=function t(e){return typeof e==="function"?e:function(){return e}};var A=function t(n,r){if(typeof n!="function"||r!=null&&typeof r!="function"){throw new TypeError("Expected a function")}var i=function t(){var e=arguments,i=r?r.apply(this,e):e[0],a=t.cache;if(a.has(i)){return a.get(i)}var o=n.apply(this,e);t.cache=a.set(i,o)||a;return o};i.cache=e.map();return i};function R(t,e,n){var r=T(t).selectAll(e+"#"+n).data([0]);var i=r.enter().append(e).attr("id",n);return r.merge(i)}function T(t){var e=t.selectAll("defs").data([0]);var n=e.enter().append("defs");return e.merge(n)}var N=.6;function P(t){return function(){var n=e.scaleOrdinal().range(t.map(lt));return at(n)}}var L=P(["#5182B3","#B8CFE6","#60BF97","#B8E6D2","#94BF69","#CFE6B8","#E6CF73","#FAEBAF","#E67D73","#F2CEC2","#CC6788","#E6B7C7"]);var F=P(["#5182B3","#60BF97","#94BF69","#E6CF73","#E67D73","#CC6788"]);var D=P(["#5182B3","#B8CFE6","#60BF97","#B8E6D2","#94BF69","#CFE6B8"]);var I=P(["#E6CF73","#FAEBAF","#E67D73","#F2CEC2","#CC6788","#E6B7C7"]);function O(t){return function(){var n=e.scaleLinear().range(t.map(lt));return ot(n)}}var B=O(["#DDE9FE","#3B76B3","#343F4D"]);var q=O(["#FEECEC","#CC6171","#4D353A"]);var H=O(["#D2DFDE","#4A807C","#2C3C3F"]);var U=O(["#E9DFD6","#A67D5A","#4C3735"]);function j(t){return function(){var n=e.scaleLinear().range(t.map(lt));return ot(n)}}var Y=j(["#CC6171","#FFFFFF","#3B76B3"]);var W=j(["#CC6171","#F3F3F3","#3B76B3"]);var G=j(["#A67D5A","#FFFFFF","#4A807C"]);var X=j(["#A67D5A","#F3F3F3","#4A807C"]);function V(t){return function(){var n=e.scaleOrdinal().range(t.map(lt));return ot(n)}}var Z=V(["#FAFAFA"]);var Q=V(["#EAEAEA"]);var J=V(["#D6D6D6"]);var K=V(["#B8B8B8"]);var tt=V(["#7C7C7C"]);var et=V(["#545454"]);var nt=function t(n){return e.hsl(n).darker(.4)};var rt=function t(n){return e.hsl(n).darker(.7)};var it=function t(n,r){var i=e.rgb(n);return"rgba("+i.r+","+i.g+","+i.b+","+r+")"};function at(t){t.darker=function(){return at(t.copy().range(t.range().map(ut("darker",N))))};t.brighter=function(){return at(t.copy().range(t.range().map(ut("brighter",N))))};t.reverse=function(){return at(t.copy().range(t.range().reverse()))};return t}function ot(t){t=st(t);t.reverse=function(){return ot(t.copy().range(t.range().reverse()))};return t}function st(t){var n=t.domain;t.domain=function(t){if(arguments.length===1){var r=[t[0],e.mean(t),t[1]];return n.call(this,r)}else{return n.apply(this,arguments)}};return t}function lt(t){return e.lab(t)}function ut(t){var e=Array.prototype.slice.call(arguments,1);return function(n){return n[t].apply(n,e)}}var ct=function t(e){var n=Z(),r="#A4A4A4",i=.035,a=.35,o=.65;e.attr("patternUnits","objectBoundingBox").attr("patternContentUnits","objectBoundingBox").attr("x",0).attr("y",0).attr("width",1).attr("height",1);e.append("rect").attr("x",0).attr("y",0).attr("width",1).attr("height",1).attr("fill",n);e.append("line").attr("x1",a).attr("y1",a).attr("x2",o).attr("y2",o).attr("stroke-width",i).attr("stroke",r);e.append("line").attr("x1",o).attr("y1",a).attr("x2",a).attr("y2",o).attr("stroke-width",i).attr("stroke",r)};var ft=function t(e){var n=14,r=14,i="#FAFAFA",a="#CCCCCC";e.attr("patternUnits","userSpaceOnUse").attr("patternContentUnits","userSpaceOnUse").attr("x",0).attr("y",0).attr("width",n).attr("height",r);e.append("rect").attr("x",0).attr("y",0).attr("width",n).attr("height",r).attr("fill",i);e.append("line").attr("x1",1).attr("y1",10).attr("x2",5).attr("y2",14).attr("stroke",a);e.append("line").attr("x1",5).attr("y1",10).attr("x2",1).attr("y2",14).attr("stroke",a);e.append("line").attr("x1",8).attr("y1",3).attr("x2",12).attr("y2",7).attr("stroke",a);e.append("line").attr("x1",12).attr("y1",3).attr("x2",8).attr("y2",7).attr("stroke",a)};var ht=function t(e){var n=6;var r=6;var i=.5;e.attr("patternUnits","userSpaceOnUse").attr("patternContentUnits","userSpaceOnUse").attr("x",0).attr("y",0).attr("width",n).attr("height",r);e.append("rect").attr("x",0).attr("y",0).attr("width",n).attr("height",r).attr("fill","#fff");e.append("line").attr("x1",0).attr("y1",r*i).attr("x2",n*i).attr("y2",0).attr("stroke","#ddd").attr("stroke-linecap","square");e.append("line").attr("x1",n*i).attr("y1",r).attr("x2",n).attr("y2",r*i).attr("stroke","#ddd").attr("stroke-linecap","square")};var dt=function t(e){e.attr("x1",0).attr("y1",0).attr("x2",.55).attr("y2",1).attr("id","lake-fade-gradient");e.append("stop").attr("offset",.74).attr("stop-color","white").attr("stop-opacity",1);e.append("stop").attr("offset",.97).attr("stop-color","white").attr("stop-opacity",0)};var pt=function t(e){e.attr("maskContentUnits","objectBoundingBox");e.append("rect").attr("fill","url(#lake-fade-gradient)").attr("width",1).attr("height",1)};var vt=function t(e){var n=6;var r=6;var i=.5;e.attr("patternUnits","userSpaceOnUse").attr("patternContentUnits","userSpaceOnUse").attr("x",0).attr("y",0).attr("width",n).attr("height",r);e.append("line").attr("x1",0).attr("y1",r*i).attr("x2",n*i).attr("y2",0).attr("stroke","#e6e6e6").attr("stroke-width",1.1);e.append("line").attr("x1",n*i).attr("y1",r).attr("x2",n).attr("y2",r*i).attr("stroke","#e6e6e6").attr("stroke-width",1.1)};function mt(){var t={};var e=null;var n=yt;function r(r){if(e){r.props=function(){return bt(t)};e.apply(r,_t(arguments))}r.each((function(){this.__props__=bt(t);n.apply(this,_t(arguments))}))}r.prop=function(e,n){n||(n=yt);r[e]=gt(t,e,n.bind(r)).bind(r);return r};r.delegate=function(t,e){r[t]=function(){var n=e[t].apply(e,_t(arguments));return arguments.length===0?n:r};return r};r.renderSelection=function(t){e=t;return r};r.render=function(t){n=t;return r};return r}e.selection.prototype.props=function(){if(arguments.length)throw new Error("selection.props() does not accept any arguments");if(this.size()!=1)throw new Error("only one group is supported");if(this._groups[0].length!=1)throw new Error("only one node is supported");var t=this._groups[0];var e=t[0];return e.__props__||{}};function gt(t,e,n){n||(n=yt);return function(){if(!arguments.length)return t[e];t[e]=n.apply(null,_t(arguments));return this}}function yt(t){return t}function _t(t){return Array.prototype.slice.call(t)}function bt(t){var e={};for(var n in t){if({}.hasOwnProperty.call(t,n))e[n]=t[n]}return e}function xt(){return mt().prop("x",C).prop("y",C).prop("r",C).prop("dx",C).prop("dy",C).prop("caption",C).render((function(t){var n=e.select(this);var r=n.props();R(n,"pattern","data-area-pattern").call(vt);var i=n.selectAll(".sszvis-dataareacircle").data(t);var a=i.enter().append("circle").classed("sszvis-dataareacircle",true);i=i.merge(a);i.attr("cx",r.x).attr("cy",r.y).attr("r",r.r).attr("fill","url(#data-area-pattern)");if(r.caption){var o=n.selectAll(".sszvis-dataareacircle__caption").data(t);var s=o.enter().append("text").classed("sszvis-dataareacircle__caption",true);o=o.merge(s);o.attr("x",r.x).attr("y",r.y).attr("dx",r.dx).attr("dy",r.dy).text(r.caption)}}))}function wt(){return mt().prop("x1").prop("x2").prop("y1").prop("y2").prop("xScale").prop("yScale").prop("dx",C).dx(0).prop("dy",C).dy(0).prop("caption",C).render((function(t){var n=e.select(this);var r=n.props();var i=r.xScale(r.x1);var a=r.yScale(r.y1);var o=r.xScale(r.x2);var s=r.yScale(r.y2);var l=n.selectAll(".sszvis-referenceline").data(t);l.exit().remove();var u=l.enter().append("line").classed("sszvis-referenceline",true);l=l.merge(u);l.attr("x1",i).attr("y1",a).attr("x2",o).attr("y2",s);if(r.caption){var c=n.selectAll(".sszvis-referenceline__caption").data([0]);c.exit().remove();var f=c.enter().append("text").classed("sszvis-referenceline__caption",true);c=c.merge(f);c.attr("transform",(function(){var t=o-i;var e=s-a;var n=Math.atan2(e,t)*180/Math.PI;return"translate("+(i+o)/2+","+(a+s)/2+") rotate("+n+")"})).attr("dx",r.dx).attr("dy",r.dy).text(r.caption)}}))}var $t=function t(e){return Math.floor(e)+.5};var kt=function t(e){var n=o(Math.floor,Number);return e.replace(/(translate\()\s*([0-9., ]+)\s*(\))/i,(function(t,e,r,i){var a=r.replace(","," ").replace(/\s+/," ").split(" ").map(n).join(",");return e+a+i}))};var Mt=function t(e){var n=o(Math.floor,Number);var r=e.match(/(translate\()\s*([0-9.,\- ]+)\s*(\))/i);var i=r[2].replace(","," ").replace(/\s+/," ").split(" ").map(Number);if(i.length===1)i.push([0]);var a=i.map(n);return[i[0]-a[0],i[1]-a[1]]};function St(t,e){return"translate("+t+","+e+")"}function zt(){return mt().prop("position").position(C([0,0])).prop("debug").render((function(n){var r=e.select(this);var i=r.props();var a=r.selectAll("[data-tooltip-anchor]").data(n);var s=a.enter().append("rect").attr("height",1).attr("width",1).attr("fill","none").attr("stroke","none").attr("visibility","none").attr("data-tooltip-anchor","");a.exit().remove();a=a.merge(s);a.attr("transform",o(t,i.position));if(i.debug){var l=r.selectAll("[data-tooltip-anchor-debug]").data(n);var u=l.enter().append("circle").attr("data-tooltip-anchor-debug","");l.exit().remove();l=l.merge(u);l.attr("r",2).attr("fill","#fff").attr("stroke","#f00").attr("stroke-width",1.5).attr("transform",o(t,i.position))}}));function t(t){return St.apply(null,t)}}function Et(){return mt().prop("x",C).prop("y0",C).prop("y1",C).render((function(t){var n=e.select(this);var r=n.props();var i=o($t,r.x);var a=o($t,r.y0);var s=o($t,r.y1);n.selectAll(".sszvis-rangeFlag__mark.bottom").data(t).call(Ct("bottom",i,a));n.selectAll(".sszvis-rangeFlag__mark.top").data(t).call(Ct("top",i,s));var l=zt().position((function(t){return[i(t),$t((r.y0(t)+r.y1(t))/2)]}));n.call(l)}))}function Ct(t,e,n){return function(r){var i=r.enter().append("circle").classed("sszvis-rangeFlag__mark",true).classed(t,true);r.exit().remove();r=r.merge(i);r.attr("r",3.5).attr("cx",e).attr("cy",n)}}var At={decimal:".",thousands:" ",grouping:[3],currency:["CHF ",""],dateTime:"%a. %e. %B %X %Y",date:"%d.%m.%Y",time:"%H:%M:%S",periods:[],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]};var Rt=e.timeFormatLocale(At).format;var Tt=e.formatLocale(At).format;var Nt=function t(e){return String(Math.round(e))};var Pt=function t(e){var n=[[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%H:%M",function(t){return t.getMinutes()}],["%H Uhr",function(t){return t.getHours()}],["%a., %d.",function(t){return t.getDay()&&t.getDate()!=1}],["%e. %b",function(t){return t.getDate()!=1}],["%B",function(t){return t.getMonth()}],["%Y",function(){return true}]];for(var r=0;r<n.length;++r){if(n[r][1](e)){return Rt(n[r][0])(e)}}};var Lt=o((function(t){return t.toUpperCase()}),Rt("%b"));var Ft=Rt("%Y");var Dt=function t(){return""};var It=function t(e){var n;var r=Math.abs(e);if(e==null||isNaN(e)){return"–"}else if(r>=1e4){return Tt(",.0f")(e)}else if(r>=100){n=Math.min(1,Ut(e));return jt(Tt("."+n+"f")(e))}else if(r>0){n=Math.min(2,Ut(e));return jt(Tt("."+n+"f")(e))}else{return Tt(".0f")(0)}};var Ot=function t(e,n){if(arguments.length>1)return t(e)(n);return function(t){var n=Math.abs(t);if(n>=100&&n<1e4){return Tt("."+e+"f")(t)}else{return Tt(",."+e+"f")(t)}}};var Bt=function t(e){return It(e)+" %"};var qt=function t(e){return It(e*100)+" %"};var Ht=function t(e){return String(e)};function Ut(t){return(String(Math.abs(t)).split(".")[1]||"").length}function jt(t){return t.replace(/(\.[0-9]*[1-9])0+$|\.0*$/,"$1")}function Yt(){return mt().prop("x",C).prop("y0",C).prop("y1",C).prop("top").prop("bottom").prop("label").label(C("")).prop("total").prop("flip",C).flip(false).render((function(t){var n=e.select(this);var r=n.props();var i=o($t,r.x);var a=o($t,r.y0);var s=o($t,r.y1);var l=function t(e){return $t((r.y0(e)+r.y1(e))/2)};var u=1.5;var c=n.selectAll(".sszvis-rangeRuler__rule").data([0]);var f=c.enter().append("line").classed("sszvis-rangeRuler__rule",true);c.exit().remove();c=c.merge(f);c.attr("x1",i).attr("y1",r.top).attr("x2",i).attr("y2",r.bottom);var h=n.selectAll(".sszvis-rangeRuler--mark").data(t);var d=h.enter().append("g").classed("sszvis-rangeRuler--mark",true);h.exit().remove();h=h.merge(d);d.append("circle").classed("sszvis-rangeRuler__p1",true);d.append("circle").classed("sszvis-rangeRuler__p2",true);d.append("text").classed("sszvis-rangeRuler__label",true);h.selectAll(".sszvis-rangeRuler__p1").data((function(t){return[t]})).attr("cx",i).attr("cy",a).attr("r",u);h.selectAll(".sszvis-rangeRuler__p2").data((function(t){return[t]})).attr("cx",i).attr("cy",s).attr("r",u);h.selectAll(".sszvis-rangeRuler__label").data((function(t){return[t]})).attr("x",(function(t){var e=r.flip(t)?-10:10;return i(t)+e})).attr("y",l).attr("dy","0.35em").style("text-anchor",(function(t){return r.flip(t)?"end":"start"})).text(o(It,r.label));var p=n.selectAll(".sszvis-rangeRuler__total").data([w(t)]);var v=p.enter().append("text").classed("sszvis-rangeRuler__total",true);p.exit().remove();p=p.merge(v);p.attr("x",(function(t){var e=r.flip(t)?-10:10;return i(t)+e})).attr("y",r.top-10).style("text-anchor",(function(t){return r.flip(t)?"end":"start"})).text("Total "+It(r.total))}))}function Wt(){return mt().prop("x",C).prop("y",C).prop("width",C).prop("height",C).prop("dx",C).prop("dy",C).prop("caption",C).render((function(t){var n=e.select(this);var r=n.props();R(n,"pattern","data-area-pattern").call(vt);var i=n.selectAll(".sszvis-dataarearectangle").data(t);var a=i.enter().append("rect").classed("sszvis-dataarearectangle",true);i=i.merge(a);i.attr("x",r.x).attr("y",r.y).attr("width",r.width).attr("height",r.height).attr("fill","url(#data-area-pattern)");if(r.caption){var o=n.selectAll(".sszvis-dataarearectangle__caption").data(t);var s=o.enter().append("text").classed("sszvis-dataarearectangle__caption",true);o=o.merge(s);o.attr("x",(function(t,e){return r.x(t,e)+r.width(t,e)/2})).attr("y",(function(t,e){return r.y(t,e)+r.height(t,e)/2})).attr("dx",r.dx).attr("dy",r.dy).text(r.caption)}}))}function Gt(){return mt().prop("top").prop("bottom").prop("x",C).prop("y",C).prop("label").label(C("")).prop("color").prop("flip",C).flip(false).prop("labelId",C).prop("reduceOverlap").reduceOverlap(true).render((function(t){var n=e.select(this);var r=n.props();var i=r.labelId||function(t){return r.x(t)+"_"+r.y(t)};var a=n.selectAll(".sszvis-ruler__rule").data(t,i);var s=a.enter().append("line").classed("sszvis-ruler__rule",true);a.exit().remove();a=a.merge(s);a.attr("x1",o($t,r.x)).attr("y1",r.y).attr("x2",o($t,r.x)).attr("y2",r.bottom);var l=n.selectAll(".sszvis-ruler__dot").data(t,i);var u=l.enter().append("circle").classed("sszvis-ruler__dot",true);l.exit().remove();l=l.merge(u);l.attr("cx",o($t,r.x)).attr("cy",o($t,r.y)).attr("r",3.5).attr("fill",r.color);var c=n.selectAll(".sszvis-ruler__label-outline").data(t,i);var f=c.enter().append("text").classed("sszvis-ruler__label-outline",true);c.exit().remove();c=c.merge(f);var h=n.selectAll(".sszvis-ruler__label").data(t,i);var d=h.enter().append("text").classed("sszvis-ruler__label",true);h.exit().remove();h=h.merge(d);var p=o($t,r.x);var v=o($t,r.y);var m=n.selectAll(".sszvis-ruler__label, .sszvis-ruler__label-outline").attr("transform",(function(t){var e=p(t);var n=v(t);var i=r.flip(t)?-10:10;var a=n<r.top+a?2*a:n>r.bottom-a?0:5;return St(e+i,n+a)})).style("text-anchor",(function(t){return r.flip(t)?"end":"start"})).html(r.label);if(r.reduceOverlap){var g=2;var y=10;var _=[];var b={};m.attr("y","");h.each((function(t){var e=this.getBoundingClientRect();var n={top:e.top,bottom:e.bottom,dy:0};_.push(n);b[i(t)]=n}));_.sort((function(t,n){return e.ascending(t.top,n.top)}));while(y--){_.forEach((function(t,e){_.slice(e+1).forEach((function(e){var n=t.bottom-e.top;if(n>=g){var r=n/2;t.bottom-=r;t.top-=r;t.dy-=r;e.bottom+=r;e.top+=r;e.dy+=r}}))}))}m.attr("y",(function(t){var e=b[i(t)];return e.dy}))}}))}var Xt=3;var Vt=4;var Zt=6;var Qt=5;function Jt(){var t=Kt();return mt().delegate("header",t).delegate("body",t).delegate("orientation",t).delegate("dx",t).delegate("dy",t).delegate("opacity",t).prop("renderInto").prop("visible",C).visible(false).renderSelection((function(e){var n=e.props();var r=n.renderInto.node().getBoundingClientRect();var i=[];e.each((function(t){if(n.visible(t)){var e=this.getBoundingClientRect();var a=[e.left-r.left,e.top-r.top];i.push({datum:t,x:a[0],y:a[1]})}}));n.renderInto.datum(i).call(t)}))}var Kt=function t(){return mt().prop("header").prop("body").prop("orientation",C).orientation("bottom").prop("dx",C).dx(1).prop("dy",C).dy(1).prop("opacity",C).opacity(1).renderSelection((function(t){var n=t.datum();var r=t.props();var i=l;var a=i(r.header)&&!i(r.body)||!i(r.header)&&i(r.body);var o=t.selectAll(".sszvis-tooltip").data(n);o.exit().remove();var s=o.enter().append("div");o=o.merge(s);o.style("pointer-events","none").style("opacity",r.opacity).style("padding-top",(function(t){return r.orientation(t)==="top"?Zt+"px":null})).style("padding-right",(function(t){return r.orientation(t)==="right"?Zt+"px":null})).style("padding-bottom",(function(t){return r.orientation(t)==="bottom"?Zt+"px":null})).style("padding-left",(function(t){return r.orientation(t)==="left"?Zt+"px":null})).classed("sszvis-tooltip",true);var u=s.append("svg").attr("class","sszvis-tooltip__background").attr("height",0).attr("width",0);var c=u.append("path");if(ne()){var f=u.append("filter").attr("id","sszvisTooltipShadowFilter").attr("height","150%");f.append("feGaussianBlur").attr("in","SourceAlpha").attr("stdDeviation",2);f.append("feComponentTransfer").append("feFuncA").attr("type","linear").attr("slope",.2);var h=f.append("feMerge");h.append("feMergeNode");h.append("feMergeNode").attr("in","SourceGraphic");c.attr("filter","url(#sszvisTooltipShadowFilter)")}else{u.classed("sszvis-tooltip__background--fallback",true)}var d=s.append("div").classed("sszvis-tooltip__content",true);d.append("div").classed("sszvis-tooltip__header",true);d.append("div").classed("sszvis-tooltip__body",true);o.select(".sszvis-tooltip__header").datum(k("datum")).html(r.header||C(""));o.select(".sszvis-tooltip__body").datum(k("datum")).html((function(t){var e=r.body?C(r.body)(t):"";return Array.isArray(e)?te(e):e}));t.selectAll(".sszvis-tooltip").classed("sszvis-tooltip--small",a).each((function(t){var n=e.select(this);var i=n.node().getBoundingClientRect();var o=r.orientation.apply(this,arguments);switch(o){case"top":n.style("left",t.x-i.width/2+"px").style("top",t.y+r.dy(t)+"px");break;case"bottom":n.style("left",t.x-i.width/2+"px").style("top",t.y-r.dy(t)-i.height+"px");break;case"left":n.style("left",t.x+r.dx(t)+"px").style("top",t.y-i.height/2+"px");break;case"right":n.style("left",t.x-r.dx(t)-i.width+"px").style("top",t.y-i.height/2+"px");break}var s=i.height+2*Qt;var l=i.width+2*Qt;n.select(".sszvis-tooltip__background").attr("height",s).attr("width",l).style("left",-Qt+"px").style("top",-Qt+"px").select("path").attr("d",ee([Qt,Qt],[l-Qt,s-Qt],o,a?Xt:Vt))}))}))};function te(t){var e=t.map((function(t){return"<tr>"+t.map((function(t){return"<td>"+t+"</td>"})).join("")+"</tr>"})).join("");return'<table class="sszvis-tooltip__body__table">'+e+"</table>"}function ee(t,e,n,r){switch(n){case"top":t[1]=t[1]+Zt;break;case"bottom":e[1]=e[1]-Zt;break;case"left":t[0]=t[0]+Zt;break;case"right":e[0]=e[0]-Zt;break}function i(t){return t[0]}function a(t){return t[1]}function o(t,e,n,r,i,a,o){var s=n+(i-n)/2;var l=r+(a-r)/2;var u=["Q",t,e,n,r];var c=[];if(o&&r===a){if(n<i){c=["L",s-Zt,l,"L",s,l-Zt,"L",s+Zt,l]}else{c=["L",s+Zt,l,"L",s,l+Zt,"L",s-Zt,l]}}else if(o&&n===i){if(r<a){c=["L",s,l-Zt,"L",s+Zt,l,"L",s,l+Zt]}else{c=["L",s,l+Zt,"L",s-Zt,l,"L",s,l-Zt]}}var f=["L",i,a];return[].concat(u,c,f)}return[["M",i(t),a(t)+r],o(i(t),a(t),i(t)+r,a(t),i(e)-r,a(t),n==="top"),o(i(e),a(t),i(e),a(t)+r,i(e),a(e)-r,n==="right"),o(i(e),a(e),i(e)-r,a(e),i(t)+r,a(e),n==="bottom"),o(i(t),a(e),i(t),a(e)-r,i(t),a(t)+r,n==="left")].map((function(t){return t.join(" ")})).join(" ")}function ne(){return window["SVGFEColorMatrixElement"]!==undefined&&SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE==2}function re(t,e){var n=Math.min(e.innerWidth*1/4,100);var r=Math.max(e.innerWidth*3/4,e.innerWidth-100);return function(e){var i=e.x;return i>r?"right":i<n?"left":t}}function ie(t,e){var n=he(e);return h((function(t){return oe(t,n)}),t)}function ae(t,e){var n=function t(n){return n.name===e};return h(n,t)}function oe(t,e){var n=t.measurement;var r=he(e);return r.width<=n.width&&r.screenHeight<=n.screenHeight}function se(t,e){var n=he(e);return t.filter((function(t){return oe(t,n)}))}function le(t){return t.map(de).concat(de({name:"_"}))}var ue=function(){var t=le([{name:"palm",width:540},{name:"lap",width:749}]);return function(){return t}}();var ce=pe("palm");var fe=pe("lap");function he(t){var e=M("width",Infinity);var n=M("screenHeight",Infinity);return{width:e(t),screenHeight:n(t)}}function de(t){var e;if(l(t.measurement)){e=he(t.measurement)}else{e=he({width:t.width,screenHeight:t.screenHeight})}return{name:t.name,measurement:e}}function pe(t){return function(e){return oe(ae(ue(),t),e)}}function ve(t,e){var n=t/e;return function(t){return t/n}}var me=ve(4,3);var ge=ve(16,10);var ye=500;var _e=function t(e){return Math.min(ve(12,5)(e),ye)};_e.MAX_HEIGHT=ye;var be=420;var xe=function t(e){return Math.min(ve(1,1)(e),be)};xe.MAX_HEIGHT=be;var we=600;var $e=function t(e){return Math.min(ve(4,5)(e),we)};$e.MAX_HEIGHT=we;var ke={palm:me,lap:ge,_:_e};var Me=function t(e){var n=ie(ue(),e);var r=ke[n.name];return r(e.width)};var Se=Ee("warn");var ze=Ee("error");function Ee(t){return function(){if(console&&console[t]){Ce(arguments).forEach((function(e){console[t](e)}))}}}function Ce(t){return Array.prototype.slice.call(t)}var Ae=function t(e){return e.rangeExtent?e.rangeExtent():Re(e.range())};function Re(t){var e=t[0],n=t[t.length-1];return e<n?[e,n]:[n,e]}function Te(t,n,r,i){r=r||5;i=(i||5)-2;var a=n;n=n-r*2;var o=[];t.each((function(){var t=e.select(this);var s=t.text().split(/[ \f\n\r\t\v]+/).reverse();var l;var u=[];var c=0;var f=1.1;var h;var d=t.attr("y");var p=parseFloat(t.attr("dy"));var v=1;var m=t.style("text-anchor")||"start";if(isNaN(p))p=0;var g=e.select(t.node().parentNode).classed("tick");if(g){switch(m){case"start":h=-n/2;break;case"middle":h=0;break;case"end":h=n/2;break}}else{switch(m){case"start":h=r;break;case"middle":h=a/2;break;case"end":h=a-r;break}}d=+(null===d?i:d);var y=t.text(null).append("tspan").attr("x",h).attr("y",d).attr("dy",p+"em");while(s.length>0){l=s.pop();u.push(l);y.text(u.join(" "));if(y.node().getComputedTextLength()>n&&u.length>1){u.pop();y.text(u.join(" "));u=[l];y=t.append("tspan").attr("x",h).attr("y",d).attr("dy",++c*f+p+"em").text(l);++v}}o.push(v)}));return o}var Ne=8;var Pe=12;var Le=10;var Fe=function t(){var n=mt().prop("scale").prop("orient").prop("ticks").prop("tickValues").prop("tickSize").prop("tickSizeInner").prop("tickSizeOuter").prop("tickPadding").prop("tickFormat").prop("_scale").prop("orient").orient("bottom").prop("alignOuterLabels").alignOuterLabels(false).prop("contour").prop("hideBorderTickThreshold").hideBorderTickThreshold(Ne).prop("hideLabelThreshold").hideLabelThreshold(Le).prop("highlightTick",C).prop("showZeroY").showZeroY(false).prop("slant").prop("textWrap").prop("tickLength").prop("title").prop("titleAnchor").prop("titleCenter").prop("dxTitle").prop("dyTitle").prop("titleVertical").prop("vertical").vertical(false).prop("yOffset").yOffset(0).render((function(){var t=e.select(this);var n=t.props();var r=!n.vertical&&n.orient==="bottom";var i=function(){switch(n.orient){case"bottom":return e.axisBottom();case"top":return e.axisTop();case"left":return e.axisLeft();case"right":return e.axisRight()}}();["scale","ticks","tickValues","tickSizeInner","tickSizeOuter","tickPadding","tickFormat","tickSize"].forEach((function(t){if(n[t]!==undefined){if(i[t]===undefined){throw new Error('axis: "'+t+'" not available')}i[t](n[t])}}));if(n._scale){i.scale(n._scale)}var a=t.selectGroup("sszvis-axis").classed("sszvis-axis",true).classed("sszvis-axis--top",!n.vertical&&n.orient==="top").classed("sszvis-axis--bottom",r).classed("sszvis-axis--vertical",n.vertical).attr("transform",St(0,n.yOffset)).call(i);a.attr("fill",null).attr("font-size",null).attr("font-family",null);var o=i.scale();var s=a.selectAll("g.tick");var u=s.selectAll("text");s.each((function(){var t=Mt(this.getAttribute("transform"));var n=$t(0)-t[0];var i=$t(r?2:0)+t[1];e.select(this).select("line").attr("transform",St(n,i))}));u.each((function(){if(n.orient==="top"||n.orient==="bottom"){e.select(this).attr("dx","-0.5")}if(n.orient==="left"||n.orient==="right"){e.select(this).attr("y","-0.5")}}));a.selectAll("path.domain");var c=Ae(o);s.selectAll("line").each((function(t){var r=o(t),i=e.select(this);i.classed("hidden",!i.classed("sszvis-axis__longtick")&&(Be(r,c[0])<n.hideBorderTickThreshold||Be(r,c[1])<n.hideBorderTickThreshold))}));if(l(n.tickLength)){var f=e.extent(o.domain());var h=s.filter((function(t){return!E(t,f[0])&&!E(t,f[1])}));var d=n.orient;var p=2;if(d==="left"||d==="right"){h.selectAll("text").each((function(){p=Math.max(this.getBoundingClientRect().width,p)}));p+=2}var v=h.selectAll("line.sszvis-axis__longtick").data([0]);if(n.tickLength>p){var m=v.enter().append("line").classed("sszvis-axis__longtick",true);v=v.merge(m);if(d==="top"){v.attr("y1",p).attr("y2",n.tickLength)}else if(d==="bottom"){v.attr("y1",-p).attr("y2",-n.tickLength)}else if(d==="left"){v.attr("x1",-p).attr("x2",-n.tickLength)}else if(d==="right"){v.attr("x1",p).attr("x2",n.tickLength)}}else{v.remove()}}if(n.alignOuterLabels){var g=Ae(o);var y=g[0];var _=g[1];u.style("text-anchor",(function(t){var e=o(t);if(Be(e,y)<Pe){return"start"}else if(Be(e,_)<Pe){return"end"}return"middle"}))}if(l(n.textWrap)){u.call(Te,n.textWrap)}if(n.slant){u.call(He[n.orient][n.slant])}if(n.highlightTick){var b=[];var x=[];u.classed("hidden",false).classed("active",n.highlightTick);if(n.hideLabelThreshold>0&&!n.slant){u.each((function(t){var e=this.getBoundingClientRect();var r={node:this,bounds:{top:e.top,right:e.right,bottom:e.bottom,left:e.left}};if(n.highlightTick(t)){r.bounds.left-=n.hideLabelThreshold;r.bounds.right+=n.hideLabelThreshold;b.push(r)}else{x.push(r)}}));b.forEach((function(t){x.forEach((function(n){e.select(n.node).classed("hidden",qe(n.bounds,t.bounds))}))}))}}if(n.title){var w=a.selectAll(".sszvis-axis__title").data([n.title]);var $=w.enter().append("text").classed("sszvis-axis__title",true);w.exit().remove();w.merge($).text((function(t){return t})).attr("transform",(function(){var t=n.orient,e=Ae(o),r;if(n.titleCenter){r={left:t==="left"||t==="right"?0:t==="top"||t==="bottom"?(e[0]+e[1])/2:0,top:t==="left"||t==="right"?(e[0]+e[1])/2:t==="top"?0:t==="bottom"?32:0}}else{r={left:t==="left"||t==="right"||t==="top"?0:t==="bottom"?e[1]:0,top:t==="left"||t==="right"||t==="top"?0:t==="bottom"?32:0}}r.vertical=!!n.titleVertical;r.left+=n.dxTitle||0;r.top+=n.dyTitle||0;return"translate("+r.left+", "+r.top+") rotate("+(r.vertical?"-90":"0")+")"})).style("text-anchor",(function(){var t=n.orient;if(typeof n.titleAnchor!=="undefined"){return n.titleAnchor}else if(t==="left"){return"end"}else if(t==="right"){return"start"}else if(t==="top"||t==="bottom"){return"end"}}))}if(n.contour&&n.slant){Se("Can't apply contour to slanted labels")}else if(n.contour){s.each((function(){var t=e.select(this);var n=t.select("text").node();var r=t.select(".sszvis-axis__label-contour");if(r.empty()){r=e.select(n.cloneNode()).classed("sszvis-axis__label-contour",true);this.insertBefore(r.node(),n)}r.text(n.textContent)}))}}));return n};var De=function t(e){var n=this.scale().domain(),r=[],i=Math.round(n.length/e);if(typeof n[0]!=="undefined")r.push(n[0]);for(var a=i,o=n.length;a<o-1;a+=i){if(typeof n[a]!=="undefined")r.push(n[a])}if(typeof n[n.length-1]!=="undefined")r.push(n[n.length-1]);this.tickValues(r);return e};var Ie=function t(){return Fe().yOffset(2).ticks(3).tickSizeInner(4).tickSizeOuter(6.5).tickPadding(6).tickFormat(a(1,It))};Ie.time=function(){return Ie().tickFormat(Pt).alignOuterLabels(true)};Ie.ordinal=function(){return Ie().prop("ticks",De).tickFormat(Ht)};Ie.pyramid=function(){return Ie().ticks(10).prop("scale",(function(t){var e=t.copy(),n=e.domain(),r=e.range();e.domain([-n[1],n[1]]).range([r[0]-r[1],r[0]+r[1]]);this._scale(e);return e})).tickFormat((function(t){return It(Math.abs(t))}))};var Oe=function t(){var e=Fe().ticks(6).tickSize(0,0).tickPadding(0).tickFormat((function(t){return 0===t&&!e.showZeroY()?null:It(t)})).vertical(true);return e};Oe.time=function(){return Oe().tickFormat(Pt)};Oe.ordinal=function(){return Oe().prop("ticks",De).tickFormat(Ht)};function Be(t,e){return Math.abs(t-e)}function qe(t,e){return!(e.left>t.right||e.right<t.left||e.top>t.bottom||e.bottom<t.top)}var He={top:{horizontal:function t(e){e.style("text-anchor","middle").attr("dx","-0.5").attr("dy","0.71em").attr("transform",null)},vertical:function t(e){e.style("text-anchor","start").attr("dx","0em").attr("dy","0.35em").attr("transform","rotate(-90)")},diagonal:function t(e){e.style("text-anchor","start").attr("dx","0.1em").attr("dy","0.1em").attr("transform","translate(-0.5) rotate(-45)")}},bottom:{horizontal:function t(e){e.style("text-anchor","middle").attr("dx","-0.5").attr("dy","0.71em").attr("transform",null)},vertical:function t(e){e.style("text-anchor","end").attr("dx","-1em").attr("dy","-0.75em").attr("transform","rotate(-90)")},diagonal:function t(e){e.style("text-anchor","end").attr("dx","-0.8em").attr("dy","0em").attr("transform","rotate(-45)")}}};function Ue(){var t=e.dispatch("start","move","drag","end");var n=mt().prop("debug").prop("xScale").prop("yScale").prop("draggable").prop("cancelScrolling",C).cancelScrolling(false).prop("fireOnPanOnly",C).fireOnPanOnly(false).prop("padding",(function(t){var e={top:0,left:0,bottom:0,right:0};for(var n in t){e[n]=t[n]}return e})).padding({}).render((function(){var n=e.select(this);var r=n.props();var i=Ae(r.xScale).sort(e.ascending);var a=Ae(r.yScale).sort(e.ascending);i[0]-=r.padding.left;i[1]+=r.padding.right;a[0]-=r.padding.top;a[1]+=r.padding.bottom;var o=n.selectAll("[data-sszvis-behavior-move]").data([0]);var s=o.enter().append("rect").attr("data-sszvis-behavior-move","").attr("class","sszvis-interactive");o=o.merge(s);if(r.draggable){o.classed("sszvis-interactive--draggable",true)}o.attr("x",i[0]).attr("y",a[0]).attr("width",i[1]-i[0]).attr("height",a[1]-a[0]).attr("fill","transparent").on("mouseover",(function(){t.apply("start",this,arguments)})).on("mousedown",(function(){var n=this;var i=e.select(document);var a=e.select(window);var o=function i(){var a=e.mouse(n);var o=je(r.xScale,a[0]);var s=je(r.yScale,a[1]);e.event.preventDefault();t.apply("drag",this,[o,s])};var s=function t(){n.__dragging__=true;o()};var l=function e(){n.__dragging__=false;a.on("mouseup.sszvis-behavior-move",null);a.on("mousemove.sszvis-behavior-move",null);i.on("mouseout.sszvis-behavior-move",null);t.apply("end",this,arguments)};a.on("mousemove.sszvis-behavior-move",o);a.on("mouseup.sszvis-behavior-move",l);i.on("mouseout.sszvis-behavior-move",(function(){var t=e.event.relatedTarget||e.event.toElement;if(!t||t.nodeName==="HTML"){l()}}));s()})).on("mousemove",(function(){var n=this;var i=e.mouse(this);var a=je(r.xScale,i[0]);var o=je(r.yScale,i[1]);if(!n.__dragging__){t.apply("move",this,[a,o])}})).on("mouseout",(function(){t.apply("end",this,[])})).on("touchstart",(function(){var n=d(e.touches(this));var i=je(r.xScale,n[0]);var a=je(r.yScale,n[1]);var o=r.cancelScrolling(i,a);if(o){e.event.preventDefault()}if(!r.fireOnPanOnly()||o){t.apply("start",this,[i,a]);t.apply("drag",this,[i,a]);t.apply("move",this,[i,a]);var s=function n(){var i=d(e.touches(this));var a=je(r.xScale,i[0]);var o=je(r.yScale,i[1]);var s=r.cancelScrolling(a,o);if(s){e.event.preventDefault()}if(!r.fireOnPanOnly()||s){t.apply("drag",this,[a,o]);t.apply("move",this,[a,o])}else{t.apply("end",this,[])}};var l=function n(){t.apply("end",this,[]);e.select(this).on("touchmove",null).on("touchend",null)};e.select(this).on("touchmove",s).on("touchend",l)}}));if(r.debug){o.attr("fill","rgba(255,0,0,0.2)")}}));n.on=function(){var e=t.on.apply(t,arguments);return e===t?n:e};return n}function je(t,e){var n=t.invert?"Linear":t.paddingInner?"Band":"Point";switch(n){case"Linear":{return t.invert(e)}case"Band":return Ye(t,e);case"Point":return We(t,e);default:{throw new Error("Unknown scale type, could not invert")}}}function Ye(t,e){var n=t.step();var r=t.paddingOuter()*n;var i=t.paddingInner()*n;var a=t.bandwidth();var o=t.range();var s=t.domain();if(s.length===1){if(o[0]<=e&&o[1]>=e){return s[0]}return null}var l=s.map((function(t,e){if(e===0){return[o[0],o[0]+r+a+i/2]}else if(e===s.length-1){return[o[1]-(r+a+i/2),o[1]]}else{return[o[0]+r+e*n-i/2,o[0]+r+(e+1)*n-i/2]}}));for(var u=0,c=l.length;u<c;u++){if(l[u][0]<e&&e<=l[u][1]){return s[u]}}return null}function We(t,e){var n=t.step();var r=t.padding()*n;var i=t.range();var a=t.domain();if(a.length===1){if(i[0]<=e&&i[1]>=e){return a[0]}return null}var o=a.map((function(t,e){if(e===0){return[i[0],i[0]+r+n/2]}else if(e===a.length-1){return[i[1]-(r+n/2),i[1]]}else{return[i[0]+r+e*n-n/2,i[0]+r+e*n+n/2]}}));for(var s=0,l=o.length;s<l;s++){if(o[s][0]<e&&e<=o[s][1]){return a[s]}}return null}var Ge=function t(e){if(!_(e)&&l(e)){return document.elementFromPoint(e.clientX,e.clientY)}return null};var Xe=function t(n){if(!_(n)){var r=e.select(n);if(!_(r.attr("data-sszvis-behavior-pannable"))){var i=r.datum();if(l(i)){return i}}}return null};var Ve=function t(e){return Xe(Ge(e))};function Ze(){var t=e.dispatch("start","pan","end");var n=mt().prop("elementSelector").render((function(){var n=e.select(this);var r=n.props();var i=n.selectAll(r.elementSelector);i.attr("data-sszvis-behavior-pannable","").classed("sszvis-interactive",true).on("mouseenter",(function(){t.apply("start",this,arguments)})).on("mousemove",(function(){t.apply("pan",this,arguments)})).on("mouseleave",(function(){t.apply("end",this,arguments)})).on("touchstart",(function(){e.event.preventDefault();t.apply("start",this,arguments)})).on("touchmove",(function(){e.event.preventDefault();var n=Ve(v(e.event));if(n!==null){t.apply("pan",this,arguments)}else{t.apply("end",this,arguments)}})).on("touchend",(function(){t.apply("end",this,arguments)}))}));n.on=function(){var e=t.on.apply(t,arguments);return e===t?n:e};return n}function Qe(){var t=e.dispatch("over","out");var n=mt().prop("x").prop("y").prop("bounds").prop("debug").render((function(n){var r=e.select(this);var i=r.props();if(!i.bounds){ze("behavior.voronoi - requires bounds");return false}var a=e.voronoi().x(i.x).y(i.y).extent(i.bounds);var o=r.selectAll("[data-sszvis-behavior-voronoi]").data(a.polygons(n));var s=o.enter().append("path").attr("data-sszvis-behavior-voronoi","").attr("data-sszvis-behavior-pannable","").attr("class","sszvis-interactive");o.exit().remove();o=o.merge(s);o.attr("d",(function(t){return"M"+t.join("L")+"Z"})).attr("fill","transparent").on("mouseover",(function(n){var r=this.parentNode.getBoundingClientRect();if(Ke(e.event,[r.left+i.x(n.data),r.top+i.y(n.data)])){t.apply("over",this,[n.data])}})).on("mousemove",(function(n){var r=this.parentNode.getBoundingClientRect();if(Ke(e.event,[r.left+i.x(n.data),r.top+i.y(n.data)])){t.apply("over",this,[n.data])}else{t.apply("out",this,[])}})).on("mouseout",(function(){t.apply("out",this,[])})).on("touchstart",(function(n){var r=this.parentNode.getBoundingClientRect();if(Ke(v(e.event),[r.left+i.x(n.data),r.top+i.y(n.data)])){e.event.preventDefault();t.apply("over",this,[n.data]);var a=function n(){var r=v(e.event);var a=Ge(r);var o=Xe(a);if(o!==null){var s=a.parentNode.getBoundingClientRect();if(Ke(r,[s.left+i.x(o.data),s.top+i.y(o.data)])){if(e.event.cancelable){e.event.preventDefault()}t.apply("over",this,[o.data])}else{t.apply("out",this,[])}}else{t.apply("out",this,[])}};var o=function n(){t.apply("out",this,[]);e.select(this).on("touchmove",null).on("touchend",null)};e.select(this).on("touchmove",a).on("touchend",o)}}));if(i.debug){o.attr("stroke","#f00")}}));n.on=function(){var e=t.on.apply(t,arguments);return e===t?n:e};return n}var Je=Math.pow(15,2);function Ke(t,e){var n=t.clientX-e[0];var r=t.clientY-e[1];return n*n+r*r<Je}var tn=function t(n){var a;if(r(n)){a=e.select(n).node()}else if(i(n)){a=n.node()}else{a=n}return{width:a?a.getBoundingClientRect().width:undefined,screenWidth:window.innerWidth,screenHeight:window.innerHeight}};var en=function(){var t=document.createElement("canvas");var e=t.getContext("2d");var n={};return function(t,r,i){var a=[t,r,i].join("-");e.font=t+"px "+r;return n[a]||(n[a]=e.measureText(i).width)}}();var nn=function t(e){return en(10,"Arial, sans-serif",e)};var rn=function t(e){return en(12,"Arial, sans-serif",e)};var an=516;function on(t,n){var r=null,a=null;if(arguments.length===0){r={}}else if(arguments.length===1){if(x(t)){r=t}else if(i(t)){r={};a=t}else{r={};a=e.select(t)}}else{r=t;if(i(n)){a=n}else{a=e.select(n)}}var o={top:ln(r.top,0),right:ln(r.right,1),bottom:ln(r.bottom,0),left:ln(r.left,1)};var s=l(a)?tn(a):{width:an};var u=ln(r.width,s.width);var c=Me(s);var f=ln(r.height,c+o.top+o.bottom);return{innerHeight:f-o.top-o.bottom,innerWidth:u-o.left-o.right,padding:o,height:f,width:u,screenWidth:s.screenWidth,screenHeight:s.screenHeight}}var sn=16/9;function ln(t,e){return typeof t==="undefined"?e:t}function un(t,e){var n={},r;for(var i=0,a=t.length,o;i<a;++i){o=t[i];r=e(o);n[r]?n[r].push(o):n[r]=[o]}return n}function cn(t,e){for(var n in t){e(t[n],n)}}function fn(t,e){for(var n=0,r=t.length;n<r;++n){e(t[n],n)}}function hn(){var t={},e=[],n=[],r;function i(t,a){if(a>=e.length){if(r)t.sort(r);return t}var o=n[a];var s=e[a++];var l=un(t,s.func);if(s.type==="obj"){var u={};cn(l,(function(t,e){u[e]=i(t,a)}));return u}else if(s.type==="arr"){var c=[];if(o){var f=Object.keys(l).sort(o);fn(f,(function(t){c.push(i(l[t],a))}))}else{cn(l,(function(t){c.push(i(t,a))}))}return c}}t.apply=function(t){return i(t,0)};t.objectBy=function(n){e.push({type:"obj",func:n});return t};t.arrayBy=function(r,i){e.push({type:"arr",func:r});if(i)n[e.length-1]=i;return t};t.sort=function(e){r=e;return t};return t}var dn=e.easePolyOut;var pn=function t(){return e.transition().ease(dn).duration(300)};var vn=function t(){return e.transition().ease(dn).duration(50)};var mn=function t(){return e.transition().ease(dn).duration(500)};function gn(t){return isNaN(t)?0:t}function yn(){return mt().prop("x",C).prop("y",C).prop("width",C).prop("height",C).prop("fill",C).prop("stroke",C).prop("centerTooltip").prop("tooltipAnchor").prop("transition").transition(true).render((function(t){var n=e.select(this);var r=n.props();var i=o(gn,r.x);var a=o(gn,r.y);var s=o(gn,r.width);var l=o(gn,r.height);var u=n.selectAll(".sszvis-bar").data(t);u.exit().remove();u.enter().append("rect").classed("sszvis-bar",true).attr("x",i).attr("y",a).attr("width",s).attr("height",l).merge(u).attr("fill",r.fill).attr("stroke",r.stroke);if(r.transition){u=u.transition(pn())}u.attr("x",i).attr("y",a).attr("width",s).attr("height",l);var c;if(r.centerTooltip){c=function t(e){return[i(e)+s(e)/2,a(e)+l(e)/2]}}else if(r.tooltipAnchor){var f=r.tooltipAnchor.map(parseFloat);c=function t(e){return[i(e)+f[0]*s(e),a(e)+f[1]*l(e)]}}else{c=function t(e){return[i(e)+s(e)/2,a(e)]}}var h=zt().position(c);n.call(h)}))}function _n(){return mt().prop("x",C).prop("y",C).prop("radius").prop("stroke").prop("fill").prop("transition").transition(true).render((function(t){var n=e.select(this);var r=n.props();var i=n.selectAll(".sszvis-circle").data(t);i.exit().remove();i.enter().append("circle").classed("sszvis-circle",true).attr("cx",r.x).attr("cy",r.y).attr("r",r.radius).merge(i).attr("stroke",r.stroke).attr("fill",r.fill);if(r.transition){i=i.transition(pn())}i.attr("cx",r.x).attr("cy",r.y).attr("r",r.radius);var a=zt().position((function(t){return[r.x(t),r.y(t)]}));n.call(a)}))}function bn(){return mt().prop("groupScale").prop("groupSize").prop("groupWidth").prop("groupSpace").groupSpace(.05).prop("y",C).prop("height").prop("fill").prop("stroke").prop("defined",C).defined(true).render((function(t){var n=e.select(this);var r=n.props();var i=e.scaleBand().domain(e.range(r.groupSize)).padding(r.groupSpace).paddingOuter(0).rangeRound([0,r.groupWidth]);var a=n.selectAll("g.sszvis-bargroup").data(t);var o=a.enter().append("g").classed("sszvis-bargroup",true);a.exit().remove();a=a.merge(o);var s=a.selectAll("g.sszvis-barunit").data((function(t){return t}));var l=s.enter().append("g").classed("sszvis-barunit",true);s.exit().remove();s=s.merge(l);s.each((function(t,e){t.__sszvisGroupedBarIndex__=e}));var u=s.filter(r.defined);u.selectAll("*").remove();u.attr("transform",(function(){return St(0,0)}));u.append("rect").classed("sszvis-bar",true).attr("fill",r.fill).attr("x",(function(t){return r.groupScale(t)+i(t.__sszvisGroupedBarIndex__)})).attr("y",r.y).attr("width",i.bandwidth()).attr("height",r.height);var c=s.filter($(r.defined));c.selectAll("*").remove();c.attr("transform",(function(t,e){return St(r.groupScale(t)+i(t.__sszvisGroupedBarIndex__)+i.bandwidth()/2,r.y(t,e))}));c.append("line").classed("sszvis-bar--missing line1",true).attr("x1",-4).attr("y1",-4).attr("x2",4).attr("y2",4);c.append("line").classed("sszvis-bar--missing line2",true).attr("x1",4).attr("y1",-4).attr("x2",-4).attr("y2",4);var f=zt().position((function(t){var e=0;var n=Infinity;t.forEach((function(t,a){e+=r.groupScale(t)+i(t.__sszvisGroupedBarIndex__)+i.bandwidth()/2;n=Math.min(n,r.y(t,a))}));var a=e/t.length;return[a,n]}));n.call(f)}))}function xn(){return mt().prop("x").prop("y").prop("stroke").prop("strokeWidth").prop("defined").prop("key").key((function(t,e){return e})).prop("valuesAccessor").valuesAccessor(n).prop("transition").transition(true).render((function(t){var n=e.select(this);var r=n.props();var i=e.line().defined(r.defined!==undefined?r.defined:o($(isNaN),r.y)).x(r.x).y(r.y);var a=n.selectAll(".sszvis-line").data(t,r.key);var s=a.enter().append("path").classed("sszvis-line",true).style("stroke",r.stroke);a=a.merge(s);a.exit().remove();a.order();if(r.transition){a=a.transition(pn())}a.attr("d",o(i,r.valuesAccessor)).style("stroke",r.stroke).style("stroke-width",r.strokeWidth)}))}function wn(){return mt().prop("radius").prop("fill").prop("stroke").prop("angle",C).render((function(t){var n=e.select(this);var r=n.props();var i=0;t.forEach((function(t){t._a0=i;if(isNaN(t.a0))t.a0=i;i+=r.angle(t);t._a1=i;if(isNaN(t.a1))t.a1=i}));var a=e.arc().innerRadius(4).outerRadius(r.radius).startAngle((function(t){return t.a0})).endAngle((function(t){return t.a1}));var o=n.selectAll(".sszvis-path").each((function(e,n){if(t[n]){t[n].a0=e.a0;t[n].a1=e.a1}})).data(t);var s=o.enter().append("path").classed("sszvis-path",true).attr("transform","translate("+r.radius+","+r.radius+")").attr("fill",r.fill).attr("stroke",r.stroke);o.exit().remove();o=o.merge(s);o.transition(pn()).attr("transform","translate("+r.radius+","+r.radius+")").attrTween("d",(function(t){var n=e.interpolate(t.a0,t._a0);var r=e.interpolate(t.a1,t._a1);return function(e){t.a0=n(e);t.a1=r(e);return a(t)}})).attr("fill",r.fill).attr("stroke",r.stroke);var l=zt().position((function(t){var e=t.a0+Math.abs(t.a1-t.a0)/2-Math.PI/2;var n=r.radius*2/3;return[r.radius+Math.cos(e)*n,r.radius+Math.sin(e)*n]}));n.datum(t).call(l)}))}var $n=.5;function kn(){return mt().prop("barHeight",C).prop("barWidth",C).prop("barPosition",C).prop("barFill",C).barFill("#000").prop("tooltipAnchor").tooltipAnchor([.5,.5]).prop("leftAccessor").prop("rightAccessor").prop("leftRefAccessor").prop("rightRefAccessor").render((function(t){var n=e.select(this);var r=n.props();var i=yn().x((function(t){return-$n-r.barWidth(t)})).y(r.barPosition).height(r.barHeight).width(r.barWidth).fill(r.barFill).tooltipAnchor(r.tooltipAnchor);var a=yn().x($n).y(r.barPosition).height(r.barHeight).width(r.barWidth).fill(r.barFill).tooltipAnchor(r.tooltipAnchor);var o=Mn().barPosition(r.barPosition).barWidth(r.barWidth).mirror(true);var s=Mn().barPosition(r.barPosition).barWidth(r.barWidth);n.selectGroup("left").datum(r.leftAccessor(t)).call(i);n.selectGroup("right").datum(r.rightAccessor(t)).call(a);n.selectGroup("leftReference").datum(r.leftRefAccessor?[r.leftRefAccessor(t)]:[]).call(o);n.selectGroup("rightReference").datum(r.rightRefAccessor?[r.rightRefAccessor(t)]:[]).call(s)}))}function Mn(){return mt().prop("barPosition").prop("barWidth").prop("mirror").mirror(false).render((function(t){var n=e.select(this);var r=n.props();var i=e.line().x(r.barWidth).y(r.barPosition);var a=n.selectAll(".sszvis-pyramid__referenceline").data(t);a.exit().remove();var o=a.enter().append("path").attr("class","sszvis-pyramid__referenceline");a=a.merge(o);a.attr("transform",r.mirror?"scale(-1, 1)":"").transition(pn()).attr("d",i)}))}function Sn(){return mt().prop("sizeScale").prop("columnPosition").prop("nodeThickness").prop("nodePadding").prop("columnPadding",C).prop("columnLabel",C).columnLabel("").prop("columnLabelOffset",C).columnLabelOffset(0).prop("linkCurvature").linkCurvature(.5).prop("nodeColor",C).prop("linkColor",C).prop("linkSort",C).linkSort((function(t,e){return t.value-e.value})).prop("labelSide",C).labelSide("left").prop("labelSideSwitch").prop("labelOpacity",C).labelOpacity(1).prop("labelHitBoxSize").labelHitBoxSize(0).prop("nameLabel").nameLabel(n).prop("linkSourceLabels").linkSourceLabels([]).prop("linkTargetLabels").linkTargetLabels([]).prop("linkLabel",C).render((function(t){var n=e.select(this);var r=n.props();var i=k("id");var a=function t(e){return Math.floor(r.columnPadding(e.columnIndex)+r.sizeScale(e.valueOffset)+r.nodePadding*e.nodeIndex)};var o=function t(e){return r.columnPosition(e.columnIndex)};var s=function t(e){return a(e)};var l=function t(){return Math.max(r.nodeThickness,1)};var u=function t(e){return Math.ceil(Math.max(r.sizeScale(e.value),1))};var c=function t(e,n,r,i,a,o){return"M"+e+","+a+"C"+n+","+a+" "+r+","+o+" "+i+","+o};var f=function t(e,n,r,i){return[e,n,r,i]};var h=1;var d=yn().x(o).y(s).width(l).height(u).fill(r.nodeColor);var p=n.selectGroup("nodes").datum(t.nodes);p.call(d);var v=zt().position((function(t){return[o(t)+l()/2,s(t)+u(t)/2]}));p.call(v);var m=function t(e){return r.columnPosition(e)+r.nodeThickness/2};var g=-24;var y=p.selectAll(".sszvis-sankey-column-label").data(t.columnLengths);var _=y.enter().append("text").attr("class","sszvis-sankey-label sszvis-sankey-weak-label sszvis-sankey-column-label");y=y.merge(_);y.exit().remove();y.attr("transform",(function(t,e){return St(m(e)+r.columnLabelOffset(t,e),g)})).text((function(t,e){return r.columnLabel(e)}));var b=p.selectAll(".sszvis-sankey-column-label-tick").data(t.columnLengths);var x=b.enter().append("line").attr("class","sszvis-sankey-column-label-tick");b=b.merge(x);b.exit().remove();b.attr("x1",(function(t,e){return $t(m(e))})).attr("x2",(function(t,e){return $t(m(e))})).attr("y1",$t(g+8)).attr("y2",$t(g+12));var w=function t(e){var n=r.columnPosition(e.src.columnIndex)+r.nodeThickness+h,i=r.columnPosition(e.tgt.columnIndex)-h,o=a(e.src)+r.sizeScale(e.srcOffset)+r.sizeScale(e.value)/2,s=a(e.tgt)+r.sizeScale(e.tgtOffset)+r.sizeScale(e.value)/2;return[n,i,o,s]};var $=function t(n){var i=w(n),a=e.interpolateNumber(i[0],i[1]),o=a(r.linkCurvature),s=a(1-r.linkCurvature);return c(i[0],o,s,i[1],i[2],i[3])};var M=function t(e){var n=w(e);return f(n[0],n[1],n[2],n[3])};var S=function t(e){return Math.max(r.sizeScale(e.value),1)};var z=n.selectGroup("links");var E=z.selectAll(".sszvis-link").data(t.links,i);var C=E.enter().append("path").attr("class","sszvis-link");E=E.merge(C);E.exit().remove();E.attr("fill","none").attr("d",$).attr("stroke-width",S).attr("stroke",r.linkColor).sort(r.linkSort);z.datum(t.links);var A=zt().position((function(t){var e=M(t);return[(e[0]+e[1])/2,(e[2]+e[3])/2]}));z.call(A);var R=n.selectGroup("linklabels");var T=R.selectAll(".sszvis-sankey-link-source-label").data(r.linkSourceLabels);var N=T.enter().append("text").attr("class","sszvis-sankey-label sszvis-sankey-strong-label sszvis-sankey-link-source-label");T=T.merge(N);T.exit().remove();T.attr("transform",(function(t){var e=M(t);return St(e[0]+6,e[2])})).text(r.linkLabel);var P=R.selectAll(".sszvis-sankey-link-target-label").data(r.linkTargetLabels);var L=P.enter().append("text").attr("class","sszvis-sankey-label sszvis-sankey-strong-label sszvis-sankey-link-target-label");P=P.merge(L);P.exit().remove();P.attr("transform",(function(t){var e=M(t);return St(e[1]-6,e[3])})).text(r.linkLabel);var F=function t(e){var n=r.labelSide(e);if(r.labelSideSwitch){n=n==="left"?"right":"left"}return n};var D=n.selectGroup("nodelabels");var I=D.selectAll(".sszvis-sankey-node-label").data(t.nodes);var O=I.enter().append("text").attr("class","sszvis-sankey-label sszvis-sankey-weak-label sszvis-sankey-node-label");I=I.merge(O);I.exit().remove();I.text((function(t){return r.nameLabel(t.id)})).attr("text-align","middle").attr("text-anchor",(function(t){return F(t.columnIndex)==="left"?"end":"start"})).attr("x",(function(t){return F(t.columnIndex)==="left"?o(t)-6:o(t)+r.nodeThickness+6})).attr("y",(function(t){return s(t)+u(t)/2})).style("opacity",r.labelOpacity);var B=D.selectAll(".sszvis-sankey-hitbox").data(t.nodes);var q=B.enter().append("rect").attr("class","sszvis-sankey-hitbox");B=B.merge(q);B.exit().remove();B.attr("fill","transparent").attr("x",(function(t){return o(t)+(F(t.columnIndex)==="left"?-r.labelHitBoxSize:0)})).attr("y",(function(t){return s(t)-r.nodePadding/2})).attr("width",r.labelHitBoxSize+r.nodeThickness).attr("height",(function(t){return u(t)+r.nodePadding}))}))}function zn(){return mt().prop("x").prop("y0").prop("y1").prop("fill").prop("stroke").prop("defined").prop("key").key((function(t,e){return e})).prop("transition").transition(true).render((function(t){var n=e.select(this);var r=n.props();var i=function t(){return o($(isNaN),r.y0)&&o($(isNaN),r.y1)};var a=e.area().defined(r.defined!==undefined?r.defined:i).x(r.x).y0(r.y0).y1(r.y1);var s=n.selectAll("path.sszvis-path").data(t,r.key);var l=s.enter().append("path").classed("sszvis-path",true);s.exit().remove();s=s.merge(l);if(r.transition){s=s.transition(pn())}s.attr("d",a).attr("fill",r.fill).attr("stroke",r.stroke)}))}function En(){return mt().prop("x").prop("y0").prop("y1").prop("fill").prop("stroke").prop("defined").prop("key").key((function(t,e){return e})).prop("valuesAccessor").valuesAccessor(n).prop("transition").transition(true).render((function(t){var n=e.select(this);var r=n.props();t=t.slice().reverse();var i=function t(){return o($(isNaN),r.y0)&&o($(isNaN),r.y1)};var a=e.area().defined(r.defined!==undefined?r.defined:i).x(r.x).y0(r.y0).y1(r.y1);var s=n.selectAll("path.sszvis-path").data(t,r.key);var l=s.enter().append("path").classed("sszvis-path",true);s.exit().remove();s=l.merge(s);if(r.transition){s=s.transition(pn())}s.attr("d",o(a,r.valuesAccessor)).attr("fill",r.fill).attr("stroke",r.stroke)}))}var Cn=k("stack");var An=k("0");var Rn=k("1");function Tn(t){return function(n,r,i){return function(a){var o=hn().arrayBy(n).objectBy(r).apply(a);var s=o.reduce((function(t,e){return S(t.concat(Object.keys(e)))}),[]);var l=e.stack().keys(s).value((function(t,e){return i(t[e][0])})).order(t)(o);l.forEach((function(t){t.forEach((function(e){e.series=t.key;e.data=e.data[t.key][0];e.stack=n(e.data)}))}));l.keys=s;l.maxValue=e.max(l,(function(t){return e.max(t,(function(t){return t[1]}))}));return l}}}var Nn=Tn(e.stackOrderNone);var Pn=Tn(e.stackOrderReverse);function Ln(t){return mt().prop("xScale",C).prop("width",C).prop("yScale",C).prop("height",C).prop("fill").prop("stroke").render((function(n){var r=e.select(this);var i=r.props();var a=yn().x(t.x(i)).y(t.y(i)).width(t.width(i)).height(t.height(i)).fill(i.fill).stroke(i.stroke);var o=r.selectAll(".sszvis-stack").data(n);var s=o.enter().append("g").classed("sszvis-stack",true);o.exit().remove();o=o.merge(s);o.call(a)}))}var Fn={x:function t(e){return o(e.xScale,An)},y:function t(e){return o(e.yScale,Cn)},width:function t(e){return function(t){return e.xScale(t[1])-e.xScale(t[0])}},height:function t(e){return e.height}};var Dn=function t(){return Ln(Fn)};var In={x:function t(e){return o(e.xScale,Cn)},y:function t(e){return o(e.yScale,Rn)},width:function t(e){return e.width},height:function t(e){return function(t){return e.yScale(t[0])-e.yScale(t[1])}}};var On=function t(){return Ln(In)};var Bn=.5;var qn=k("data");var Hn=k("row");function Un(t,n,r,i){return function(a){var o=hn().arrayBy(t).arrayBy(n).objectBy(r).apply(a).map((function(n){var r=Object.keys(n[0]);var a=t(n[0][r[0]][0]);var o=e.stack().keys(r).value((function(t,e){return i(t[e][0])}))(n);o.forEach((function(t,e){t.forEach((function(t,n){t.data=t.data[r[e]][0];t.series=r[e];t.side=a;t.row=n;t.value=i(t.data);return t}))}));return o}));o.maxValue=e.max(o,(function(t){return e.max(t,(function(t){return e.max(t,(function(t){return t[1]}))}))}));return o}}function jn(){return mt().prop("barHeight",C).prop("barWidth",C).prop("barPosition",C).prop("barFill",C).barFill("#000").prop("tooltipAnchor").tooltipAnchor([.5,.5]).prop("leftAccessor").prop("rightAccessor").prop("leftRefAccessor").prop("rightRefAccessor").render((function(t){var n=e.select(this);var r=n.props();var i=yn().x((function(t){return-Bn-r.barWidth(t[1])})).y(o(r.barPosition,Hn)).height(r.barHeight).width((function(t){return r.barWidth(t[1])-r.barWidth(t[0])})).fill(o(r.barFill,qn)).tooltipAnchor(r.tooltipAnchor);var a=yn().x((function(t){return Bn+r.barWidth(t[0])})).y(o(r.barPosition,Hn)).height(r.barHeight).width((function(t){return r.barWidth(t[1])-r.barWidth(t[0])})).fill(o(r.barFill,qn)).tooltipAnchor(r.tooltipAnchor);var s=Yn().stackElement(i);var l=Yn().stackElement(a);var u=Wn().barPosition(r.barPosition).barWidth(r.barWidth).mirror(true);var c=Wn().barPosition(r.barPosition).barWidth(r.barWidth);n.selectGroup("leftStack").datum(r.leftAccessor(t)).call(s);n.selectGroup("rightStack").datum(r.rightAccessor(t)).call(l);n.selectGroup("leftReference").datum(r.leftRefAccessor?[r.leftRefAccessor(t)]:[]).call(u);n.selectGroup("rightReference").datum(r.rightRefAccessor?[r.rightRefAccessor(t)]:[]).call(c)}))}function Yn(){return mt().prop("stackElement").renderSelection((function(t){var n=t.datum();var r=t.props();var i=t.selectAll("[data-sszvis-stack]").data(n);var a=i.enter().append("g").attr("data-sszvis-stack","");i.exit().remove();i=i.merge(a);i.each((function(t){e.select(this).datum(t).call(r.stackElement)}))}))}function Wn(){return mt().prop("barPosition").prop("barWidth").prop("mirror").mirror(false).render((function(t){var n=e.select(this);var r=n.props();var i=e.line().x(r.barWidth).y(r.barPosition);var a=n.selectAll(".sszvis-path").data(t);a.exit().remove();var o=a.enter().append("path").attr("class","sszvis-path").attr("fill","none").attr("stroke","#aaa").attr("stroke-width",2).attr("stroke-dasharray","3 3");a=a.merge(o);a.attr("transform",r.mirror?"scale(-1, 1)":"").transition(pn()).attr("d",i)}))}var Gn=2*Math.PI;function Xn(){return mt().prop("angleScale").angleScale(e.scaleLinear().range([0,2*Math.PI])).prop("radiusScale").prop("centerRadius").prop("fill").prop("stroke").stroke("white").render((function(t){var n=e.select(this);var r=n.props();function i(t){if(t.data.isSunburstRoot){return"transparent"}else if(!t.parent){Se("Data passed to sszvis.component.sunburst does not have the expected tree structure. You should prepare it using sszvis.format.sunburst.prepareData");return e.hsl(r.fill(t.data.key))}else if(t.parent.data.isSunburstRoot){return e.hsl(r.fill(t.data.key))}else{var n=i(t.parent);n.l*=1.15;return n}}var a=function t(e){return Math.max(0,Math.min(Gn,r.angleScale(e.x0)))};var o=function t(e){return Math.max(0,Math.min(Gn,r.angleScale(e.x1)))};var s=function t(e){return r.centerRadius+Math.max(0,r.radiusScale(e.y0))};var l=function t(e){return r.centerRadius+Math.max(0,r.radiusScale(e.y1))};var u=e.arc().startAngle(a).endAngle(o).innerRadius(s).outerRadius(l);t.forEach((function(t){t._x0=t.x0;t._x1=t.x1}));var c=n.selectAll(".sszvis-sunburst-arc").each((function(e,n){if(t[n]){t[n].x0=e.x0;t[n].x1=e.x1}})).data(t);var f=c.enter().append("path").attr("class","sszvis-sunburst-arc");c.exit().remove();c=c.merge(f);c.attr("stroke",r.stroke).attr("fill",i);c.transition(pn()).attrTween("d",(function(t){var n=e.interpolate(t.x0,t._x0);var r=e.interpolate(t.x1,t._x1);return function(e){t.x0=n(e);t.x1=r(e);return u(t)}}));var h=zt().position((function(t){var e=a(t);var n=o(t);var r=e+Math.abs(n-e)/2-Math.PI/2;var i=(s(t)+l(t))/2;return[Math.cos(r)*i,Math.sin(r)*i]}));n.call(h)}))}function Vn(){return mt().prop("values").prop("current").prop("width").width(300).prop("change").change(n).render((function(){var t=e.select(this);var n=t.props();var r=n.width/n.values.length;var i=t.selectAll(".sszvis-control-optionSelectable").data(["sszvis-control-buttonGroup"],(function(t){return t}));var a=i.enter().append("div").classed("sszvis-control-optionSelectable",true).classed("sszvis-control-buttonGroup",true);i.exit().remove();i=i.merge(a);i.style("width",n.width+"px");var o=i.selectAll(".sszvis-control-buttonGroup__item").data(n.values);var s=o.enter().append("div").classed("sszvis-control-buttonGroup__item",true);o.exit().remove();o=o.merge(s);o.style("width",r+"px").classed("selected",(function(t){return t===n.current})).text((function(t){return t})).on("click",n.change)}))}function Zn(){return mt().prop("x",C).prop("y",C).prop("top").prop("bottom").prop("label").label(C("")).prop("color").prop("flip",C).flip(false).render((function(t){var n=e.select(this);var r=n.props();var i=o($t,r.x);var a=o($t,r.y);var s=r.bottom-4;var l=10;var u=24;var c=r.top-u;var f=n.selectAll(".sszvis-handleRuler__group").data([0]);var h=f.enter().append("g").classed("sszvis-handleRuler__group",true);f.exit().remove();f=f.merge(h);h.append("line").classed("sszvis-ruler__rule",true);h.append("rect").classed("sszvis-handleRuler__handle",true);h.append("line").classed("sszvis-handleRuler__handle-mark",true);f.selectAll(".sszvis-ruler__rule").attr("x1",i).attr("y1",$t(r.top)).attr("x2",i).attr("y2",$t(s));f.selectAll(".sszvis-handleRuler__handle").attr("x",(function(t){return i(t)-l/2})).attr("y",$t(c)).attr("width",l).attr("height",u).attr("rx",2).attr("ry",2);f.selectAll(".sszvis-handleRuler__handle-mark").attr("x1",i).attr("y1",$t(c+u*.15)).attr("x2",i).attr("y2",$t(c+u*.85));var d=f.selectAll(".sszvis-ruler__dot").data(t);var p=d.enter().append("circle").classed("sszvis-ruler__dot",true);d.exit().remove();d=d.merge(p);d.attr("cx",i).attr("cy",a).attr("r",3.5).attr("fill",r.color);var v=n.selectAll(".sszvis-ruler__label-outline").data(t);var m=v.enter().append("text").classed("sszvis-ruler__label-outline",true);v.exit().remove();v=v.merge(m);var g=n.selectAll(".sszvis-ruler__label").data(t);var y=g.enter().append("text").classed("sszvis-ruler__label",true);g.exit().remove();g=g.merge(y);n.selectAll(".sszvis-ruler__label, .sszvis-ruler__label-outline").attr("transform",(function(t){var e=o($t,r.x)(t);var n=o($t,r.y)(t);var i=r.flip(t)?-10:10;var a=n<r.top+a?2*a:n>r.bottom-a?0:5;return St(e+i,n+a)})).style("text-anchor",(function(t){return r.flip(t)?"end":"start"})).html(r.label)}))}function Qn(){return mt().prop("values").prop("current").prop("width").width(300).prop("change").change(n).render((function(){var t=e.select(this);var n=t.props();var r=t.selectAll(".sszvis-control-optionSelectable").data(["sszvis-control-select"],(function(t){return t}));var i=r.enter().append("div").classed("sszvis-control-optionSelectable",true).classed("sszvis-control-select",true);r.exit().remove();r=r.merge(i);r.style("width",n.width+"px");var a=r.selectDiv("selectMetrics").classed("sszvis-control-select__metrics",true);var o=r.selectAll(".sszvis-control-select__element").data([1]);var s=o.enter().append("select").classed("sszvis-control-select__element",true).on("change",(function(){var t=e.select(this).property("value");n.change(n.values[t]);setTimeout((function(){window.focus()}),0)}));o=o.merge(s);o.style("width",n.width+30+"px");var l=o.selectAll("option").data(n.values);var u=l.enter().append("option");l.exit().remove();l.merge(u).attr("selected",(function(t){return t===n.current?"selected":null})).attr("value",(function(t,e){return e})).text((function(t){return Jn(a,n.width-40,t)}))}))}function Jn(t,e,n){var r=1e3;var i=function n(i,a){t.text(i);var o=Math.ceil(t.node().clientWidth);if(a<r&&o>e){return n(i.slice(0,i.length-2)+"…",a+1)}else{return i}};return i(n,0)}function Kn(t,e){return e.indexOf(t)>=0}function tr(){return mt().prop("scale").prop("value").prop("onchange").prop("minorTicks").minorTicks([]).prop("majorTicks").majorTicks([]).prop("tickLabels",C).tickLabels(n).prop("label",C).label(n).render((function(){var t=e.select(this);var n=t.props();var r=28;var i=12;var a=$t(18);var s=10;var l=23;var u=6;var c=u/2;var f=s/2+.5;var h=n.scale.domain();var d=Ae(n.scale);var p=n.scale.copy().range([d[0]+f,d[1]-f]);var v=t.selectAll("g.sszvis-control-slider__backgroundgroup").data([1]);var m=v.enter().append("g").classed("sszvis-control-slider__backgroundgroup",true);v=v.merge(m);v.exit().remove();var g=Ie().scale(p).orient("bottom").hideBorderTickThreshold(0).tickSize(i).tickPadding(6).tickValues(S([].concat(n.majorTicks,n.minorTicks))).tickFormat((function(t){return Kn(t,n.majorTicks)?n.tickLabels(t):""}));var y=v.selectAll("g.sszvis-axisGroup").data([1]);var _=y.enter().append("g").classed("sszvis-axisGroup sszvis-axis sszvis-axis--bottom sszvis-axis--slider",true);y=y.merge(_);y.attr("transform",St(0,r)).call(g);y.selectAll(".tick line").filter((function(t){return!Kn(t,n.majorTicks)})).attr("y2",4);var b=y.selectAll(".tick text").filter((function(t){return Kn(t,n.majorTicks)}));var x=b.size();b.style("text-anchor",(function(t,e){return e===0?"start":e===x-1?"end":"middle"}));var w=v.selectAll("g.sszvis-slider__background").data([1]);var $=w.enter().append("g").classed("sszvis-slider__background",true);w=w.merge($);w.attr("transform",St(0,a));var k=w.selectAll(".sszvis-slider__background__bg1").data([1]);var M=k.enter().append("line").classed("sszvis-slider__background__bg1",true).style("stroke-width",u).style("stroke","#888").style("stroke-linecap","round");k=k.merge(M);k.attr("x1",Math.ceil(d[0]+c)).attr("x2",Math.floor(d[1]-c));var z=w.selectAll(".sszvis-slider__background__bg2").data([1]);var C=z.enter().append("line").classed("sszvis-slider__background__bg2",true).style("stroke-width",u-1).style("stroke","#fff").style("stroke-linecap","round");z=z.merge(C);z.attr("x1",Math.ceil(d[0]+c)).attr("x2",Math.floor(d[1]-c));var A=w.selectAll(".sszvis-slider__backgroundshadow").data([n.value]);var R=A.enter().append("line").attr("class","sszvis-slider__backgroundshadow").attr("stroke-width",u-1).style("stroke","#E0E0E0").style("stroke-linecap","round");A=A.merge(R);A.attr("x1",Math.ceil(d[0]+c)).attr("x2",o(Math.floor,p));var T=t.selectAll("g.sszvis-control-slider__handle").data([n.value]);T.exit().remove();var N=T.enter().append("g").classed("sszvis-control-slider__handle",true);T=T.merge(N);T.attr("transform",(function(t){return St($t(p(t)),.5)}));N.append("text").classed("sszvis-control-slider--label",true);T.selectAll(".sszvis-control-slider--label").data((function(t){return[t]})).text(n.label).style("text-anchor",(function(t){return E(t,h[0])?"start":E(t,h[1])?"end":"middle"})).attr("dx",(function(t){return E(t,h[0])?-(s/2):E(t,h[1])?s/2:0}));N.append("rect").classed("sszvis-control-slider__handlebox",true).attr("x",-(s/2)).attr("y",a-l/2).attr("width",s).attr("height",l).attr("rx",2).attr("ry",2);var P=l/2-4;N.append("line").classed("sszvis-control-slider__handleline",true).attr("y1",a-P).attr("y2",a+P);var L=Ue().xScale(n.scale).yScale(e.scaleLinear().range([-11,r+i])).draggable(true).on("drag",n.onchange);t.selectGroup("sliderInteraction").classed("sszvis-control-slider--interactionLayer",true).attr("transform",St(0,4)).call(L)}))}function er(t,n,r){n||(n=on());r||(r={});var a=r.key||"default";var o="data-sszvis-html-"+a;var s=i(t)?t:e.select(t);s.classed("sszvis-outer-container",true);var l=s.selectAll("[data-sszvis-html-layer]["+o+"]").data([0]);var u=l.enter().append("div").classed("sszvis-html-layer",true).attr("data-sszvis-html-layer","").attr(o,"");l=l.merge(u);l.style("position","absolute").style("left",n.padding.left+"px").style("top",n.padding.top+"px");return l}function nr(t,n,r){n||(n=on());r||(r={});var a=r.key||"default";var o="data-sszvis-svg-"+a;var s=r.title||"";var l=r.description||"";var u=i(t)?t:e.select(t);var c=u.selectAll("svg["+o+"]").data([0]);var f=c.enter().append("svg");f.classed("sszvis-svg-layer",true).attr(o,"").attr("role","img").attr("aria-label",s+" – "+l);f.append("title").text(s);f.append("desc").text(l).classed("sszvis-svg-layer",true).attr(o,"").attr("role","img");c.merge(f).attr("height",n.height).attr("width",n.width);var h=c.merge(f).selectAll("[data-sszvis-svg-layer]").data((function(){return[0]}));var d=h.enter().append("g").attr("data-sszvis-svg-layer","");h.merge(d).attr("transform","translate("+n.padding.left+","+n.padding.top+")");return h.merge(d)}var rr=function t(){var e=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;return!e};var ir=function t(){var e=!!document.createElement("canvas").getContext;return!e};var ar=function t(n,r){r||(r={});r.src||(r.src="fallback.png");var a=i(n)?n:e.select(n);a.append("img").attr("class","sszvis-fallback-image").attr("src",r.src)};var or=21;function sr(){return mt().prop("scale").prop("rowHeight").rowHeight(or).prop("columnWidth").columnWidth(200).prop("rows").rows(3).prop("columns").columns(3).prop("verticallyCentered").verticallyCentered(false).prop("orientation").prop("reverse").reverse(false).prop("rightAlign").rightAlign(false).prop("horizontalFloat").horizontalFloat(false).prop("floatPadding").floatPadding(20).prop("floatWidth").floatWidth(600).render((function(){var t=e.select(this);var n=t.props();var r=n.scale.domain();if(n.reverse){r=r.slice().reverse()}var i,a;if(n.orientation==="horizontal"){a=Math.ceil(n.columns);i=Math.ceil(r.length/a)}else if(n.orientation==="vertical"){i=Math.ceil(n.rows);a=Math.ceil(r.length/i)}var o=t.selectAll(".sszvis-legend--entry").data(r);var s=o.enter().append("g").classed("sszvis-legend--entry",true);o.exit().remove();var l=o.merge(s).selectAll(".sszvis-legend__mark").data((function(t){return[t]}));var u=l.enter().append("circle").classed("sszvis-legend__mark",true);l.exit().remove();l.merge(u).attr("cx",n.rightAlign?-6:6).attr("cy",$t(n.rowHeight/2)).attr("r",5).attr("fill",(function(t){return n.scale(t)})).attr("stroke",(function(t){return n.scale(t)})).attr("stroke-width",1);var c=o.merge(s).selectAll(".sszvis-legend__label").data((function(t){return[t]}));var f=c.enter().append("text").classed("sszvis-legend__label",true);c.exit().remove();c.merge(f).text((function(t){return t})).attr("dy","0.35em").style("text-anchor",(function(){return n.rightAlign?"end":"start"})).attr("transform",(function(){var t=n.rightAlign?-18:18;var e=$t(n.rowHeight/2);return St(t,e)}));var h="";if(n.verticallyCentered){h="translate(0,"+String(-(r.length*n.rowHeight/2))+") "}if(n.horizontalFloat){var d=0,p=0;o.merge(s).attr("transform",(function(){var t=this.getBoundingClientRect().width;if(p+t>n.floatWidth){d+=n.rowHeight;p=0}var e=St(p,d);p+=t+n.floatPadding;return h+e}))}else{o.merge(s).attr("transform",(function(t,e){if(n.orientation==="horizontal"){return h+"translate("+e%a*n.columnWidth+","+Math.floor(e/a)*n.rowHeight+")"}else if(n.orientation==="vertical"){return h+"translate("+Math.floor(e/i)*n.columnWidth+","+e%i*n.rowHeight+")"}}))}}))}var lr=2;var ur=40;function cr(t,e){var n=t.legendLabels,r=t.axisLabels,i=r===void 0?[]:r,a=t.slant,o=a===void 0?"horizontal":a;var s=tn(e).width;var l=fr(n,s);var u=n.length>6?L().domain(n):F().domain(n);var c=sr().scale(u).horizontalFloat(l.horizontalFloat).rows(l.rows).columnWidth(l.columnWidth).orientation(l.orientation);var f=hr(o,i);var h=l.rows*or;return{axisLabelPadding:f,legendPadding:h,bottomPadding:f+h,legendWidth:l.legendWidth,legend:c,scale:u}}function fr(t,n){var r=t.length;var i=e.max(t,dr);var a=e.sum(t,dr);var o=r<=4?1:pr(n,i,lr);var s=o===1&&a<=n;return{columns:o,rows:s?1:Math.ceil(r/o),columnWidth:o===1?null:i,legendWidth:o*i,horizontalFloat:s,orientation:s?null:"vertical"}}function hr(t,n){switch(t){case"vertical":return 40+e.max(n,nn);case"diagonal":return 40+Math.sqrt(2*Math.pow(e.max(n,nn)/2,2));default:return 60}}function dr(t){return rn(t)+ur}function pr(t,e,n){return n<=1?1:e<=t/n?n:pr(t,e,n-1)}function vr(t,e,n,r,i){i||(i={});i.top||(i.top=0);i.right||(i.right=0);i.bottom||(i.bottom=0);i.left||(i.left=0);var a=30,o=t-i.left-i.right,s=Math.min((o-e*(n-1))/n,a),l=s+e,u=1-s/l,c=n*l-e,f=r*l-e;return{side:s,paddedSide:l,padRatio:u,width:c,height:f,centeredOffset:Math.max((o-c)/2,0)}}function mr(t){var e=24,n=20,r=e,i=t-1,a=n,o=1-r/(r+a),s=r*t+a*i,l=0;return{barHeight:r,padHeight:a,padRatio:o,outerRatio:l,axisOffset:-(r/2)-10,barGroupHeight:s,totalHeight:s+l*(r+a)*2}}function gr(t,e){var n=480;var r=2;var i=Math.min($e(t),n);var a=1;var o=e-1;var s=a*o;var l=Math.round((i-s)/e);l=Math.max(l,r);var u=e*l+s;var c=u-l,f=l+a,h=[];while(c>=0){h.push(c);c-=f}var d=Math.min(t/2,$e.MAX_HEIGHT*(4/5)/2);var p=Math.max((t-2*d)/2,1);return{barHeight:l,padding:a,totalHeight:u,positions:h,maxBarLength:d,chartPadding:p}}var yr=function(){var t=0;return function(){return++t}}();var _r=function t(){var r=n;var i=n;var a=n;var o=[];var s=k("value");var l=function t(n,r){return e.ascending(s(n),s(r))};var u=function t(n,r){return e.descending(s(n),s(r))};var c=u;var h=function t(n){var l=o.reduce((function(t,e,n){e.forEach((function(e){if(t.has(e)){Se("Duplicate column member id passed to sszvis.layout.sankey.prepareData.column:",e,"The existing value will be overwritten")}var r={id:e,columnIndex:n,nodeIndex:0,value:0,valueOffset:0,linksFrom:[],linksTo:[]};t.set(e,r)}));return t}),e.map());var h=n.map((function(t){var e=r(t);var n=i(t);var o=+a(t)||0;var s=l.get(e);var u=l.get(n);if(!s){Se("Found invalid source column id:",e);return null}if(!u){Se("Found invalid target column id:",n);return null}var c={id:yr(),value:o,src:s,srcOffset:0,tgt:u,tgtOffset:0};s.linksFrom.push(c);u.linksTo.push(c);return c}));var d=l.values();var p=d.reduce((function(t,n){var r=e.sum(n.linksFrom,s);var i=e.sum(n.linksTo,s);n.value=Math.max(0,r,i);t[n.columnIndex]+=n.value;return t}),f(o.length,0));var v=o.map((function(t){return t.length}));d.sort(c);h.sort(u);d.reduce((function(t,e){e.valueOffset=t[0][e.columnIndex];e.nodeIndex=t[1][e.columnIndex];t[0][e.columnIndex]+=e.value;t[1][e.columnIndex]+=1;return t}),[f(o.length,0),f(o.length,0)]);d.forEach((function(t){t.linksFrom.sort((function(t,e){return t.tgt.nodeIndex-e.tgt.nodeIndex}));t.linksTo.sort((function(t,e){return t.src.nodeIndex-e.src.nodeIndex}));t.linksFrom.reduce((function(t,e){e.srcOffset=t;return t+s(e)}),0);t.linksTo.reduce((function(t,e){e.tgtOffset=t;return t+s(e)}),0)}));return{nodes:d,links:h,columnTotals:p,columnLengths:v}};h.apply=function(t){return h(t)};h.source=function(t){r=t;return h};h.target=function(t){i=t;return h};h.value=function(t){a=t;return h};h.descendingSort=function(){c=u;return h};h.ascendingSort=function(){c=l;return h};h.idLists=function(t){o=t;return h};return h};var br=function t(n,r,i,a){var o=.15;var s=12;var l=50;var u=1;var c=e.min(n.map((function(t){var e=i*o/(t-1);return Math.max(s,Math.min(l,e))})));var f=e.min(n.map((function(t,e){var n=Math.max(u,i-(t-1)*c);return n/r[e]})));var h=c/f;var d=c;var p=e.max(r);var v=n.map((function(t,e){return r[e]*f+(t-1)*d}));var m=e.max(v);var g=n.map((function(t,e){return(m-v[e])/2}));var y=[0,p];var _=[0,p*f];var b=20;var x=n.length;var w=(a-b)/(x-1);var $=[0,1];var k=[0,w];return{valuePadding:h,nodePadding:d,columnPaddings:g,valueDomain:y,valueRange:_,nodeThickness:b,columnDomain:$,columnRange:k}};function xr(){return mt().prop("width").prop("height").prop("paddingX").prop("paddingY").prop("rows").prop("cols").render((function(t){var n=e.select(this);var r=n.props();var i=(r.width-r.paddingX*(r.cols-1))/r.cols;var a=(r.height-r.paddingY*(r.rows-1))/r.rows;var o=i/2;var s=a/2;var l=n.selectAll("g.sszvis-multiple").data(t);var u=l.enter().append("g").classed("sszvis-g sszvis-multiple",true);l.exit().remove();l=l.merge(u);var c=l.selectAll("g.sszvis-multiple-chart").data((function(t){return[t.values]}));var f=c.enter().append("g").classed("sszvis-multiple-chart",true);c.exit().remove();c=c.merge(f);l.datum((function(t,e){t.gx=e%r.cols*(i+r.paddingX);t.gw=i;t.cx=o;t.gy=Math.floor(e/r.cols)*(a+r.paddingY);t.gh=a;t.cy=s;return t})).attr("transform",(function(t){return"translate("+t.gx+","+t.gy+")"}))}))}function wr(t,e,n){n||(n=.1);var r=t/(e-n),i=r*(1-n),a=i,o=[];while(a-t<1){o.push(a);a+=r}return{range:o,bandHeight:i,padHeight:r*n}}var $r=function t(){var r=e.nest();var i=n;var a=function t(){return 0};function o(t){r.rollup(d);var n=e.hierarchy({isSunburstRoot:true,values:r.entries(t)},k("values")).sort(a).sum((function(t){return t.value?i(t.value):0}));e.partition()(n);function o(t){return[].concat.apply([t],(t.children||[]).map(o))}return o(n).filter((function(t){return!t.data.isSunburstRoot}))}o.calculate=function(t){return o(t)};o.layer=function(t){r.key(t);return o};o.value=function(t){i=t;return o};o.sort=function(t){a=t;return o};return o};var kr=60;var Mr=kr;var Sr=10;var zr=Sr;var Er=function t(e,n){var r=n/2;var i=r/3;var a=Math.max(zr,Math.min(Mr,(r-i)/e));return{centerRadius:i,numLayers:e,ringWidth:a}};var Cr=function t(n){return[e.min(n,(function(t){return t.y0})),e.max(n,(function(t){return t.y1}))]};function Ar(t,e){var n=48,r=2,i=100,a=.7,o=1-a,s=e-1,l=t*o/(o*s+a*e),u=(t-l*s)/e;if(u>n){u=n;l=(t-u*e)/s}if(l<r)l=r;if(l>i)l=i;var c=1-u/(u+l),f=u*e+l*s,h=(t-f)/2/(u+l);return{barWidth:u,padWidth:l,padRatio:c,outerRatio:h,barGroupWidth:f,totalWidth:t}}function Rr(){return mt().prop("scale").prop("displayValues").prop("endpoints").prop("width").width(200).prop("labelFormat").labelFormat(n).render((function(){var t=e.select(this);var n=t.props();if(!n.scale)return ze("legend.binnedColorScale - a scale must be specified.");if(!n.displayValues)return ze("legend.binnedColorScale - display values must be specified.");if(!n.endpoints)return ze("legend.binnedColorScale - endpoints must be specified");var r=10;var i=r/2;var a=[0,n.width-2*i];var o=e.scaleLinear().domain(n.endpoints).range(a);var s=0;var l=[];var u=n.endpoints[0];n.displayValues.forEach((function(t){var e=o(t)-s;var r=s%1;l.push({x:Math.floor(i+s),w:e+r,c:n.scale(u),p:t});s+=e;u=t}));l.push({x:Math.floor(i+s),w:a[1]-s,c:n.scale(u)});var c=t.selectAll("circle.sszvis-legend__circle").data(n.endpoints);var f=c.enter().append("circle").classed("sszvis-legend__circle",true);c=c.merge(f);c.exit().remove();c.attr("r",i).attr("cy",i).attr("cx",(function(t,e){return e===0?i:n.width-i})).attr("fill",n.scale);var h=t.selectAll("rect.sszvis-legend__crispmark").data(l);var d=h.enter().append("rect").classed("sszvis-legend__crispmark",true);h=h.merge(d);h.exit().remove();h.attr("x",(function(t){return t.x})).attr("y",0).attr("width",(function(t){return t.w})).attr("height",r).attr("fill",(function(t){return t.c}));var p=l.slice(0,-1);var v=t.selectAll("line.sszvis-legend__crispmark").data(p);var m=v.enter().append("line").classed("sszvis-legend__crispmark",true);v.merge(m);v.exit().remove();v.attr("x1",(function(t){return $t(t.x+t.w)})).attr("x2",(function(t){return $t(t.x+t.w)})).attr("y1",r+1).attr("y2",r+6).attr("stroke","#B8B8B8");var g=t.selectAll(".sszvis-legend__axislabel").data(p);var y=g.enter().append("text").classed("sszvis-legend__axislabel",true);g=g.merge(y);g.exit().remove();g.style("text-anchor","middle").attr("transform",(function(t){return"translate("+(t.x+t.w)+","+(r+20)+")"})).text((function(t){return n.labelFormat(t.p)}))}))}function Tr(){return mt().prop("scale").prop("displayValues").displayValues([]).prop("width").width(200).prop("segments").segments(8).prop("labelText").prop("labelFormat").labelFormat(n).render((function(){var t=e.select(this);var n=t.props();if(!n.scale){ze("legend.linearColorScale - a scale must be specified.");return false}var r=n.scale.domain();var i=n.displayValues;if(!i.length&&n.scale.ticks){i=n.scale.ticks(n.segments-1)}i.push(w(r));var a=i.length>0?n.width/i.length:0;var o=10;var s=t.selectAll("rect.sszvis-legend__mark").data(i);var l=s.enter().append("rect").classed("sszvis-legend__mark",true);s.exit().remove();s=s.merge(l);s.attr("x",(function(t,e){return e*a-1})).attr("y",0).attr("width",a+1).attr("height",o).attr("fill",(function(t){return n.scale(t)}));var u=[d(r),w(r)];var c=n.labelText||u;var f=t.selectAll("circle.ssvis-legend--mark").data(u);var h=f.enter().append("circle").attr("class","ssvis-legend--mark");f.exit().remove();f=f.merge(h);f.attr("cx",(function(t,e){return e*n.width})).attr("cy",o/2).attr("r",o/2).attr("fill",(function(t){return n.scale(t)}));var p=t.selectAll(".sszvis-legend__label").data(c);var v=p.enter().append("text").classed("sszvis-legend__label",true);p.exit().remove();p=p.merge(v);var m=16;p.style("text-anchor",(function(t,e){return e===0?"end":"start"})).attr("dy","0.35em").attr("transform",(function(t,e){return"translate("+(e*n.width+(e===0?-1:1)*m)+", "+o/2+")"})).text((function(t,e){var r=n.labelFormat(t,e);return r}))}))}function Nr(){return mt().prop("scale").prop("tickFormat").tickFormat(n).prop("tickValues").render((function(){var t=e.select(this);var n=t.props();var r=n.scale.domain();var i=n.tickValues||[r[1],n.scale.invert(e.mean(n.scale.range())),r[0]];var a=Ae(n.scale)[1];var o=t.selectAll("g.sszvis-legend__elementgroup").data([0]);var s=o.enter().append("g").attr("class","sszvis-legend__elementgroup");o=o.merge(s);o.attr("transform",St($t(a),$t(a)));var l=o.selectAll("circle.sszvis-legend__greyline").data(i);var u=l.enter().append("circle").classed("sszvis-legend__greyline",true);l.exit().remove();l=l.merge(u);function c(t){return a-n.scale(t)}function f(t){return a-2*n.scale(t)}l.attr("r",n.scale).attr("stroke-width",1).attr("cy",c);var h=o.selectAll("line.sszvis-legend__dashedline").data(i);var d=h.enter().append("line").classed("sszvis-legend__dashedline",true);h.exit().remove();h=h.merge(d);h.attr("x1",0).attr("y1",f).attr("x2",a+15).attr("y2",f);var p=o.selectAll(".sszvis-legend__label").data(i);var v=p.enter().append("text").attr("class","sszvis-legend__label sszvis-legend__label--small");p.exit().remove();p=p.merge(v);p.attr("dx",a+18).attr("y",f).attr("dy","0.35em").text(n.tickFormat)}))}var Pr=function t(e){ze(e)};var Lr="zurichStadtKreise";var Fr="zurichStatistischeQuartiere";var Dr="zurichStatistischeZonen";var Ir="zurichWahlKreise";var Or="zurichAgglomeration2012";var Br="switzerland";var qr=A((function(t,n,r){var i=e.geoMercator().fitSize([t,n],r);return i}),(function(t,e,n,r){return""+t+","+e+","+r}));var Hr=function t(n,r,i,a){var o=e.geoPath().projection(qr(n,r,i,a));return o};var Ur=function t(e,n,r){var i=6367475;var a=Math.PI*2*i;var o=r/a*360;var s=o/2;var l=[[n[0]-s,n[1]-s],[n[0]+s,n[1]+s]];var u=l.map(e);var c=Math.abs(u[1][0]-u[0][0]);var f=Math.abs(u[1][1]-u[0][1]);var h=(c+f)/2;return h};var jr="geoId";var Yr=function t(e,n,r){r||(r=jr);var i=Array.isArray(e)?e.reduce((function(t,e){t[e[r]]=e;return t}),{}):{};var a=n.features.map((function(t){return{geoJson:t,datum:i[t.id]}}));return a};var Wr=function t(n){if(!n.properties.cachedCenter){var r=n.properties.center;if(r){n.properties.cachedCenter=r.split(",").map(parseFloat)}else{n.properties.cachedCenter=e.geoCentroid(n)}}return n.properties.cachedCenter};var Gr=function t(e){return Math.min(Math.max(.8,e/400),1.1)};var Xr=k("datum");function Vr(){var t=e.dispatch("over","out","click");var n=mt().prop("mergedData").prop("mapPath").prop("radius",C).prop("fill",C).prop("strokeColor",C).strokeColor("#ffffff").prop("strokeWidth",C).strokeWidth(1).prop("transition").transition(true).render((function(){var n=e.select(this);var r=n.props();var i=o(r.radius,Xr);var a=n.selectGroup("anchoredCircles").selectAll(".sszvis-anchored-circle").data(r.mergedData,(function(t){return t.geoJson.id}));a.enter().append("circle").attr("class","sszvis-anchored-circle sszvis-anchored-circle--entering").attr("r",i).on("mouseover",(function(e){t.call("over",this,e.datum)})).on("mouseout",(function(e){t.call("out",this,e.datum)})).on("click",(function(e){t.call("click",this,e.datum)})).merge(a).attr("transform",(function(t){var e=r.mapPath.projection()(Wr(t.geoJson));return St(e[0],e[1])})).style("fill",(function(t){return r.fill(t.datum)})).style("stroke",(function(t){return r.strokeColor(t.datum)})).style("stroke-width",(function(t){return r.strokeWidth(t.datum)})).sort((function(t,e){return r.radius(e.datum)-r.radius(t.datum)}));a.classed("sszvis-anchored-circle--entering",false);if(r.transition){var s=pn();a.exit().transition(s).attr("r",0).remove();a.transition(s).attr("r",i)}else{a.exit().remove();a.attr("r",i)}}));n.on=function(){var e=t.on.apply(t,arguments);return e===t?n:e};return n}function Zr(){return mt().prop("mergedData").prop("geoJson").prop("mapPath").prop("defined",C).defined(true).prop("fill",C).fill((function(){return"black"})).prop("transitionColor").transitionColor(true).render((function(){var t=e.select(this);var n=t.props();R(t,"pattern","missing-pattern").call(ft);function r(t){return n.defined(t.datum)?n.fill(t.datum):"url(#missing-pattern)"}var i=t.selectAll(".sszvis-map__area").data(n.mergedData);var a=i.enter().append("path").classed("sszvis-map__area",true).classed("sszvis-map__area--entering",true).attr("data-event-target","").attr("fill",r);i.classed("sszvis-map__area--entering",false);i.exit().remove();i=i.merge(a);t.selectAll(".sszvis-map__area--undefined").attr("fill",r);i.classed("sszvis-map__area--undefined",(function(t){return!l(t.datum)||!n.defined(t.datum)})).attr("d",(function(t){return n.mapPath(t.geoJson)}));if(n.transitionColor){i.transition().call(mn).attr("fill",r)}else{i.attr("fill",r)}var o=zt().position((function(t){return n.mapPath.projection()(Wr(t.geoJson))}));var s=t.selectGroup("tooltipAnchors").datum(n.mergedData);s.call(o)}))}function Qr(){var t=e.dispatch("over","out","click");var n=mt().prop("dataKeyName").dataKeyName(jr).prop("geoJsonKeyName").geoJsonKeyName("id").prop("geoJson").prop("mapPath").prop("defined",C).defined(true).prop("fill",C).fill("black").prop("stroke",C).stroke("black").prop("strokeWidth",C).strokeWidth(1.25).prop("transitionColor").transitionColor(true).render((function(n){var r=e.select(this);var i=r.props();R(r,"pattern","missing-pattern").call(ft);var a=k(i.dataKeyName);var o=k(i.geoJsonKeyName);var s=n.reduce((function(t,e){t[a(e)]=e;return t}));var u=i.geoJson.features.map((function(t){return{geoJson:t,datum:s[o(t.properties)]}}));function c(t){return l(t.datum)&&i.defined(t.datum)?i.fill(t.datum):"url(#missing-pattern)"}function f(t){return l(t.datum)&&i.defined(t.datum)?i.stroke(t.datum):""}var h=r.selectAll(".sszvis-map__geojsonelement").data(u);var d=h.enter().append("path").classed("sszvis-map__geojsonelement",true).attr("data-event-target","").attr("fill",c);h.exit().remove();h=h.merge(d);r.selectAll(".sszvis-map__geojsonelement--undefined").attr("fill",c);h.classed("sszvis-map__geojsonelement--undefined",(function(t){return!l(t.datum)||!i.defined(t.datum)})).attr("d",(function(t){return i.mapPath(t.geoJson)}));if(i.transitionColor){h.transition().call(mn).attr("fill",c)}else{h.attr("fill",c)}h.attr("stroke",f).attr("stroke-width",i.strokeWidth);r.selectAll("[data-event-target]").on("mouseover",(function(e){t.over(e.datum)})).on("mouseout",(function(e){t.out(e.datum)})).on("click",(function(e){t.click(e.datum)}));var p=zt().position((function(t){t.geoJson.properties||(t.geoJson.properties={});var n=t.geoJson.properties.sphericalCentroid;if(!n){t.geoJson.properties.sphericalCentroid=n=e.geoCentroid(t.geoJson)}return i.mapPath.projection()(n)}));var v=r.selectGroup("tooltipAnchors").datum(u);v.call(p)}));n.on=function(){var e=t.on.apply(t,arguments);return e===t?n:e};return n}function Jr(){return mt().prop("keyName").keyName(jr).prop("geoJson").prop("mapPath").prop("highlight").highlight([]).prop("highlightStroke",C).highlightStroke("white").prop("highlightStrokeWidth",C).highlightStrokeWidth(2).render((function(){var t=e.select(this);var n=t.props();var r=t.selectAll(".sszvis-map__highlight");if(!n.highlight.length){r.remove();return true}var i=n.geoJson.features.reduce((function(t,e){t[e.id]=e;return t}),{});var a=n.highlight.reduce((function(t,e){if(e){t.push({geoJson:i[e[n.keyName]],datum:e})}return t}),[]);r=r.data(a);var o=r.enter().append("path").classed("sszvis-map__highlight",true);r.exit().remove();r=r.merge(o);r.attr("d",(function(t){return n.mapPath(t.geoJson)})).style("stroke",(function(t){return n.highlightStroke(t.datum)})).style("stroke-width",(function(t){return n.highlightStrokeWidth(t.datum)}))}))}function Kr(){return mt().prop("projection").prop("src").prop("geoBounds").prop("opacity").opacity(1).render((function(){var t=e.select(this);var n=t.props();var r=t.selectAll(".sszvis-map__image").data([0]);var i=r.enter().append("img").classed("sszvis-map__image",true);r.exit().remove();r=r.merge(i);var a=n.projection(n.geoBounds[0]);var o=n.projection(n.geoBounds[1]);r.attr("src",n.src).style("left",Math.round(a[0])+"px").style("top",Math.round(a[1])+"px").style("width",Math.round(o[0]-a[0])+"px").style("height",Math.round(o[1]-a[1])+"px").style("opacity",n.opacity)}))}function ti(){return mt().prop("geoJson").prop("mapPath").prop("borderColor").borderColor("white").prop("strokeWidth").strokeWidth(1.25).render((function(){var t=e.select(this);var n=t.props();var r=t.selectAll(".sszvis-map__border").data([n.geoJson]);var i=r.enter().append("path").classed("sszvis-map__border",true);r.exit().remove();r=r.merge(i);r.attr("d",n.mapPath).style("stroke",n.borderColor).style("stroke-width",n.strokeWidth)}))}function ei(){return mt().prop("mapPath").prop("lakeFeature").prop("lakeBounds").prop("lakePathColor").prop("fadeOut").fadeOut(true).render((function(){var t=e.select(this);var n=t.props();R(t,"pattern","lake-pattern").call(ht);if(n.fadeOut){R(t,"linearGradient","lake-fade-gradient").call(dt);R(t,"mask","lake-fade-mask").call(pt)}var r=t.selectAll(".sszvis-map__lakezurich").data([n.lakeFeature]);var i=r.enter().append("path").classed("sszvis-map__lakezurich",true);r.exit().remove();r=r.merge(i);r.attr("d",n.mapPath).attr("fill","url(#lake-pattern)");if(n.fadeOut){r.attr("mask","url(#lake-fade-mask)")}var a=t.selectAll(".sszvis-map__lakepath").data([n.lakeBounds]);var o=a.enter().append("path").classed("sszvis-map__lakepath",true);a.exit().remove();a=a.merge(o);a.attr("d",n.mapPath);if(n.lakePathColor){a.style("stroke",n.lakePathColor)}}))}function ni(){return mt().prop("debug").debug(false).prop("width").prop("height").prop("position").prop("cellSide").cellSide(2).prop("fill",C).prop("opacity").opacity(1).render((function(t){var n=e.select(this);var r=n.props();var i=n.selectAll(".sszvis-map__rasterimage").data([0]);var a=i.enter().append("canvas").classed("sszvis-map__rasterimage",true);i.exit().remove();i=i.merge(a);i.attr("width",r.width).attr("height",r.height).style("opacity",r.opacity);var o=i.node().getContext("2d");o.clearRect(0,0,r.width,r.height);if(r.debug){o.fillStyle="rgba(255, 0, 0, 0.2)";o.fillRect(0,0,r.width,r.height)}var s=r.cellSide/2;t.forEach((function(t){var e=r.position(t);o.fillStyle=r.fill(t);o.fillRect(e[0]-s,e[1]-s,r.cellSide,r.cellSide)}))}))}function ri(){var t=e.dispatch("over","out","click");var n=Zr();var r=ti();var i=ei();var a=Jr();var o=mt().prop("width").prop("height").prop("keyName").keyName(jr).prop("withLake").withLake(true).prop("anchoredShape").prop("features").prop("borders").prop("lakeFeatures").prop("lakeBorders").prop("lakeFadeOut").lakeFadeOut(false).delegate("defined",n).delegate("fill",n).delegate("transitionColor",n).delegate("borderColor",r).delegate("strokeWidth",r).delegate("highlight",a).delegate("highlightStroke",a).delegate("highlightStrokeWidth",a).delegate("lakePathColor",i).render((function(o){var s=e.select(this);var l=s.props();var u=Hr(l.width,l.height,l.features,"zurichStadtfeatures");var c=Yr(o,l.features,l.keyName);n.geoJson(l.features).mergedData(c).mapPath(u);r.geoJson(l.borders).mapPath(u);i.lakeFeature(l.lakeFeatures).lakeBounds(l.lakeBorders).mapPath(u).fadeOut(l.lakeFadeOut);a.geoJson(l.features).keyName(l.keyName).mapPath(u);s.call(n).call(r);if(l.withLake){s.call(i)}s.call(a);if(l.anchoredShape){l.anchoredShape.mergedData(c).mapPath(u);s.call(l.anchoredShape)}s.selectAll("[data-event-target]").on("mouseover",(function(e){t.call("over",this,e.datum)})).on("mouseout",(function(e){t.call("out",this,e.datum)})).on("click",(function(e){t.call("click",this,e.datum)}))}));o.on=function(){var e=t.on.apply(t,arguments);return e===t?o:e};return o}var ii=e.timeFormatLocale(At).parse;var ai=ii("%d.%m.%Y");var oi=function t(e){return ai(e)};var si=ii("%Y");var li=function t(e){return si(e)};var ui=function t(e){return e.trim()===""?NaN:+e};function ci(){var t=ue();var e={};function n(n){if(!x(n)||!fi(n)){Se("Could not determine the current breakpoint, returning the default props");return Object.keys(e).reduce((function(t,e,n){t[n]=e._;return t}),{})}var r=se(t,n);return Object.keys(e).reduce((function(i,a){var o=e[a];if(!di(o,t)){Se('responsiveProps was given an invalid propSpec for property: "'+a+'". The spec: ',o);return i}var s=h((function(t){return l(o[t.name])}),r);i[a]=o[s.name](n.width);return i}),{})}n.prop=function(t,r){e[t]=hi(r);return n};n.breakpoints=function(e){if(arguments.length===0){return t}t=le(e);return n};return n}function fi(t){return l(t)&&l(t.width)&&l(t.screenWidth)&&l(t.screenHeight)}function hi(t){return Object.keys(t).reduce((function(e,n){e[n]=C(t[n]);return e}),{})}function di(t,e){if(!l(t._)){return false}for(var n in t){if({}.hasOwnProperty.call(t,n)){if(n!=="_"&&!l(ae(e,n))){return false}}}return true}function pi(){var t={plain:function t(e){return e},italic:function t(e){return"<em>"+e+"</em>"},bold:function t(e){return"<strong>"+e+"</strong>"}};return function(e,n){return e.lines().map((function(e){return e.map((function(e){return t[e.style].call(null,e.text(n))})).join(" ")})).join("<br/>")}}function vi(){var t={plain:function t(e){return"<tspan>"+e+"</tspan>"},italic:function t(e){return'<tspan style="font-style:italic">'+e+"</tspan>"},bold:function t(e){return'<tspan style="font-weight:bold">'+e+"</tspan>"}};return function(e,n){return e.lines().reduce((function(e,r,i){var a=r.map((function(e){return t[e.style].call(null,e.text(n))})).join(" ");var o=i===0?0:"1.2em";return e+'<tspan x="0" dy="'+o+'">'+a+"</tspan>"}),"")}}function mi(){var t=[[]];return{addLine:function e(){t.push([])},addWord:function e(n,r){w(t).push({text:C(r),style:n})},lines:function e(){return t}}}function gi(t){return function(){var e=mi();function n(n){return t(e,n)}n.newline=function(){e.addLine();return n};["bold","italic","plain"].forEach((function(t){n[t]=function(r){e.addWord(t,r);return n}}));return n}}var yi=gi(pi());var _i=gi(vi());function bi(t,e){var n,r,i;var a=null;var o=0;var s=function t(){o=0;i=e.apply(n,r);a=n=r=null};return function(){var l=Date.now();if(!o)o=l;var u=t-(l-o);n=this;r=arguments;if(u<=0||u>t){if(a){clearTimeout(a);a=null}o=l;i=e.apply(n,r);if(!a)n=r=null}else if(!a){a=setTimeout(s,u)}return i}}var xi={resize:[]};if(typeof window!=="undefined"){e.select(window).on("resize",bi(500,(function(){ki("resize")})))}var wi=function t(e,n){if(!xi[e]){xi[e]=[]}xi[e]=xi[e].filter((function(t){return t!==n})).concat(n);return this};var $i=function t(e,n){if(!xi[e]){return this}xi[e]=xi[e].filter((function(t){return t!==n}));return this};var ki=function t(e){var n=Array.prototype.slice.call(arguments,1);if(xi[e]){xi[e].forEach((function(t){t.apply(null,n)}))}return this};var Mi={on:wi,off:$i,trigger:ki};t.AGGLOMERATION_2012_KEY=Or;t.DEFAULT_LEGEND_COLOR_ORDINAL_ROW_HEIGHT=or;t.DEFAULT_WIDTH=an;t.GEO_KEY_DEFAULT=jr;t.RATIO=sn;t.STADT_KREISE_KEY=Lr;t.STATISTISCHE_QUARTIERE_KEY=Fr;t.STATISTISCHE_ZONEN_KEY=Dr;t.SWITZERLAND_KEY=Br;t.WAHL_KREISE_KEY=Ir;t.annotationCircle=xt;t.annotationLine=wt;t.annotationRangeFlag=Et;t.annotationRangeRuler=Yt;t.annotationRectangle=Wt;t.annotationRuler=Gt;t.arity=a;t.aspectRatio=ve;t.aspectRatio12to5=_e;t.aspectRatio16to10=ge;t.aspectRatio4to3=me;t.aspectRatioAuto=Me;t.aspectRatioPortrait=$e;t.aspectRatioSquare=xe;t.axisX=Ie;t.axisY=Oe;t.bar=yn;t.bounds=on;t.breakpointCreateSpec=le;t.breakpointDefaultSpec=ue;t.breakpointFind=ie;t.breakpointFindByName=ae;t.breakpointLap=fe;t.breakpointMatch=se;t.breakpointPalm=ce;t.breakpointTest=oe;t.buttonGroup=Vn;t.cascade=hn;t.choropleth=ri;t.colorLegendDimensions=fr;t.colorLegendLayout=cr;t.compose=o;t.contains=s;t.createHtmlLayer=er;t.createSvgLayer=nr;t.dataAreaPattern=vt;t.defaultTransition=pn;t.defined=l;t.derivedSet=u;t.dimensionsHeatTable=vr;t.dimensionsHorizontalBarChart=mr;t.dimensionsVerticalBarChart=Ar;t.dot=_n;t.ensureDefsElement=R;t.every=c;t.fallbackCanvasUnsupported=ir;t.fallbackRender=ar;t.fallbackUnsupported=rr;t.fastTransition=vn;t.filledArray=f;t.find=h;t.first=d;t.firstTouch=v;t.fitTooltip=re;t.flatten=p;t.foldPattern=m;t.formatAge=Nt;t.formatAxisTimeFormat=Pt;t.formatFractionPercent=qt;t.formatMonth=Lt;t.formatNone=Dt;t.formatNumber=It;t.formatPercent=Bt;t.formatPreciseNumber=Ot;t.formatText=Ht;t.formatYear=Ft;t.functor=C;t.getGeoJsonCenter=Wr;t.groupedBars=bn;t.halfPixel=$t;t.handleRuler=Zn;t.hashableSet=g;t.heatTableMissingValuePattern=ct;t.identity=n;t.isFunction=y;t.isNull=_;t.isNumber=b;t.isObject=x;t.isSelection=i;t.isString=r;t.last=w;t.layoutPopulationPyramid=gr;t.layoutSmallMultiples=xr;t.layoutStackedAreaMultiples=wr;t.legendColorBinned=Rr;t.legendColorLinear=Tr;t.legendColorOrdinal=sr;t.legendRadius=Nr;t.line=xn;t.loadError=Pr;t.locale=At;t.mapLakeFadeGradient=dt;t.mapLakeGradientMask=pt;t.mapLakePattern=ht;t.mapMissingValuePattern=ft;t.mapRendererBase=Zr;t.mapRendererBubble=Vr;t.mapRendererGeoJson=Qr;t.mapRendererHighlight=Jr;t.mapRendererImage=Kr;t.mapRendererMesh=ti;t.mapRendererPatternedLakeOverlay=ei;t.mapRendererRaster=ni;t.measureAxisLabel=nn;t.measureDimensions=tn;t.measureLegendLabel=rn;t.measureText=en;t.memoize=A;t.modularTextHTML=yi;t.modularTextSVG=_i;t.move=Ue;t.muchDarker=rt;t.not=$;t.panning=Ze;t.parseDate=oi;t.parseNumber=ui;t.parseYear=li;t.pie=wn;t.pixelsFromGeoDistance=Ur;t.prepareMergedGeoData=Yr;t.prop=k;t.propOr=M;t.pyramid=kn;t.range=Ae;t.responsiveProps=ci;t.roundTransformString=kt;t.sankey=Sn;t.sankeyLayout=br;t.sankeyPrepareData=_r;t.scaleDeepGry=et;t.scaleDimGry=K;t.scaleDivNtr=G;t.scaleDivNtrGry=X;t.scaleDivVal=Y;t.scaleDivValGry=W;t.scaleGry=J;t.scaleLightGry=Z;t.scaleMedGry=tt;t.scalePaleGry=Q;t.scaleQual12=L;t.scaleQual6=F;t.scaleQual6a=D;t.scaleQual6b=I;t.scaleSeqBlu=B;t.scaleSeqBrn=U;t.scaleSeqGrn=H;t.scaleSeqRed=q;t.selectMenu=Qn;t.set=S;t.slider=tr;t.slightlyDarker=nt;t.slowTransition=mn;t.some=z;t.stackedArea=zn;t.stackedAreaMultiples=En;t.stackedBarHorizontal=Dn;t.stackedBarHorizontalData=Nn;t.stackedBarVertical=On;t.stackedBarVerticalData=Pn;t.stackedPyramid=jn;t.stackedPyramidData=Un;t.stringEqual=E;t.sunburst=Xn;t.sunburstGetRadiusExtent=Cr;t.sunburstLayout=Er;t.sunburstPrepareData=$r;t.swissMapPath=Hr;t.swissMapProjection=qr;t.textWrap=Te;t.tooltip=Jt;t.tooltipAnchor=zt;t.transformTranslateSubpixelShift=Mt;t.translateString=St;t.viewport=Mi;t.voronoi=Qe;t.widthAdaptiveMapPathStroke=Gr;t.withAlpha=it;Object.defineProperty(t,"__esModule",{value:true})}))}));var sszvis$1=getDefaultExportFromCjs(sszvis);var sszvis$2=Object.freeze(Object.assign(Object.create(null),sszvis,{default:sszvis$1}));function identity(t){return t}function transform(t){if(t==null)return identity;var e,n,r=t.scale[0],i=t.scale[1],a=t.translate[0],o=t.translate[1];return function(t,s){if(!s)e=n=0;var l=2,u=t.length,c=new Array(u);c[0]=(e+=t[0])*r+a;c[1]=(n+=t[1])*i+o;while(l<u)c[l]=t[l],++l;return c}}function bbox(t){var e=transform(t.transform),n,r=Infinity,i=r,a=-r,o=-r;function s(t){t=e(t);if(t[0]<r)r=t[0];if(t[0]>a)a=t[0];if(t[1]<i)i=t[1];if(t[1]>o)o=t[1]}function l(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(l);break;case"Point":s(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(s);break}}t.arcs.forEach((function(t){var n=-1,s=t.length,l;while(++n<s){l=e(t[n],n);if(l[0]<r)r=l[0];if(l[0]>a)a=l[0];if(l[1]<i)i=l[1];if(l[1]>o)o=l[1]}}));for(n in t.objects){l(t.objects[n])}return[r,i,a,o]}function reverse(t,e){var n,r=t.length,i=r-e;while(i<--r)n=t[i],t[i++]=t[r],t[r]=n}function feature(t,e){return e.type==="GeometryCollection"?{type:"FeatureCollection",features:e.geometries.map((function(e){return feature$1(t,e)}))}:feature$1(t,e)}function feature$1(t,e){var n=e.id,r=e.bbox,i=e.properties==null?{}:e.properties,a=object(t,e);return n==null&&r==null?{type:"Feature",properties:i,geometry:a}:r==null?{type:"Feature",id:n,properties:i,geometry:a}:{type:"Feature",id:n,bbox:r,properties:i,geometry:a}}function object(t,e){var n=transform(t.transform),r=t.arcs;function i(t,e){if(e.length)e.pop();for(var i=r[t<0?~t:t],a=0,o=i.length;a<o;++a){e.push(n(i[a],a))}if(t<0)reverse(e,o)}function a(t){return n(t)}function o(t){var e=[];for(var n=0,r=t.length;n<r;++n)i(t[n],e);if(e.length<2)e.push(e[0]);return e}function s(t){var e=o(t);while(e.length<4)e.push(e[0]);return e}function l(t){return t.map(s)}function u(t){var e=t.type,n;switch(e){case"GeometryCollection":return{type:e,geometries:t.geometries.map(u)};case"Point":n=a(t.coordinates);break;case"MultiPoint":n=t.coordinates.map(a);break;case"LineString":n=o(t.arcs);break;case"MultiLineString":n=t.arcs.map(o);break;case"Polygon":n=l(t.arcs);break;case"MultiPolygon":n=t.arcs.map(l);break;default:return null}return{type:e,coordinates:n}}return u(e)}function stitch(t,e){var n={},r={},i={},a=[],o=-1;e.forEach((function(n,r){var i=t.arcs[n<0?~n:n],a;if(i.length<3&&!i[1][0]&&!i[1][1]){a=e[++o],e[o]=n,e[r]=a}}));e.forEach((function(t){var e=s(t),n=e[0],a=e[1],o,l;if(o=i[n]){delete i[o.end];o.push(t);o.end=a;if(l=r[a]){delete r[l.start];var u=l===o?o:o.concat(l);r[u.start=o.start]=i[u.end=l.end]=u}else{r[o.start]=i[o.end]=o}}else if(o=r[a]){delete r[o.start];o.unshift(t);o.start=n;if(l=i[n]){delete i[l.end];var c=l===o?o:l.concat(o);r[c.start=l.start]=i[c.end=o.end]=c}else{r[o.start]=i[o.end]=o}}else{o=[t];r[o.start=n]=i[o.end=a]=o}}));function s(e){var n=t.arcs[e<0?~e:e],r=n[0],i;if(t.transform)i=[0,0],n.forEach((function(t){i[0]+=t[0],i[1]+=t[1]}));else i=n[n.length-1];return e<0?[i,r]:[r,i]}function l(t,e){for(var r in t){var i=t[r];delete e[i.start];delete i.start;delete i.end;i.forEach((function(t){n[t<0?~t:t]=1}));a.push(i)}}l(i,r);l(r,i);e.forEach((function(t){if(!n[t<0?~t:t])a.push([t])}));return a}function mesh(t){return object(t,meshArcs.apply(this,arguments))}function meshArcs(t,e,n){var r,i,a;if(arguments.length>1)r=extractArcs(t,e,n);else for(i=0,r=new Array(a=t.arcs.length);i<a;++i)r[i]=i;return{type:"MultiLineString",arcs:stitch(t,r)}}function extractArcs(t,e,n){var r=[],i=[],a;function o(t){var e=t<0?~t:t;(i[e]||(i[e]=[])).push({i:t,g:a})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}function u(t){t.forEach(l)}function c(t){switch(a=t,t.type){case"GeometryCollection":t.geometries.forEach(c);break;case"LineString":s(t.arcs);break;case"MultiLineString":case"Polygon":l(t.arcs);break;case"MultiPolygon":u(t.arcs);break}}c(e);i.forEach(n==null?function(t){r.push(t[0].i)}:function(t){if(n(t[0].g,t[t.length-1].g))r.push(t[0].i)});return r}function planarRingArea(t){var e=-1,n=t.length,r,i=t[n-1],a=0;while(++e<n)r=i,i=t[e],a+=r[0]*i[1]-r[1]*i[0];return Math.abs(a)}function merge(t){return object(t,mergeArcs.apply(this,arguments))}function mergeArcs(t,e){var n={},r=[],i=[];e.forEach(a);function a(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(a);break;case"Polygon":o(t.arcs);break;case"MultiPolygon":t.arcs.forEach(o);break}}function o(t){t.forEach((function(e){e.forEach((function(e){(n[e=e<0?~e:e]||(n[e]=[])).push(t)}))}));r.push(t)}function s(e){return planarRingArea(object(t,{type:"Polygon",arcs:[e]}).coordinates[0])}r.forEach((function(t){if(!t._){var e=[],r=[t];t._=1;i.push(e);while(t=r.pop()){e.push(t);t.forEach((function(t){t.forEach((function(t){n[t<0?~t:t].forEach((function(t){if(!t._){t._=1;r.push(t)}}))}))}))}}}));r.forEach((function(t){delete t._}));return{type:"MultiPolygon",arcs:i.map((function(e){var r=[],i;e.forEach((function(t){t.forEach((function(t){t.forEach((function(t){if(n[t<0?~t:t].length<2){r.push(t)}}))}))}));r=stitch(t,r);if((i=r.length)>1){for(var a=1,o=s(r[0]),l,u;a<i;++a){if((l=s(r[a]))>o){u=r[0],r[0]=r[a],r[a]=u,o=l}}}return r}))}}function bisect(t,e){var n=0,r=t.length;while(n<r){var i=n+r>>>1;if(t[i]<e)n=i+1;else r=i}return n}function neighbors(t){var e={},n=t.map((function(){return[]}));function r(t,n){t.forEach((function(t){if(t<0)t=~t;var r=e[t];if(r)r.push(n);else e[t]=[n]}))}function i(t,e){t.forEach((function(t){r(t,e)}))}function a(t,e){if(t.type==="GeometryCollection")t.geometries.forEach((function(t){a(t,e)}));else if(t.type in o)o[t.type](t.arcs,e)}var o={LineString:r,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach((function(t){i(t,e)}))}};t.forEach(a);for(var s in e){for(var l=e[s],u=l.length,c=0;c<u;++c){for(var f=c+1;f<u;++f){var h=l[c],d=l[f],p;if((p=n[h])[s=bisect(p,d)]!==d)p.splice(s,0,d);if((p=n[d])[s=bisect(p,h)]!==h)p.splice(s,0,h)}}}return n}function untransform(t){if(t==null)return identity;var e,n,r=t.scale[0],i=t.scale[1],a=t.translate[0],o=t.translate[1];return function(t,s){if(!s)e=n=0;var l=2,u=t.length,c=new Array(u),f=Math.round((t[0]-a)/r),h=Math.round((t[1]-o)/i);c[0]=f-e,e=f;c[1]=h-n,n=h;while(l<u)c[l]=t[l],++l;return c}}function quantize(t,e){if(t.transform)throw new Error("already quantized");if(!e||!e.scale){if(!((o=Math.floor(e))>=2))throw new Error("n must be ≥2");l=t.bbox||bbox(t);var n=l[0],r=l[1],i=l[2],a=l[3],o;e={scale:[i-n?(i-n)/(o-1):1,a-r?(a-r)/(o-1):1],translate:[n,r]}}else{l=t.bbox}var s=untransform(e),l,u,c=t.objects,f={};function h(t){return s(t)}function d(t){var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(d)};break;case"Point":e={type:"Point",coordinates:h(t.coordinates)};break;case"MultiPoint":e={type:"MultiPoint",coordinates:t.coordinates.map(h)};break;default:return t}if(t.id!=null)e.id=t.id;if(t.bbox!=null)e.bbox=t.bbox;if(t.properties!=null)e.properties=t.properties;return e}function p(t){var e=0,n=1,r=t.length,i,a=new Array(r);a[0]=s(t[0],0);while(++e<r)if((i=s(t[e],e))[0]||i[1])a[n++]=i;if(n===1)a[n++]=[0,0];a.length=n;return a}for(u in c)f[u]=d(c[u]);return{type:"Topology",bbox:l,transform:e,objects:f,arcs:t.arcs.map(p)}}var topojson=Object.freeze({__proto__:null,bbox:bbox,feature:feature,mesh:mesh,meshArcs:meshArcs,merge:merge,mergeArcs:mergeArcs,neighbors:neighbors,quantize:quantize,transform:transform,untransform:untransform});var stzhChartCss='@charset "UTF-8";:host{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}:host[hidden]{display:none}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}.sszvis-outer-container{clear:both;position:relative}.sszvis-svg-layer{position:relative}.sszvis-html-layer{position:absolute}.sszvis-fallback-image{display:block;margin:0 auto;max-width:32.25rem;width:100%}.sszvis-interactive{cursor:default;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);-webkit-touch-callout:none}.sszvis-interactive.sszvis-interactive--draggable{cursor:pointer;cursor:grab;cursor:-webkit-grab}.sszvis-interactive.sszvis-interactive--draggable:active{cursor:grabbing;cursor:-webkit-grabbing}.sszvis-axis text{fill:#767676;font-family:Arial, sans-serif;font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-axis path,.sszvis-axis line{fill:none;stroke:#B8B8B8;shape-rendering:crispEdges}.sszvis-axis .tick text.active{fill:#545454}.sszvis-axis .tick text.hidden{display:none}.sszvis-axis .tick line.hidden{display:none}.sszvis-axis.sszvis-axis--top path{display:none}.sszvis-axis.sszvis-axis--vertical path{display:none}.sszvis-axis.sszvis-axis--slider path{stroke:none}.sszvis-axis__label-contour{fill:#FFFFFF;opacity:0.8;stroke:#FFFFFF;stroke-width:3}.sszvis-bar--missing{stroke:#A4A4A4}.sszvis-line{fill:none;stroke-width:1.1}.sszvis-pyramid__referenceline{fill:none;stroke:#aaa;stroke-width:2;stroke-dasharray:3 3}.sszvis-sankey-label{alignment-baseline:central;dominant-baseline:central;font-family:Arial, sans-serif;font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-sankey-strong-label{fill:#545454}.sszvis-sankey-weak-label{fill:#767676}.sszvis-sankey-column-label{text-anchor:middle}.sszvis-sankey-column-label-tick{stroke:#B8B8B8}.sszvis-sankey-link-source-label{text-anchor:start}.sszvis-sankey-link-target-label{text-anchor:end}.sszvis-map__area{stroke:none}.sszvis-map__border{fill:none;pointer-events:none;stroke-linejoin:round;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__highlight{fill:none;pointer-events:none;stroke-linejoin:round;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__lakezurich{pointer-events:none;stroke:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__lakepath{fill:none;pointer-events:none;stroke:#d3d3d3;stroke-width:1.25;stroke-dasharray:3 3;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__geojsonelement{pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__image{display:block;position:absolute;pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__rasterimage{display:block;position:absolute;pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-control-buttonGroup{display:inline-block;position:absolute;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-control-buttonGroup__item{background-color:#FFFFFF;border:0.0625rem solid #767676;border-left:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:#767676;cursor:pointer;display:table-cell;font-family:Arial, sans-serif;font-size:0.75rem;line-height:normal;padding:0.5625rem 0.75rem;text-align:center;vertical-align:middle}.sszvis-control-buttonGroup__item.selected{background-color:#767676;color:#FFFFFF}.sszvis-control-buttonGroup__item:first-child{border-left:0.0625rem solid #767676;border-top-left-radius:0.1875rem;border-bottom-left-radius:0.1875rem}.sszvis-control-buttonGroup__item:last-child{border-top-right-radius:0.1875rem;border-bottom-right-radius:0.1875rem}.sszvis-control-select{border:0.0625rem solid #767676;border-radius:0.1875rem;background-color:#FFFFFF;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABQElEQVR4nO3TzW2DUBDEcZdACSnBpe1lVhzdCSXZnaQE55JJSOJgMO9rH/OTOK70/iNxOomIiIiIiMi3cRzfar8hlc0tAM4A3gFMeZ5UDoDps+W86sDMBgBXd7+7+z3yCACmWcfVzIbFg9/xkUeYx68a4b/4iCM8in86wlJ8pBGW4ucj/Dhy98uzowgjrImffZevQzMb3P0WeYSN8bc/v0HkEXbHU8QRksVTpBGSx1OEEbLFU8sjZI+nFkcoFk8tjVA8nloYoVo81RyhejzVGKGZeCo5QnPxVGKEZuMp5wjNx1OOEcLEU8oRwsVTihHCxtOeEcLH0ysjdBNPW0foKp4yjBAnnhKOEC+eEowQN552jBA/nl4YoZ942jBCf/G0YoR+42lhhP7j6cEIx4mn2QjHiyczGw4bLyIiIiIiUtMHjJmBk7uXEiAAAAAASUVORK5CYII=");background-position:96% 51%;background-repeat:no-repeat;background-size:0.75rem 0.75rem;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;height:2.125rem;overflow:hidden}.sszvis-control-select__element{background:transparent;border:0.0625rem solid #FFFFFF;color:#767676;font-family:Arial, sans-serif;font-size:1rem;height:2.125rem;outline:0}.sszvis-control-select__element:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.sszvis-control-select__metrics{font-family:Arial, sans-serif;font-size:0.75rem;height:auto;position:absolute;visibility:hidden;width:auto;white-space:nowrap}.sszvis-control-slider__handle{cursor:pointer}.sszvis-control-slider--label{fill:#545454;font-family:Arial, sans-serif;font-size:0.625rem;text-anchor:middle}.sszvis-control-slider__handlebox{fill:#fff;stroke:#545454}.sszvis-control-slider__handleline{stroke:#545454}.sszvis-handleRuler__handle{fill:#FFFFFF;stroke:#808184}.sszvis-handleRuler__handle-mark{stroke:#A6A8AB}.sszvis-ruler__rule{shape-rendering:crispEdges;stroke:#CCCCCC}.sszvis-ruler__dot{stroke:#FFFFFF;stroke-width:1.5}.sszvis-ruler__label,.sszvis-ruler__label-outline{font-family:Arial, sans-serif;font-size:0.75rem;font-style:normal;font-weight:normal}.sszvis-ruler__label{fill:#545454}.sszvis-ruler__label-outline{stroke:#FFFFFF;stroke-width:3}.sszvis-rangeFlag__mark{fill:#EFEFEF;stroke:#7C7C7C;stroke-width:1.5}.sszvis-rangeRuler__rule{opacity:0.25;shape-rendering:crispEdges;stroke:#000000}.sszvis-rangeRuler__p1,.sszvis-rangeRuler__p2{fill:#000000;opacity:0.25}.sszvis-rangeRuler__label,.sszvis-rangeRuler__total{font-size:0.625rem;fill:#545454;font-family:Arial, sans-serif;font-style:normal}.sszvis-tooltip{min-width:3.75rem;position:absolute}.sszvis-tooltip__background{position:absolute}.sszvis-tooltip__background path{fill:rgba(255, 255, 255, 0.9)}.sszvis-tooltip__background.sszvis-tooltip__background--fallback path{stroke:#ddd;stroke-width:1}.sszvis-tooltip__content{font-family:Arial;padding:0.625rem 0.625rem 0.4375rem 0.625rem;position:relative;white-space:nowrap;z-index:1}.sszvis-tooltip__content strong{font-weight:bold}.sszvis-tooltip__content em{font-weight:bold}.sszvis-tooltip__header{color:#545454;font-size:0.75rem;line-height:1.3333;vertical-align:middle}.sszvis-tooltip__body{color:#7C7C7C;font-size:0.6875rem;line-height:1.4545;vertical-align:middle}.sszvis-tooltip--small .sszvis-tooltip__content{padding:0.375rem 0.625rem 0.25rem 0.625rem;text-align:center}.sszvis-tooltip__body__table,.sszvis-tooltip__body__table td{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:top}.sszvis-tooltip__body__table{border:none !important;border-collapse:collapse;border-spacing:0;min-width:7.5rem;margin-top:0.375rem;width:100%}.sszvis-tooltip__body__table tr{border-top:0.0625rem solid #E5E6E7}.sszvis-tooltip__body__table td{border:none !important;padding:0.4375rem 0.5em 0.4375rem 0 !important;text-align:left;vertical-align:top}.sszvis-tooltip__body__table tr:last-child td{padding-bottom:0.1875rem}.sszvis-tooltip__body__table td:last-child{color:#545454;font-weight:bold;padding-right:0;text-align:right}.sszvis-tooltipAnchor{pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-referenceline{stroke-width:1.5;stroke:#aaa;stroke-dasharray:3 3}.sszvis-referenceline__caption{fill:#7C7C7C;font-family:Arial, sans-serif;font-size:0.6875rem;text-anchor:middle;-webkit-backface-visibility:hidden}.sszvis-dataareacircle__caption{fill:#7C7C7C;font-family:Arial, sans-serif;font-size:0.6875rem;text-anchor:middle}.sszvis-dataarearectangle__caption{fill:#7C7C7C;font-family:Arial, sans-serif;font-size:0.6875rem;text-anchor:middle}.sszvis-legend__label{fill:#767676;font-family:Arial, sans-serif;font-size:0.75rem;font-style:normal;font-weight:normal;text-anchor:start}.sszvis-legend__label--small{fill:#767676;font-size:0.625rem}.sszvis-legend__axislabel{fill:#767676;font-family:Arial, sans-serif;font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-legend__crispmark{shape-rendering:crispEdges}.sszvis-legend__greyline{fill:none;stroke:#B8B8B8;stroke-width:1.1}.sszvis-legend__dashedline{stroke:#CCCCCC;stroke-dasharray:2 3;stroke-width:1}stzh-chart{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}stzh-chart[hidden]{display:none}stzh-chart *,stzh-chart *::before,stzh-chart *::after{-webkit-box-sizing:border-box;box-sizing:border-box}';var StzhChart=function(){function t(t){registerInstance(this,t);this.initialized=false;this.chartId=undefined;this.create=function(){}}t.prototype.createWatcher=function(){if(!this.initialized&&this.chartElement){this.initialized=true;this.create(this.chartElement,{d3:d3,sszvis:sszvis$2,topojson:topojson})}};t.prototype.componentDidRender=function(){if(!this.initialized&&this.chartElement){this.initialized=true;this.create(this.chartElement,{d3:d3,sszvis:sszvis$2,topojson:topojson})}};t.prototype.render=function(){var t=this;var e={"stzh-chart":true};return h(Host,null,h("div",{class:e},h("div",{id:this.chartId,ref:function(e){return t.chartElement=e},class:"stzh-chart__element"})))};Object.defineProperty(t.prototype,"element",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{create:["createWatcher"]}},enumerable:false,configurable:true});return t}();StzhChart.style=stzhChartCss;export{StzhChart as stzh_chart};
1
+ import{r as registerInstance,h,c as Host,g as getElement}from"./index-319b7c49.js";import{c as createCommonjsModule,g as getDefaultExportFromCjs,a as commonjsGlobal}from"./_commonjsHelpers-ba3f0406.js";var d3=createCommonjsModule((function(t,e){(function(t,n){n(e)})(commonjsGlobal,(function(t){var e="4.9.1";var n=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN};var r=function(t){if(t.length===1)t=i(t);return{left:function(e,n,r,i){if(r==null)r=0;if(i==null)i=e.length;while(r<i){var a=r+i>>>1;if(t(e[a],n)<0)r=a+1;else i=a}return r},right:function(e,n,r,i){if(r==null)r=0;if(i==null)i=e.length;while(r<i){var a=r+i>>>1;if(t(e[a],n)>0)i=a;else r=a+1}return r}}};function i(t){return function(e,r){return n(t(e),r)}}var a=r(n);var o=a.right;var s=a.left;var u=function(t,e){if(e==null)e=l;var n=0,r=t.length-1,i=t[0],a=new Array(r<0?0:r);while(n<r)a[n]=e(i,i=t[++n]);return a};function l(t,e){return[t,e]}var c=function(t,e,n){var r=t.length,i=e.length,a=new Array(r*i),o,s,u,c;if(n==null)n=l;for(o=u=0;o<r;++o){for(c=t[o],s=0;s<i;++s,++u){a[u]=n(c,e[s])}}return a};var f=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN};var h=function(t){return t===null?NaN:+t};var p=function(t,e){var n=t.length,r=0,i=-1,a=0,o,s,u=0;if(e==null){while(++i<n){if(!isNaN(o=h(t[i]))){s=o-a;a+=s/++r;u+=s*(o-a)}}}else{while(++i<n){if(!isNaN(o=h(e(t[i],i,t)))){s=o-a;a+=s/++r;u+=s*(o-a)}}}if(r>1)return u/(r-1)};var v=function(t,e){var n=p(t,e);return n?Math.sqrt(n):n};var d=function(t,e){var n=t.length,r=-1,i,a,o;if(e==null){while(++r<n){if((i=t[r])!=null&&i>=i){a=o=i;while(++r<n){if((i=t[r])!=null){if(a>i)a=i;if(o<i)o=i}}}}}else{while(++r<n){if((i=e(t[r],r,t))!=null&&i>=i){a=o=i;while(++r<n){if((i=e(t[r],r,t))!=null){if(a>i)a=i;if(o<i)o=i}}}}}return[a,o]};var g=Array.prototype;var y=g.slice;var m=g.map;var _=function(t){return function(){return t}};var b=function(t){return t};var x=function(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;var r=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,a=new Array(i);while(++r<i){a[r]=t+r*n}return a};var w=Math.sqrt(50);var k=Math.sqrt(10);var A=Math.sqrt(2);var M=function(t,e,n){var r=e<t,i=-1,a,o,s;if(r)a=t,t=e,e=a;if((s=z(t,e,n))===0||!isFinite(s))return[];if(s>0){t=Math.ceil(t/s);e=Math.floor(e/s);o=new Array(a=Math.ceil(e-t+1));while(++i<a)o[i]=(t+i)*s}else{t=Math.floor(t*s);e=Math.ceil(e*s);o=new Array(a=Math.ceil(t-e+1));while(++i<a)o[i]=(t-i)/s}if(r)o.reverse();return o};function z(t,e,n){var r=(e-t)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),a=r/Math.pow(10,i);return i>=0?(a>=w?10:a>=k?5:a>=A?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=w?10:a>=k?5:a>=A?2:1)}function S(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;if(a>=w)i*=10;else if(a>=k)i*=5;else if(a>=A)i*=2;return e<t?-i:i}var E=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1};var T=function(){var t=b,e=d,n=E;function r(r){var i,a=r.length,s,u=new Array(a);for(i=0;i<a;++i){u[i]=t(r[i],i,r)}var l=e(u),c=l[0],f=l[1],h=n(u,c,f);if(!Array.isArray(h)){h=S(c,f,h);h=x(Math.ceil(c/h)*h,Math.floor(f/h)*h,h)}var p=h.length;while(h[0]<=c)h.shift(),--p;while(h[p-1]>f)h.pop(),--p;var v=new Array(p+1),d;for(i=0;i<=p;++i){d=v[i]=[];d.x0=i>0?h[i-1]:c;d.x1=i<p?h[i]:f}for(i=0;i<a;++i){s=u[i];if(c<=s&&s<=f){v[o(h,s,0,p)].push(r[i])}}return v}r.value=function(e){return arguments.length?(t=typeof e==="function"?e:_(e),r):t};r.domain=function(t){return arguments.length?(e=typeof t==="function"?t:_([t[0],t[1]]),r):e};r.thresholds=function(t){return arguments.length?(n=typeof t==="function"?t:Array.isArray(t)?_(y.call(t)):_(t),r):n};return r};var C=function(t,e,n){if(n==null)n=h;if(!(r=t.length))return;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,a=Math.floor(i),o=+n(t[a],a,t),s=+n(t[a+1],a+1,t);return o+(s-o)*(i-a)};var N=function(t,e,r){t=m.call(t,h).sort(n);return Math.ceil((r-e)/(2*(C(t,.75)-C(t,.25))*Math.pow(t.length,-1/3)))};var P=function(t,e,n){return Math.ceil((n-e)/(3.5*v(t)*Math.pow(t.length,-1/3)))};var R=function(t,e){var n=t.length,r=-1,i,a;if(e==null){while(++r<n){if((i=t[r])!=null&&i>=i){a=i;while(++r<n){if((i=t[r])!=null&&i>a){a=i}}}}}else{while(++r<n){if((i=e(t[r],r,t))!=null&&i>=i){a=i;while(++r<n){if((i=e(t[r],r,t))!=null&&i>a){a=i}}}}}return a};var F=function(t,e){var n=t.length,r=n,i=-1,a,o=0;if(e==null){while(++i<n){if(!isNaN(a=h(t[i])))o+=a;else--r}}else{while(++i<n){if(!isNaN(a=h(e(t[i],i,t))))o+=a;else--r}}if(r)return o/r};var O=function(t,e){var r=t.length,i=-1,a,o=[];if(e==null){while(++i<r){if(!isNaN(a=h(t[i]))){o.push(a)}}}else{while(++i<r){if(!isNaN(a=h(e(t[i],i,t)))){o.push(a)}}}return C(o.sort(n),.5)};var B=function(t){var e=t.length,n,r=-1,i=0,a,o;while(++r<e)i+=t[r].length;a=new Array(i);while(--e>=0){o=t[e];n=o.length;while(--n>=0){a[--i]=o[n]}}return a};var D=function(t,e){var n=t.length,r=-1,i,a;if(e==null){while(++r<n){if((i=t[r])!=null&&i>=i){a=i;while(++r<n){if((i=t[r])!=null&&a>i){a=i}}}}}else{while(++r<n){if((i=e(t[r],r,t))!=null&&i>=i){a=i;while(++r<n){if((i=e(t[r],r,t))!=null&&a>i){a=i}}}}}return a};var L=function(t,e){var n=e.length,r=new Array(n);while(n--)r[n]=t[e[n]];return r};var I=function(t,e){if(!(r=t.length))return;var r,i=0,a=0,o,s=t[a];if(e==null)e=n;while(++i<r){if(e(o=t[i],s)<0||e(s,s)!==0){s=o,a=i}}if(e(s,s)===0)return a};var j=function(t,e,n){var r=(n==null?t.length:n)-(e=e==null?0:+e),i,a;while(r){a=Math.random()*r--|0;i=t[r+e];t[r+e]=t[a+e];t[a+e]=i}return t};var H=function(t,e){var n=t.length,r=-1,i,a=0;if(e==null){while(++r<n){if(i=+t[r])a+=i}}else{while(++r<n){if(i=+e(t[r],r,t))a+=i}}return a};var U=function(t){if(!(a=t.length))return[];for(var e=-1,n=D(t,q),r=new Array(n);++e<n;){for(var i=-1,a,o=r[e]=new Array(a);++i<a;){o[i]=t[i][e]}}return r};function q(t){return t.length}var W=function(){return U(arguments)};var G=Array.prototype.slice;var Y=function(t){return t};var V=1;var J=2;var X=3;var Z=4;var K=1e-6;function Q(t){return"translate("+(t+.5)+",0)"}function $(t){return"translate(0,"+(t+.5)+")"}function tt(t){var e=Math.max(0,t.bandwidth()-1)/2;if(t.round())e=Math.round(e);return function(n){return t(n)+e}}function et(){return!this.__axis}function nt(t,e){var n=[],r=null,i=null,a=6,o=6,s=3,u=t===V||t===Z?-1:1,l=t===Z||t===J?"x":"y",c=t===V||t===X?Q:$;function f(f){var h=r==null?e.ticks?e.ticks.apply(e,n):e.domain():r,p=i==null?e.tickFormat?e.tickFormat.apply(e,n):Y:i,v=Math.max(a,0)+s,d=e.range(),g=d[0]+.5,y=d[d.length-1]+.5,m=(e.bandwidth?tt:Y)(e.copy()),_=f.selection?f.selection():f,b=_.selectAll(".domain").data([null]),x=_.selectAll(".tick").data(h,e).order(),w=x.exit(),k=x.enter().append("g").attr("class","tick"),A=x.select("line"),M=x.select("text");b=b.merge(b.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000"));x=x.merge(k);A=A.merge(k.append("line").attr("stroke","#000").attr(l+"2",u*a));M=M.merge(k.append("text").attr("fill","#000").attr(l,u*v).attr("dy",t===V?"0em":t===X?"0.71em":"0.32em"));if(f!==_){b=b.transition(f);x=x.transition(f);A=A.transition(f);M=M.transition(f);w=w.transition(f).attr("opacity",K).attr("transform",(function(t){return isFinite(t=m(t))?c(t):this.getAttribute("transform")}));k.attr("opacity",K).attr("transform",(function(t){var e=this.parentNode.__axis;return c(e&&isFinite(e=e(t))?e:m(t))}))}w.remove();b.attr("d",t===Z||t==J?"M"+u*o+","+g+"H0.5V"+y+"H"+u*o:"M"+g+","+u*o+"V0.5H"+y+"V"+u*o);x.attr("opacity",1).attr("transform",(function(t){return c(m(t))}));A.attr(l+"2",u*a);M.attr(l,u*v).text(p);_.filter(et).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===J?"start":t===Z?"end":"middle");_.each((function(){this.__axis=m}))}f.scale=function(t){return arguments.length?(e=t,f):e};f.ticks=function(){return n=G.call(arguments),f};f.tickArguments=function(t){return arguments.length?(n=t==null?[]:G.call(t),f):n.slice()};f.tickValues=function(t){return arguments.length?(r=t==null?null:G.call(t),f):r&&r.slice()};f.tickFormat=function(t){return arguments.length?(i=t,f):i};f.tickSize=function(t){return arguments.length?(a=o=+t,f):a};f.tickSizeInner=function(t){return arguments.length?(a=+t,f):a};f.tickSizeOuter=function(t){return arguments.length?(o=+t,f):o};f.tickPadding=function(t){return arguments.length?(s=+t,f):s};return f}function rt(t){return nt(V,t)}function it(t){return nt(J,t)}function at(t){return nt(X,t)}function ot(t){return nt(Z,t)}var st={value:function(){}};function ut(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n)throw new Error("illegal type: "+r);n[r]=[]}return new lt(n)}function lt(t){this._=t}function ct(t,e){return t.trim().split(/^|\s+/).map((function(t){var n="",r=t.indexOf(".");if(r>=0)n=t.slice(r+1),t=t.slice(0,r);if(t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}lt.prototype=ut.prototype={constructor:lt,on:function(t,e){var n=this._,r=ct(t+"",n),i,a=-1,o=r.length;if(arguments.length<2){while(++a<o)if((i=(t=r[a]).type)&&(i=ft(n[i],t.name)))return i;return}if(e!=null&&typeof e!=="function")throw new Error("invalid callback: "+e);while(++a<o){if(i=(t=r[a]).type)n[i]=ht(n[i],t.name,e);else if(e==null)for(i in n)n[i]=ht(n[i],t.name,null)}return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new lt(t)},call:function(t,e){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=this._[t],r=0,i=a.length;r<i;++r)a[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(e,n)}};function ft(t,e){for(var n=0,r=t.length,i;n<r;++n){if((i=t[n]).name===e){return i.value}}}function ht(t,e,n){for(var r=0,i=t.length;r<i;++r){if(t[r].name===e){t[r]=st,t=t.slice(0,r).concat(t.slice(r+1));break}}if(n!=null)t.push({name:e,value:n});return t}var pt="http://www.w3.org/1999/xhtml";var vt={svg:"http://www.w3.org/2000/svg",xhtml:pt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};var dt=function(t){var e=t+="",n=e.indexOf(":");if(n>=0&&(e=t.slice(0,n))!=="xmlns")t=t.slice(n+1);return vt.hasOwnProperty(e)?{space:vt[e],local:t}:t};function gt(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===pt&&e.documentElement.namespaceURI===pt?e.createElement(t):e.createElementNS(n,t)}}function yt(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var mt=function(t){var e=dt(t);return(e.local?yt:gt)(e)};var _t=0;function bt(){return new xt}function xt(){this._="@"+(++_t).toString(36)}xt.prototype=bt.prototype={constructor:xt,get:function(t){var e=this._;while(!(e in t))if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var wt=function(t){return function(){return this.matches(t)}};if(typeof document!=="undefined"){var kt=document.documentElement;if(!kt.matches){var At=kt.webkitMatchesSelector||kt.msMatchesSelector||kt.mozMatchesSelector||kt.oMatchesSelector;wt=function(t){return function(){return At.call(this,t)}}}}var Mt=wt;var zt={};t.event=null;if(typeof document!=="undefined"){var St=document.documentElement;if(!("onmouseenter"in St)){zt={mouseenter:"mouseover",mouseleave:"mouseout"}}}function Et(t,e,n){t=Tt(t,e,n);return function(e){var n=e.relatedTarget;if(!n||n!==this&&!(n.compareDocumentPosition(this)&8)){t.call(this,e)}}}function Tt(e,n,r){return function(i){var a=t.event;t.event=i;try{e.call(this,this.__data__,n,r)}finally{t.event=a}}}function Ct(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");if(n>=0)e=t.slice(n+1),t=t.slice(0,n);return{type:t,name:e}}))}function Nt(t){return function(){var e=this.__on;if(!e)return;for(var n=0,r=-1,i=e.length,a;n<i;++n){if(a=e[n],(!t.type||a.type===t.type)&&a.name===t.name){this.removeEventListener(a.type,a.listener,a.capture)}else{e[++r]=a}}if(++r)e.length=r;else delete this.__on}}function Pt(t,e,n){var r=zt.hasOwnProperty(t.type)?Et:Tt;return function(i,a,o){var s=this.__on,u,l=r(e,a,o);if(s)for(var c=0,f=s.length;c<f;++c){if((u=s[c]).type===t.type&&u.name===t.name){this.removeEventListener(u.type,u.listener,u.capture);this.addEventListener(u.type,u.listener=l,u.capture=n);u.value=e;return}}this.addEventListener(t.type,l,n);u={type:t.type,name:t.name,value:e,listener:l,capture:n};if(!s)this.__on=[u];else s.push(u)}}var Rt=function(t,e,n){var r=Ct(t+""),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s)for(var u=0,l=s.length,c;u<l;++u){for(i=0,c=s[u];i<a;++i){if((o=r[i]).type===c.type&&o.name===c.name){return c.value}}}return}s=e?Pt:Nt;if(n==null)n=false;for(i=0;i<a;++i)this.each(s(r[i],e,n));return this};function Ft(e,n,r,i){var a=t.event;e.sourceEvent=t.event;t.event=e;try{return n.apply(r,i)}finally{t.event=a}}var Ot=function(){var e=t.event,n;while(n=e.sourceEvent)e=n;return e};var Bt=function(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();r.x=e.clientX,r.y=e.clientY;r=r.matrixTransform(t.getScreenCTM().inverse());return[r.x,r.y]}var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]};var Dt=function(t){var e=Ot();if(e.changedTouches)e=e.changedTouches[0];return Bt(t,e)};function Lt(){}var It=function(t){return t==null?Lt:function(){return this.querySelector(t)}};var jt=function(t){if(typeof t!=="function")t=It(t);for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i){for(var a=e[i],o=a.length,s=r[i]=new Array(o),u,l,c=0;c<o;++c){if((u=a[c])&&(l=t.call(u,u.__data__,c,a))){if("__data__"in u)l.__data__=u.__data__;s[c]=l}}}return new on(r,this._parents)};function Ht(){return[]}var Ut=function(t){return t==null?Ht:function(){return this.querySelectorAll(t)}};var qt=function(t){if(typeof t!=="function")t=Ut(t);for(var e=this._groups,n=e.length,r=[],i=[],a=0;a<n;++a){for(var o=e[a],s=o.length,u,l=0;l<s;++l){if(u=o[l]){r.push(t.call(u,u.__data__,l,o));i.push(u)}}}return new on(r,i)};var Wt=function(t){if(typeof t!=="function")t=Mt(t);for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i){for(var a=e[i],o=a.length,s=r[i]=[],u,l=0;l<o;++l){if((u=a[l])&&t.call(u,u.__data__,l,a)){s.push(u)}}}return new on(r,this._parents)};var Gt=function(t){return new Array(t.length)};var Yt=function(){return new on(this._enter||this._groups.map(Gt),this._parents)};function Vt(t,e){this.ownerDocument=t.ownerDocument;this.namespaceURI=t.namespaceURI;this._next=null;this._parent=t;this.__data__=e}Vt.prototype={constructor:Vt,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 Jt=function(t){return function(){return t}};var Xt="$";function Zt(t,e,n,r,i,a){var o=0,s,u=e.length,l=a.length;for(;o<l;++o){if(s=e[o]){s.__data__=a[o];r[o]=s}else{n[o]=new Vt(t,a[o])}}for(;o<u;++o){if(s=e[o]){i[o]=s}}}function Kt(t,e,n,r,i,a,o){var s,u,l={},c=e.length,f=a.length,h=new Array(c),p;for(s=0;s<c;++s){if(u=e[s]){h[s]=p=Xt+o.call(u,u.__data__,s,e);if(p in l){i[s]=u}else{l[p]=u}}}for(s=0;s<f;++s){p=Xt+o.call(t,a[s],s,a);if(u=l[p]){r[s]=u;u.__data__=a[s];l[p]=null}else{n[s]=new Vt(t,a[s])}}for(s=0;s<c;++s){if((u=e[s])&&l[h[s]]===u){i[s]=u}}}var Qt=function(t,e){if(!t){p=new Array(this.size()),l=-1;this.each((function(t){p[++l]=t}));return p}var n=e?Kt:Zt,r=this._parents,i=this._groups;if(typeof t!=="function")t=Jt(t);for(var a=i.length,o=new Array(a),s=new Array(a),u=new Array(a),l=0;l<a;++l){var c=r[l],f=i[l],h=f.length,p=t.call(c,c&&c.__data__,l,r),v=p.length,d=s[l]=new Array(v),g=o[l]=new Array(v),y=u[l]=new Array(h);n(c,f,d,g,y,p,e);for(var m=0,_=0,b,x;m<v;++m){if(b=d[m]){if(m>=_)_=m+1;while(!(x=g[_])&&++_<v);b._next=x||null}}}o=new on(o,r);o._enter=s;o._exit=u;return o};var $t=function(){return new on(this._exit||this._groups.map(Gt),this._parents)};var te=function(t){for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s){for(var u=e[s],l=n[s],c=u.length,f=o[s]=new Array(c),h,p=0;p<c;++p){if(h=u[p]||l[p]){f[p]=h}}}for(;s<r;++s){o[s]=e[s]}return new on(o,this._parents)};var ee=function(){for(var t=this._groups,e=-1,n=t.length;++e<n;){for(var r=t[e],i=r.length-1,a=r[i],o;--i>=0;){if(o=r[i]){if(a&&a!==o.nextSibling)a.parentNode.insertBefore(o,a);a=o}}}return this};var ne=function(t){if(!t)t=re;function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}for(var n=this._groups,r=n.length,i=new Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,u=i[a]=new Array(s),l,c=0;c<s;++c){if(l=o[c]){u[c]=l}}u.sort(e)}return new on(i,this._parents).order()};function re(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}var ie=function(){var t=arguments[0];arguments[0]=this;t.apply(null,arguments);return this};var ae=function(){var t=new Array(this.size()),e=-1;this.each((function(){t[++e]=this}));return t};var oe=function(){for(var t=this._groups,e=0,n=t.length;e<n;++e){for(var r=t[e],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}}return null};var se=function(){var t=0;this.each((function(){++t}));return t};var ue=function(){return!this.node()};var le=function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n){for(var i=e[n],a=0,o=i.length,s;a<o;++a){if(s=i[a])t.call(s,s.__data__,a,i)}}return this};function ce(t){return function(){this.removeAttribute(t)}}function fe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function he(t,e){return function(){this.setAttribute(t,e)}}function pe(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function ve(t,e){return function(){var n=e.apply(this,arguments);if(n==null)this.removeAttribute(t);else this.setAttribute(t,n)}}function de(t,e){return function(){var n=e.apply(this,arguments);if(n==null)this.removeAttributeNS(t.space,t.local);else this.setAttributeNS(t.space,t.local,n)}}var ge=function(t,e){var n=dt(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?fe:ce:typeof e==="function"?n.local?de:ve:n.local?pe:he)(n,e))};var ye=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function me(t){return function(){this.style.removeProperty(t)}}function _e(t,e,n){return function(){this.style.setProperty(t,e,n)}}function be(t,e,n){return function(){var r=e.apply(this,arguments);if(r==null)this.style.removeProperty(t);else this.style.setProperty(t,r,n)}}var xe=function(t,e,n){return arguments.length>1?this.each((e==null?me:typeof e==="function"?be:_e)(t,e,n==null?"":n)):we(this.node(),t)};function we(t,e){return t.style.getPropertyValue(e)||ye(t).getComputedStyle(t,null).getPropertyValue(e)}function ke(t){return function(){delete this[t]}}function Ae(t,e){return function(){this[t]=e}}function Me(t,e){return function(){var n=e.apply(this,arguments);if(n==null)delete this[t];else this[t]=n}}var ze=function(t,e){return arguments.length>1?this.each((e==null?ke:typeof e==="function"?Me:Ae)(t,e)):this.node()[t]};function Se(t){return t.trim().split(/^|\s+/)}function Ee(t){return t.classList||new Te(t)}function Te(t){this._node=t;this._names=Se(t.getAttribute("class")||"")}Te.prototype={add:function(t){var e=this._names.indexOf(t);if(e<0){this._names.push(t);this._node.setAttribute("class",this._names.join(" "))}},remove:function(t){var e=this._names.indexOf(t);if(e>=0){this._names.splice(e,1);this._node.setAttribute("class",this._names.join(" "))}},contains:function(t){return this._names.indexOf(t)>=0}};function Ce(t,e){var n=Ee(t),r=-1,i=e.length;while(++r<i)n.add(e[r])}function Ne(t,e){var n=Ee(t),r=-1,i=e.length;while(++r<i)n.remove(e[r])}function Pe(t){return function(){Ce(this,t)}}function Re(t){return function(){Ne(this,t)}}function Fe(t,e){return function(){(e.apply(this,arguments)?Ce:Ne)(this,t)}}var Oe=function(t,e){var n=Se(t+"");if(arguments.length<2){var r=Ee(this.node()),i=-1,a=n.length;while(++i<a)if(!r.contains(n[i]))return false;return true}return this.each((typeof e==="function"?Fe:e?Pe:Re)(n,e))};function Be(){this.textContent=""}function De(t){return function(){this.textContent=t}}function Le(t){return function(){var e=t.apply(this,arguments);this.textContent=e==null?"":e}}var Ie=function(t){return arguments.length?this.each(t==null?Be:(typeof t==="function"?Le:De)(t)):this.node().textContent};function je(){this.innerHTML=""}function He(t){return function(){this.innerHTML=t}}function Ue(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e==null?"":e}}var qe=function(t){return arguments.length?this.each(t==null?je:(typeof t==="function"?Ue:He)(t)):this.node().innerHTML};function We(){if(this.nextSibling)this.parentNode.appendChild(this)}var Ge=function(){return this.each(We)};function Ye(){if(this.previousSibling)this.parentNode.insertBefore(this,this.parentNode.firstChild)}var Ve=function(){return this.each(Ye)};var Je=function(t){var e=typeof t==="function"?t:mt(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))};function Xe(){return null}var Ze=function(t,e){var n=typeof t==="function"?t:mt(t),r=e==null?Xe:typeof e==="function"?e:It(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))};function Ke(){var t=this.parentNode;if(t)t.removeChild(this)}var Qe=function(){return this.each(Ke)};var $e=function(t){return arguments.length?this.property("__data__",t):this.node().__data__};function tn(t,e,n){var r=ye(t),i=r.CustomEvent;if(typeof i==="function"){i=new i(e,n)}else{i=r.document.createEvent("Event");if(n)i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail;else i.initEvent(e,false,false)}t.dispatchEvent(i)}function en(t,e){return function(){return tn(this,t,e)}}function nn(t,e){return function(){return tn(this,t,e.apply(this,arguments))}}var rn=function(t,e){return this.each((typeof e==="function"?nn:en)(t,e))};var an=[null];function on(t,e){this._groups=t;this._parents=e}function sn(){return new on([[document.documentElement]],an)}on.prototype=sn.prototype={constructor:on,select:jt,selectAll:qt,filter:Wt,data:Qt,enter:Yt,exit:$t,merge:te,order:ee,sort:ne,call:ie,nodes:ae,node:oe,size:se,empty:ue,each:le,attr:ge,style:xe,property:ze,classed:Oe,text:Ie,html:qe,raise:Ge,lower:Ve,append:Je,insert:Ze,remove:Qe,datum:$e,on:Rt,dispatch:rn};var un=function(t){return typeof t==="string"?new on([[document.querySelector(t)]],[document.documentElement]):new on([[t]],an)};var ln=function(t){return typeof t==="string"?new on([document.querySelectorAll(t)],[document.documentElement]):new on([t==null?[]:t],an)};var cn=function(t,e,n){if(arguments.length<3)n=e,e=Ot().changedTouches;for(var r=0,i=e?e.length:0,a;r<i;++r){if((a=e[r]).identifier===n){return Bt(t,a)}}return null};var fn=function(t,e){if(e==null)e=Ot().touches;for(var n=0,r=e?e.length:0,i=new Array(r);n<r;++n){i[n]=Bt(t,e[n])}return i};function hn(){t.event.stopImmediatePropagation()}var pn=function(){t.event.preventDefault();t.event.stopImmediatePropagation()};var vn=function(t){var e=t.document.documentElement,n=un(t).on("dragstart.drag",pn,true);if("onselectstart"in e){n.on("selectstart.drag",pn,true)}else{e.__noselect=e.style.MozUserSelect;e.style.MozUserSelect="none"}};function dn(t,e){var n=t.document.documentElement,r=un(t).on("dragstart.drag",null);if(e){r.on("click.drag",pn,true);setTimeout((function(){r.on("click.drag",null)}),0)}if("onselectstart"in n){r.on("selectstart.drag",null)}else{n.style.MozUserSelect=n.__noselect;delete n.__noselect}}var gn=function(t){return function(){return t}};function yn(t,e,n,r,i,a,o,s,u,l){this.target=t;this.type=e;this.subject=n;this.identifier=r;this.active=i;this.x=a;this.y=o;this.dx=s;this.dy=u;this._=l}yn.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function mn(){return!t.event.button}function _n(){return this.parentNode}function bn(e){return e==null?{x:t.event.x,y:t.event.y}:e}var xn=function(){var e=mn,n=_n,r=bn,i={},a=ut("start","drag","end"),o=0,s,u,l,c,f=0;function h(t){t.on("mousedown.drag",p).on("touchstart.drag",g).on("touchmove.drag",y).on("touchend.drag touchcancel.drag",m).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(){if(c||!e.apply(this,arguments))return;var r=_("mouse",n.apply(this,arguments),Dt,this,arguments);if(!r)return;un(t.event.view).on("mousemove.drag",v,true).on("mouseup.drag",d,true);vn(t.event.view);hn();l=false;s=t.event.clientX;u=t.event.clientY;r("start")}function v(){pn();if(!l){var e=t.event.clientX-s,n=t.event.clientY-u;l=e*e+n*n>f}i.mouse("drag")}function d(){un(t.event.view).on("mousemove.drag mouseup.drag",null);dn(t.event.view,l);pn();i.mouse("end")}function g(){if(!e.apply(this,arguments))return;var r=t.event.changedTouches,i=n.apply(this,arguments),a=r.length,o,s;for(o=0;o<a;++o){if(s=_(r[o].identifier,i,cn,this,arguments)){hn();s("start")}}}function y(){var e=t.event.changedTouches,n=e.length,r,a;for(r=0;r<n;++r){if(a=i[e[r].identifier]){pn();a("drag")}}}function m(){var e=t.event.changedTouches,n=e.length,r,a;if(c)clearTimeout(c);c=setTimeout((function(){c=null}),500);for(r=0;r<n;++r){if(a=i[e[r].identifier]){hn();a("end")}}}function _(e,n,s,u,l){var c=s(n,e),f,p,v,d=a.copy();if(!Ft(new yn(h,"beforestart",f,e,o,c[0],c[1],0,0,d),(function(){if((t.event.subject=f=r.apply(u,l))==null)return false;p=f.x-c[0]||0;v=f.y-c[1]||0;return true})))return;return function t(r){var a=c,g;switch(r){case"start":i[e]=t,g=o++;break;case"end":delete i[e],--o;case"drag":c=s(n,e),g=o;break}Ft(new yn(h,r,f,e,g,c[0]+p,c[1]+v,c[0]-a[0],c[1]-a[1],d),d.apply,d,[r,u,l])}}h.filter=function(t){return arguments.length?(e=typeof t==="function"?t:gn(!!t),h):e};h.container=function(t){return arguments.length?(n=typeof t==="function"?t:gn(t),h):n};h.subject=function(t){return arguments.length?(r=typeof t==="function"?t:gn(t),h):r};h.on=function(){var t=a.on.apply(a,arguments);return t===a?h:t};h.clickDistance=function(t){return arguments.length?(f=(t=+t)*t,h):Math.sqrt(f)};return h};var wn=function(t,e,n){t.prototype=e.prototype=n;n.constructor=t};function kn(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function An(){}var Mn=.7;var zn=1/Mn;var Sn="\\s*([+-]?\\d+)\\s*";var En="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*";var Tn="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*";var Cn=/^#([0-9a-f]{3})$/;var Nn=/^#([0-9a-f]{6})$/;var Pn=new RegExp("^rgb\\("+[Sn,Sn,Sn]+"\\)$");var Rn=new RegExp("^rgb\\("+[Tn,Tn,Tn]+"\\)$");var Fn=new RegExp("^rgba\\("+[Sn,Sn,Sn,En]+"\\)$");var On=new RegExp("^rgba\\("+[Tn,Tn,Tn,En]+"\\)$");var Bn=new RegExp("^hsl\\("+[En,Tn,Tn]+"\\)$");var Dn=new RegExp("^hsla\\("+[En,Tn,Tn,En]+"\\)$");var Ln={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};wn(An,In,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}});function In(t){var e;t=(t+"").trim().toLowerCase();return(e=Cn.exec(t))?(e=parseInt(e[1],16),new Wn(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1)):(e=Nn.exec(t))?jn(parseInt(e[1],16)):(e=Pn.exec(t))?new Wn(e[1],e[2],e[3],1):(e=Rn.exec(t))?new Wn(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Fn.exec(t))?Hn(e[1],e[2],e[3],e[4]):(e=On.exec(t))?Hn(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Bn.exec(t))?Gn(e[1],e[2]/100,e[3]/100,1):(e=Dn.exec(t))?Gn(e[1],e[2]/100,e[3]/100,e[4]):Ln.hasOwnProperty(t)?jn(Ln[t]):t==="transparent"?new Wn(NaN,NaN,NaN,0):null}function jn(t){return new Wn(t>>16&255,t>>8&255,t&255,1)}function Hn(t,e,n,r){if(r<=0)t=e=n=NaN;return new Wn(t,e,n,r)}function Un(t){if(!(t instanceof An))t=In(t);if(!t)return new Wn;t=t.rgb();return new Wn(t.r,t.g,t.b,t.opacity)}function qn(t,e,n,r){return arguments.length===1?Un(t):new Wn(t,e,n,r==null?1:r)}function Wn(t,e,n,r){this.r=+t;this.g=+e;this.b=+n;this.opacity=+r}wn(Wn,qn,kn(An,{brighter:function(t){t=t==null?zn:Math.pow(zn,t);return new Wn(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){t=t==null?Mn:Math.pow(Mn,t);return new Wn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&(0<=this.g&&this.g<=255)&&(0<=this.b&&this.b<=255)&&(0<=this.opacity&&this.opacity<=1)},toString:function(){var t=this.opacity;t=isNaN(t)?1:Math.max(0,Math.min(1,t));return(t===1?"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))+(t===1?")":", "+t+")")}}));function Gn(t,e,n,r){if(r<=0)t=e=n=NaN;else if(n<=0||n>=1)t=e=NaN;else if(e<=0)t=NaN;return new Jn(t,e,n,r)}function Yn(t){if(t instanceof Jn)return new Jn(t.h,t.s,t.l,t.opacity);if(!(t instanceof An))t=In(t);if(!t)return new Jn;if(t instanceof Jn)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,s=a-i,u=(a+i)/2;if(s){if(e===a)o=(n-r)/s+(n<r)*6;else if(n===a)o=(r-e)/s+2;else o=(e-n)/s+4;s/=u<.5?a+i:2-a-i;o*=60}else{s=u>0&&u<1?0:o}return new Jn(o,s,u,t.opacity)}function Vn(t,e,n,r){return arguments.length===1?Yn(t):new Jn(t,e,n,r==null?1:r)}function Jn(t,e,n,r){this.h=+t;this.s=+e;this.l=+n;this.opacity=+r}wn(Jn,Vn,kn(An,{brighter:function(t){t=t==null?zn:Math.pow(zn,t);return new Jn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){t=t==null?Mn:Math.pow(Mn,t);return new Jn(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+(this.h<0)*360,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 Wn(Xn(t>=240?t-240:t+120,i,r),Xn(t,i,r),Xn(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)}}));function Xn(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}var Zn=Math.PI/180;var Kn=180/Math.PI;var Qn=18;var $n=.95047;var tr=1;var er=1.08883;var nr=4/29;var rr=6/29;var ir=3*rr*rr;var ar=rr*rr*rr;function or(t){if(t instanceof ur)return new ur(t.l,t.a,t.b,t.opacity);if(t instanceof dr){var e=t.h*Zn;return new ur(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}if(!(t instanceof Wn))t=Un(t);var n=hr(t.r),r=hr(t.g),i=hr(t.b),a=lr((.4124564*n+.3575761*r+.1804375*i)/$n),o=lr((.2126729*n+.7151522*r+.072175*i)/tr),s=lr((.0193339*n+.119192*r+.9503041*i)/er);return new ur(116*o-16,500*(a-o),200*(o-s),t.opacity)}function sr(t,e,n,r){return arguments.length===1?or(t):new ur(t,e,n,r==null?1:r)}function ur(t,e,n,r){this.l=+t;this.a=+e;this.b=+n;this.opacity=+r}wn(ur,sr,kn(An,{brighter:function(t){return new ur(this.l+Qn*(t==null?1:t),this.a,this.b,this.opacity)},darker:function(t){return new ur(this.l-Qn*(t==null?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;t=tr*cr(t);e=$n*cr(e);n=er*cr(n);return new Wn(fr(3.2404542*e-1.5371385*t-.4985314*n),fr(-.969266*e+1.8760108*t+.041556*n),fr(.0556434*e-.2040259*t+1.0572252*n),this.opacity)}}));function lr(t){return t>ar?Math.pow(t,1/3):t/ir+nr}function cr(t){return t>rr?t*t*t:ir*(t-nr)}function fr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function hr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function pr(t){if(t instanceof dr)return new dr(t.h,t.c,t.l,t.opacity);if(!(t instanceof ur))t=or(t);var e=Math.atan2(t.b,t.a)*Kn;return new dr(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function vr(t,e,n,r){return arguments.length===1?pr(t):new dr(t,e,n,r==null?1:r)}function dr(t,e,n,r){this.h=+t;this.c=+e;this.l=+n;this.opacity=+r}wn(dr,vr,kn(An,{brighter:function(t){return new dr(this.h,this.c,this.l+Qn*(t==null?1:t),this.opacity)},darker:function(t){return new dr(this.h,this.c,this.l-Qn*(t==null?1:t),this.opacity)},rgb:function(){return or(this).rgb()}}));var gr=-.14861;var yr=+1.78277;var mr=-.29227;var _r=-.90649;var br=+1.97294;var xr=br*_r;var wr=br*yr;var kr=yr*mr-_r*gr;function Ar(t){if(t instanceof zr)return new zr(t.h,t.s,t.l,t.opacity);if(!(t instanceof Wn))t=Un(t);var e=t.r/255,n=t.g/255,r=t.b/255,i=(kr*r+xr*e-wr*n)/(kr+xr-wr),a=r-i,o=(br*(n-i)-mr*a)/_r,s=Math.sqrt(o*o+a*a)/(br*i*(1-i)),u=s?Math.atan2(o,a)*Kn-120:NaN;return new zr(u<0?u+360:u,s,i,t.opacity)}function Mr(t,e,n,r){return arguments.length===1?Ar(t):new zr(t,e,n,r==null?1:r)}function zr(t,e,n,r){this.h=+t;this.s=+e;this.l=+n;this.opacity=+r}wn(zr,Mr,kn(An,{brighter:function(t){t=t==null?zn:Math.pow(zn,t);return new zr(this.h,this.s,this.l*t,this.opacity)},darker:function(t){t=t==null?Mn:Math.pow(Mn,t);return new zr(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Zn,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new Wn(255*(e+n*(gr*r+yr*i)),255*(e+n*(mr*r+_r*i)),255*(e+n*(br*r)),this.opacity)}}));function Sr(t,e,n,r,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*r+o*i)/6}var Er=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],a=t[r+1],o=r>0?t[r-1]:2*i-a,s=r<e-1?t[r+2]:2*a-i;return Sr((n-r/e)*e,o,i,a,s)}};var Tr=function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],a=t[r%e],o=t[(r+1)%e],s=t[(r+2)%e];return Sr((n-r/e)*e,i,a,o,s)}};var Cr=function(t){return function(){return t}};function Nr(t,e){return function(n){return t+n*e}}function Pr(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)}}function Rr(t,e){var n=e-t;return n?Nr(t,n>180||n<-180?n-360*Math.round(n/360):n):Cr(isNaN(t)?e:t)}function Fr(t){return(t=+t)===1?Or:function(e,n){return n-e?Pr(e,n,t):Cr(isNaN(e)?n:e)}}function Or(t,e){var n=e-t;return n?Nr(t,n):Cr(isNaN(t)?e:t)}var Br=function t(e){var n=Fr(e);function r(t,e){var r=n((t=qn(t)).r,(e=qn(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=Or(t.opacity,e.opacity);return function(e){t.r=r(e);t.g=i(e);t.b=a(e);t.opacity=o(e);return t+""}}r.gamma=t;return r}(1);function Dr(t){return function(e){var n=e.length,r=new Array(n),i=new Array(n),a=new Array(n),o,s;for(o=0;o<n;++o){s=qn(e[o]);r[o]=s.r||0;i[o]=s.g||0;a[o]=s.b||0}r=t(r);i=t(i);a=t(a);s.opacity=1;return function(t){s.r=r(t);s.g=i(t);s.b=a(t);return s+""}}}var Lr=Dr(Er);var Ir=Dr(Tr);var jr=function(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,i=new Array(n),a=new Array(n),o;for(o=0;o<r;++o)i[o]=Xr(t[o],e[o]);for(;o<n;++o)a[o]=e[o];return function(t){for(o=0;o<r;++o)a[o]=i[o](t);return a}};var Hr=function(t,e){var n=new Date;return t=+t,e-=t,function(r){return n.setTime(t+e*r),n}};var Ur=function(t,e){return t=+t,e-=t,function(n){return t+e*n}};var qr=function(t,e){var n={},r={},i;if(t===null||typeof t!=="object")t={};if(e===null||typeof e!=="object")e={};for(i in e){if(i in t){n[i]=Xr(t[i],e[i])}else{r[i]=e[i]}}return function(t){for(i in n)r[i]=n[i](t);return r}};var Wr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;var Gr=new RegExp(Wr.source,"g");function Yr(t){return function(){return t}}function Vr(t){return function(e){return t(e)+""}}var Jr=function(t,e){var n=Wr.lastIndex=Gr.lastIndex=0,r,i,a,o=-1,s=[],u=[];t=t+"",e=e+"";while((r=Wr.exec(t))&&(i=Gr.exec(e))){if((a=i.index)>n){a=e.slice(n,a);if(s[o])s[o]+=a;else s[++o]=a}if((r=r[0])===(i=i[0])){if(s[o])s[o]+=i;else s[++o]=i}else{s[++o]=null;u.push({i:o,x:Ur(r,i)})}n=Gr.lastIndex}if(n<e.length){a=e.slice(n);if(s[o])s[o]+=a;else s[++o]=a}return s.length<2?u[0]?Vr(u[0].x):Yr(e):(e=u.length,function(t){for(var n=0,r;n<e;++n)s[(r=u[n]).i]=r.x(t);return s.join("")})};var Xr=function(t,e){var n=typeof e,r;return e==null||n==="boolean"?Cr(e):(n==="number"?Ur:n==="string"?(r=In(e))?(e=r,Br):Jr:e instanceof In?Br:e instanceof Date?Hr:Array.isArray(e)?jr:typeof e.valueOf!=="function"&&typeof e.toString!=="function"||isNaN(e)?qr:Ur)(t,e)};var Zr=function(t,e){return t=+t,e-=t,function(n){return Math.round(t+e*n)}};var Kr=180/Math.PI;var Qr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};var $r=function(t,e,n,r,i,a){var o,s,u;if(o=Math.sqrt(t*t+e*e))t/=o,e/=o;if(u=t*n+e*r)n-=t*u,r-=e*u;if(s=Math.sqrt(n*n+r*r))n/=s,r/=s,u/=s;if(t*r<e*n)t=-t,e=-e,u=-u,o=-o;return{translateX:i,translateY:a,rotate:Math.atan2(e,t)*Kr,skewX:Math.atan(u)*Kr,scaleX:o,scaleY:s}};var ti;var ei;var ni;var ri;function ii(t){if(t==="none")return Qr;if(!ti)ti=document.createElement("DIV"),ei=document.documentElement,ni=document.defaultView;ti.style.transform=t;t=ni.getComputedStyle(ei.appendChild(ti),null).getPropertyValue("transform");ei.removeChild(ti);t=t.slice(7,-1).split(",");return $r(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5])}function ai(t){if(t==null)return Qr;if(!ri)ri=document.createElementNS("http://www.w3.org/2000/svg","g");ri.setAttribute("transform",t);if(!(t=ri.transform.baseVal.consolidate()))return Qr;t=t.matrix;return $r(t.a,t.b,t.c,t.d,t.e,t.f)}function oi(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}function a(t,r,i,a,o,s){if(t!==i||r!==a){var u=o.push("translate(",null,e,null,n);s.push({i:u-4,x:Ur(t,i)},{i:u-2,x:Ur(r,a)})}else if(i||a){o.push("translate("+i+e+a+n)}}function o(t,e,n,a){if(t!==e){if(t-e>180)e+=360;else if(e-t>180)t+=360;a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Ur(t,e)})}else if(e){n.push(i(n)+"rotate("+e+r)}}function s(t,e,n,a){if(t!==e){a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Ur(t,e)})}else if(e){n.push(i(n)+"skewX("+e+r)}}function u(t,e,n,r,a,o){if(t!==n||e!==r){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:Ur(t,n)},{i:s-2,x:Ur(e,r)})}else if(n!==1||r!==1){a.push(i(a)+"scale("+n+","+r+")")}}return function(e,n){var r=[],i=[];e=t(e),n=t(n);a(e.translateX,e.translateY,n.translateX,n.translateY,r,i);o(e.rotate,n.rotate,r,i);s(e.skewX,n.skewX,r,i);u(e.scaleX,e.scaleY,n.scaleX,n.scaleY,r,i);e=n=null;return function(t){var e=-1,n=i.length,a;while(++e<n)r[(a=i[e]).i]=a.x(t);return r.join("")}}}var si=oi(ii,"px, ","px)","deg)");var ui=oi(ai,", ",")",")");var li=Math.SQRT2;var ci=2;var fi=4;var hi=1e-12;function pi(t){return((t=Math.exp(t))+1/t)/2}function vi(t){return((t=Math.exp(t))-1/t)/2}function di(t){return((t=Math.exp(2*t))-1)/(t+1)}var gi=function(t,e){var n=t[0],r=t[1],i=t[2],a=e[0],o=e[1],s=e[2],u=a-n,l=o-r,c=u*u+l*l,f,h;if(c<hi){h=Math.log(s/i)/li;f=function(t){return[n+t*u,r+t*l,i*Math.exp(li*t*h)]}}else{var p=Math.sqrt(c),v=(s*s-i*i+fi*c)/(2*i*ci*p),d=(s*s-i*i-fi*c)/(2*s*ci*p),g=Math.log(Math.sqrt(v*v+1)-v),y=Math.log(Math.sqrt(d*d+1)-d);h=(y-g)/li;f=function(t){var e=t*h,a=pi(g),o=i/(ci*p)*(a*di(li*e+g)-vi(g));return[n+o*u,r+o*l,i*a/pi(li*e+g)]}}f.duration=h*1e3;return f};function yi(t){return function(e,n){var r=t((e=Vn(e)).h,(n=Vn(n)).h),i=Or(e.s,n.s),a=Or(e.l,n.l),o=Or(e.opacity,n.opacity);return function(t){e.h=r(t);e.s=i(t);e.l=a(t);e.opacity=o(t);return e+""}}}var mi=yi(Rr);var _i=yi(Or);function bi(t,e){var n=Or((t=sr(t)).l,(e=sr(e)).l),r=Or(t.a,e.a),i=Or(t.b,e.b),a=Or(t.opacity,e.opacity);return function(e){t.l=n(e);t.a=r(e);t.b=i(e);t.opacity=a(e);return t+""}}function xi(t){return function(e,n){var r=t((e=vr(e)).h,(n=vr(n)).h),i=Or(e.c,n.c),a=Or(e.l,n.l),o=Or(e.opacity,n.opacity);return function(t){e.h=r(t);e.c=i(t);e.l=a(t);e.opacity=o(t);return e+""}}}var wi=xi(Rr);var ki=xi(Or);function Ai(t){return function e(n){n=+n;function r(e,r){var i=t((e=Mr(e)).h,(r=Mr(r)).h),a=Or(e.s,r.s),o=Or(e.l,r.l),s=Or(e.opacity,r.opacity);return function(t){e.h=i(t);e.s=a(t);e.l=o(Math.pow(t,n));e.opacity=s(t);return e+""}}r.gamma=e;return r}(1)}var Mi=Ai(Rr);var zi=Ai(Or);var Si=function(t,e){var n=new Array(e);for(var r=0;r<e;++r)n[r]=t(r/(e-1));return n};var Ei=0;var Ti=0;var Ci=0;var Ni=1e3;var Pi;var Ri;var Fi=0;var Oi=0;var Bi=0;var Di=typeof performance==="object"&&performance.now?performance:Date;var Li=typeof requestAnimationFrame==="function"?requestAnimationFrame:function(t){setTimeout(t,17)};function Ii(){return Oi||(Li(ji),Oi=Di.now()+Bi)}function ji(){Oi=0}function Hi(){this._call=this._time=this._next=null}Hi.prototype=Ui.prototype={constructor:Hi,restart:function(t,e,n){if(typeof t!=="function")throw new TypeError("callback is not a function");n=(n==null?Ii():+n)+(e==null?0:+e);if(!this._next&&Ri!==this){if(Ri)Ri._next=this;else Pi=this;Ri=this}this._call=t;this._time=n;Vi()},stop:function(){if(this._call){this._call=null;this._time=Infinity;Vi()}}};function Ui(t,e,n){var r=new Hi;r.restart(t,e,n);return r}function qi(){Ii();++Ei;var t=Pi,e;while(t){if((e=Oi-t._time)>=0)t._call.call(null,e);t=t._next}--Ei}function Wi(){Oi=(Fi=Di.now())+Bi;Ei=Ti=0;try{qi()}finally{Ei=0;Yi();Oi=0}}function Gi(){var t=Di.now(),e=t-Fi;if(e>Ni)Bi-=e,Fi=t}function Yi(){var t,e=Pi,n,r=Infinity;while(e){if(e._call){if(r>e._time)r=e._time;t=e,e=e._next}else{n=e._next,e._next=null;e=t?t._next=n:Pi=n}}Ri=t;Vi(r)}function Vi(t){if(Ei)return;if(Ti)Ti=clearTimeout(Ti);var e=t-Oi;if(e>24){if(t<Infinity)Ti=setTimeout(Wi,e);if(Ci)Ci=clearInterval(Ci)}else{if(!Ci)Fi=Oi,Ci=setInterval(Gi,Ni);Ei=1,Li(Wi)}}var Ji=function(t,e,n){var r=new Hi;e=e==null?0:+e;r.restart((function(n){r.stop();t(n+e)}),e,n);return r};var Xi=function(t,e,n){var r=new Hi,i=e;if(e==null)return r.restart(t,e,n),r;e=+e,n=n==null?Ii():+n;r.restart((function a(o){o+=i;r.restart(a,i+=e,n);t(o)}),e,n);return r};var Zi=ut("start","end","interrupt");var Ki=[];var Qi=0;var $i=1;var ta=2;var ea=3;var na=4;var ra=5;var ia=6;var aa=function(t,e,n,r,i,a){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;la(t,n,{name:e,index:r,group:i,on:Zi,tween:Ki,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Qi})};function oa(t,e){var n=t.__transition;if(!n||!(n=n[e])||n.state>Qi)throw new Error("too late");return n}function sa(t,e){var n=t.__transition;if(!n||!(n=n[e])||n.state>ta)throw new Error("too late");return n}function ua(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("too late");return n}function la(t,e,n){var r=t.__transition,i;r[e]=n;n.timer=Ui(a,0,n.time);function a(t){n.state=$i;n.timer.restart(o,n.delay,n.time);if(n.delay<=t)o(t-n.delay)}function o(a){var l,c,f,h;if(n.state!==$i)return u();for(l in r){h=r[l];if(h.name!==n.name)continue;if(h.state===ea)return Ji(o);if(h.state===na){h.state=ia;h.timer.stop();h.on.call("interrupt",t,t.__data__,h.index,h.group);delete r[l]}else if(+l<e){h.state=ia;h.timer.stop();delete r[l]}}Ji((function(){if(n.state===ea){n.state=na;n.timer.restart(s,n.delay,n.time);s(a)}}));n.state=ta;n.on.call("start",t,t.__data__,n.index,n.group);if(n.state!==ta)return;n.state=ea;i=new Array(f=n.tween.length);for(l=0,c=-1;l<f;++l){if(h=n.tween[l].value.call(t,t.__data__,n.index,n.group)){i[++c]=h}}i.length=c+1}function s(e){var r=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(u),n.state=ra,1),a=-1,o=i.length;while(++a<o){i[a].call(null,r)}if(n.state===ra){n.on.call("end",t,t.__data__,n.index,n.group);u()}}function u(){n.state=ia;n.timer.stop();delete r[e];for(var i in r)return;delete t.__transition}}var ca=function(t,e){var n=t.__transition,r,i,a=true,o;if(!n)return;e=e==null?null:e+"";for(o in n){if((r=n[o]).name!==e){a=false;continue}i=r.state>ta&&r.state<ra;r.state=ia;r.timer.stop();if(i)r.on.call("interrupt",t,t.__data__,r.index,r.group);delete n[o]}if(a)delete t.__transition};var fa=function(t){return this.each((function(){ca(this,t)}))};function ha(t,e){var n,r;return function(){var i=sa(this,t),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o){if(r[o].name===e){r=r.slice();r.splice(o,1);break}}}i.tween=r}}function pa(t,e,n){var r,i;if(typeof n!=="function")throw new Error;return function(){var a=sa(this,t),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:e,value:n},u=0,l=i.length;u<l;++u){if(i[u].name===e){i[u]=s;break}}if(u===l)i.push(s)}a.tween=i}}var va=function(t,e){var n=this._id;t+="";if(arguments.length<2){var r=ua(this.node(),n).tween;for(var i=0,a=r.length,o;i<a;++i){if((o=r[i]).name===t){return o.value}}return null}return this.each((e==null?ha:pa)(n,t,e))};function da(t,e,n){var r=t._id;t.each((function(){var t=sa(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)}));return function(t){return ua(t,r).value[e]}}var ga=function(t,e){var n;return(typeof e==="number"?Ur:e instanceof In?Br:(n=In(e))?(e=n,Br):Jr)(t,e)};function ya(t){return function(){this.removeAttribute(t)}}function ma(t){return function(){this.removeAttributeNS(t.space,t.local)}}function _a(t,e,n){var r,i;return function(){var a=this.getAttribute(t);return a===n?null:a===r?i:i=e(r=a,n)}}function ba(t,e,n){var r,i;return function(){var a=this.getAttributeNS(t.space,t.local);return a===n?null:a===r?i:i=e(r=a,n)}}function xa(t,e,n){var r,i,a;return function(){var o,s=n(this);if(s==null)return void this.removeAttribute(t);o=this.getAttribute(t);return o===s?null:o===r&&s===i?a:a=e(r=o,i=s)}}function wa(t,e,n){var r,i,a;return function(){var o,s=n(this);if(s==null)return void this.removeAttributeNS(t.space,t.local);o=this.getAttributeNS(t.space,t.local);return o===s?null:o===r&&s===i?a:a=e(r=o,i=s)}}var ka=function(t,e){var n=dt(t),r=n==="transform"?ui:ga;return this.attrTween(t,typeof e==="function"?(n.local?wa:xa)(n,r,da(this,"attr."+t,e)):e==null?(n.local?ma:ya)(n):(n.local?ba:_a)(n,r,e+""))};function Aa(t,e){function n(){var n=this,r=e.apply(n,arguments);return r&&function(e){n.setAttributeNS(t.space,t.local,r(e))}}n._value=e;return n}function Ma(t,e){function n(){var n=this,r=e.apply(n,arguments);return r&&function(e){n.setAttribute(t,r(e))}}n._value=e;return n}var za=function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!=="function")throw new Error;var r=dt(t);return this.tween(n,(r.local?Aa:Ma)(r,e))};function Sa(t,e){return function(){oa(this,t).delay=+e.apply(this,arguments)}}function Ea(t,e){return e=+e,function(){oa(this,t).delay=e}}var Ta=function(t){var e=this._id;return arguments.length?this.each((typeof t==="function"?Sa:Ea)(e,t)):ua(this.node(),e).delay};function Ca(t,e){return function(){sa(this,t).duration=+e.apply(this,arguments)}}function Na(t,e){return e=+e,function(){sa(this,t).duration=e}}var Pa=function(t){var e=this._id;return arguments.length?this.each((typeof t==="function"?Ca:Na)(e,t)):ua(this.node(),e).duration};function Ra(t,e){if(typeof e!=="function")throw new Error;return function(){sa(this,t).ease=e}}var Fa=function(t){var e=this._id;return arguments.length?this.each(Ra(e,t)):ua(this.node(),e).ease};var Oa=function(t){if(typeof t!=="function")t=Mt(t);for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i){for(var a=e[i],o=a.length,s=r[i]=[],u,l=0;l<o;++l){if((u=a[l])&&t.call(u,u.__data__,l,a)){s.push(u)}}}return new io(r,this._parents,this._name,this._id)};var Ba=function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s){for(var u=e[s],l=n[s],c=u.length,f=o[s]=new Array(c),h,p=0;p<c;++p){if(h=u[p]||l[p]){f[p]=h}}}for(;s<r;++s){o[s]=e[s]}return new io(o,this._parents,this._name,this._id)};function Da(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");if(e>=0)t=t.slice(0,e);return!t||t==="start"}))}function La(t,e,n){var r,i,a=Da(e)?oa:sa;return function(){var o=a(this,t),s=o.on;if(s!==r)(i=(r=s).copy()).on(e,n);o.on=i}}var Ia=function(t,e){var n=this._id;return arguments.length<2?ua(this.node(),n).on.on(t):this.each(La(n,t,e))};function ja(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;if(e)e.removeChild(this)}}var Ha=function(){return this.on("end.remove",ja(this._id))};var Ua=function(t){var e=this._name,n=this._id;if(typeof t!=="function")t=It(t);for(var r=this._groups,i=r.length,a=new Array(i),o=0;o<i;++o){for(var s=r[o],u=s.length,l=a[o]=new Array(u),c,f,h=0;h<u;++h){if((c=s[h])&&(f=t.call(c,c.__data__,h,s))){if("__data__"in c)f.__data__=c.__data__;l[h]=f;aa(l[h],e,n,h,l,ua(c,n))}}}return new io(a,this._parents,e,n)};var qa=function(t){var e=this._name,n=this._id;if(typeof t!=="function")t=Ut(t);for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s){for(var u=r[s],l=u.length,c,f=0;f<l;++f){if(c=u[f]){for(var h=t.call(c,c.__data__,f,u),p,v=ua(c,n),d=0,g=h.length;d<g;++d){if(p=h[d]){aa(p,e,n,d,h,v)}}a.push(h);o.push(c)}}}return new io(a,o,e,n)};var Wa=sn.prototype.constructor;var Ga=function(){return new Wa(this._groups,this._parents)};function Ya(t,e){var n,r,i;return function(){var a=we(this,t),o=(this.style.removeProperty(t),we(this,t));return a===o?null:a===n&&o===r?i:i=e(n=a,r=o)}}function Va(t){return function(){this.style.removeProperty(t)}}function Ja(t,e,n){var r,i;return function(){var a=we(this,t);return a===n?null:a===r?i:i=e(r=a,n)}}function Xa(t,e,n){var r,i,a;return function(){var o=we(this,t),s=n(this);if(s==null)s=(this.style.removeProperty(t),we(this,t));return o===s?null:o===r&&s===i?a:a=e(r=o,i=s)}}var Za=function(t,e,n){var r=(t+="")==="transform"?si:ga;return e==null?this.styleTween(t,Ya(t,r)).on("end.style."+t,Va(t)):this.styleTween(t,typeof e==="function"?Xa(t,r,da(this,"style."+t,e)):Ja(t,r,e+""),n)};function Ka(t,e,n){function r(){var r=this,i=e.apply(r,arguments);return i&&function(e){r.style.setProperty(t,i(e),n)}}r._value=e;return r}var Qa=function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!=="function")throw new Error;return this.tween(r,Ka(t,e,n==null?"":n))};function $a(t){return function(){this.textContent=t}}function to(t){return function(){var e=t(this);this.textContent=e==null?"":e}}var eo=function(t){return this.tween("text",typeof t==="function"?to(da(this,"text",t)):$a(t==null?"":t+""))};var no=function(){var t=this._name,e=this._id,n=oo();for(var r=this._groups,i=r.length,a=0;a<i;++a){for(var o=r[a],s=o.length,u,l=0;l<s;++l){if(u=o[l]){var c=ua(u,e);aa(u,t,n,l,o,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}}}return new io(r,this._parents,t,n)};var ro=0;function io(t,e,n,r){this._groups=t;this._parents=e;this._name=n;this._id=r}function ao(t){return sn().transition(t)}function oo(){return++ro}var so=sn.prototype;io.prototype=ao.prototype={constructor:io,select:Ua,selectAll:qa,filter:Oa,merge:Ba,selection:Ga,transition:no,call:so.call,nodes:so.nodes,node:so.node,size:so.size,empty:so.empty,each:so.each,on:Ia,attr:ka,attrTween:za,style:Za,styleTween:Qa,text:eo,remove:Ha,tween:va,delay:Ta,duration:Pa,ease:Fa};function uo(t){return+t}function lo(t){return t*t}function co(t){return t*(2-t)}function fo(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function ho(t){return t*t*t}function po(t){return--t*t*t+1}function vo(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var go=3;var yo=function t(e){e=+e;function n(t){return Math.pow(t,e)}n.exponent=t;return n}(go);var mo=function t(e){e=+e;function n(t){return 1-Math.pow(1-t,e)}n.exponent=t;return n}(go);var _o=function t(e){e=+e;function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}n.exponent=t;return n}(go);var bo=Math.PI;var xo=bo/2;function wo(t){return 1-Math.cos(t*xo)}function ko(t){return Math.sin(t*xo)}function Ao(t){return(1-Math.cos(bo*t))/2}function Mo(t){return Math.pow(2,10*t-10)}function zo(t){return 1-Math.pow(2,-10*t)}function So(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function Eo(t){return 1-Math.sqrt(1-t*t)}function To(t){return Math.sqrt(1- --t*t)}function Co(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var No=4/11;var Po=6/11;var Ro=8/11;var Fo=3/4;var Oo=9/11;var Bo=10/11;var Do=15/16;var Lo=21/22;var Io=63/64;var jo=1/No/No;function Ho(t){return 1-Uo(1-t)}function Uo(t){return(t=+t)<No?jo*t*t:t<Ro?jo*(t-=Po)*t+Fo:t<Bo?jo*(t-=Oo)*t+Do:jo*(t-=Lo)*t+Io}function qo(t){return((t*=2)<=1?1-Uo(1-t):Uo(t-1)+1)/2}var Wo=1.70158;var Go=function t(e){e=+e;function n(t){return t*t*((e+1)*t-e)}n.overshoot=t;return n}(Wo);var Yo=function t(e){e=+e;function n(t){return--t*t*((e+1)*t+e)+1}n.overshoot=t;return n}(Wo);var Vo=function t(e){e=+e;function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}n.overshoot=t;return n}(Wo);var Jo=2*Math.PI;var Xo=1;var Zo=.3;var Ko=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Jo);function i(t){return e*Math.pow(2,10*--t)*Math.sin((r-t)/n)}i.amplitude=function(e){return t(e,n*Jo)};i.period=function(n){return t(e,n)};return i}(Xo,Zo);var Qo=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Jo);function i(t){return 1-e*Math.pow(2,-10*(t=+t))*Math.sin((t+r)/n)}i.amplitude=function(e){return t(e,n*Jo)};i.period=function(n){return t(e,n)};return i}(Xo,Zo);var $o=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Jo);function i(t){return((t=t*2-1)<0?e*Math.pow(2,10*t)*Math.sin((r-t)/n):2-e*Math.pow(2,-10*t)*Math.sin((r+t)/n))/2}i.amplitude=function(e){return t(e,n*Jo)};i.period=function(n){return t(e,n)};return i}(Xo,Zo);var ts={time:null,delay:0,duration:250,ease:vo};function es(t,e){var n;while(!(n=t.__transition)||!(n=n[e])){if(!(t=t.parentNode)){return ts.time=Ii(),ts}}return n}var ns=function(t){var e,n;if(t instanceof io){e=t._id,t=t._name}else{e=oo(),(n=ts).time=Ii(),t=t==null?null:t+""}for(var r=this._groups,i=r.length,a=0;a<i;++a){for(var o=r[a],s=o.length,u,l=0;l<s;++l){if(u=o[l]){aa(u,t,e,l,o,n||es(u,e))}}}return new io(r,this._parents,t,e)};sn.prototype.interrupt=fa;sn.prototype.transition=ns;var rs=[null];var is=function(t,e){var n=t.__transition,r,i;if(n){e=e==null?null:e+"";for(i in n){if((r=n[i]).state>$i&&r.name===e){return new io([[t]],rs,e,+i)}}}return null};var as=function(t){return function(){return t}};var os=function(t,e,n){this.target=t;this.type=e;this.selection=n};function ss(){t.event.stopImmediatePropagation()}var us=function(){t.event.preventDefault();t.event.stopImmediatePropagation()};var ls={name:"drag"};var cs={name:"space"};var fs={name:"handle"};var hs={name:"center"};var ps={name:"x",handles:["e","w"].map(xs),input:function(t,e){return t&&[[t[0],e[0][1]],[t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}};var vs={name:"y",handles:["n","s"].map(xs),input:function(t,e){return t&&[[e[0][0],t[0]],[e[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}};var ds={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(xs),input:function(t){return t},output:function(t){return t}};var gs={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"};var ys={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"};var ms={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"};var _s={overlay:+1,selection:+1,n:null,e:+1,s:null,w:-1,nw:-1,ne:+1,se:+1,sw:-1};var bs={overlay:+1,selection:+1,n:-1,e:null,s:+1,w:null,nw:-1,ne:-1,se:+1,sw:+1};function xs(t){return{type:t}}function ws(){return!t.event.button}function ks(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function As(t){while(!t.__brush)if(!(t=t.parentNode))return;return t.__brush}function Ms(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function zs(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function Ss(){return Cs(ps)}function Es(){return Cs(vs)}var Ts=function(){return Cs(ds)};function Cs(e){var n=ks,r=ws,i=ut(s,"start","brush","end"),a=6,o;function s(t){var n=t.property("__brush",h).selectAll(".overlay").data([xs("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",gs.overlay).merge(n).each((function(){var t=As(this).extent;un(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}));t.selectAll(".selection").data([xs("selection")]).enter().append("rect").attr("class","selection").attr("cursor",gs.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=t.selectAll(".handle").data(e.handles,(function(t){return t.type}));r.exit().remove();r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return gs[t.type]}));t.each(u).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",f)}s.move=function(t,n){if(t.selection){t.on("start.brush",(function(){l(this,arguments).beforestart().start()})).on("interrupt.brush end.brush",(function(){l(this,arguments).end()})).tween("brush",(function(){var t=this,r=t.__brush,i=l(t,arguments),a=r.selection,o=e.input(typeof n==="function"?n.apply(this,arguments):n,r.extent),s=Xr(a,o);function c(e){r.selection=e===1&&Ms(o)?null:s(e);u.call(t);i.brush()}return a&&o?c:c(1)}))}else{t.each((function(){var t=this,r=arguments,i=t.__brush,a=e.input(typeof n==="function"?n.apply(t,r):n,i.extent),o=l(t,r).beforestart();ca(t);i.selection=a==null||Ms(a)?null:a;u.call(t);o.start().brush().end()}))}};function u(){var t=un(this),e=As(this).selection;if(e){t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]);t.selectAll(".handle").style("display",null).attr("x",(function(t){return t.type[t.type.length-1]==="e"?e[1][0]-a/2:e[0][0]-a/2})).attr("y",(function(t){return t.type[0]==="s"?e[1][1]-a/2:e[0][1]-a/2})).attr("width",(function(t){return t.type==="n"||t.type==="s"?e[1][0]-e[0][0]+a:a})).attr("height",(function(t){return t.type==="e"||t.type==="w"?e[1][1]-e[0][1]+a:a}))}else{t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}}function l(t,e){return t.__brush.emitter||new c(t,e)}function c(t,e){this.that=t;this.args=e;this.state=t.__brush;this.active=0}c.prototype={beforestart:function(){if(++this.active===1)this.state.emitter=this,this.starting=true;return this},start:function(){if(this.starting)this.starting=false,this.emit("start");return this},brush:function(){this.emit("brush");return this},end:function(){if(--this.active===0)delete this.state.emitter,this.emit("end");return this},emit:function(t){Ft(new os(s,t,e.output(this.state.selection)),i.apply,i,[t,this.that,this.args])}};function f(){if(t.event.touches){if(t.event.changedTouches.length<t.event.touches.length)return us()}else if(o)return;if(!r.apply(this,arguments))return;var n=this,i=t.event.target.__data__.type,a=(t.event.metaKey?i="overlay":i)==="selection"?ls:t.event.altKey?hs:fs,s=e===vs?null:_s[i],c=e===ps?null:bs[i],f=As(n),h=f.extent,p=f.selection,v=h[0][0],d,g,y=h[0][1],m,_,b=h[1][0],x,w,k=h[1][1],A,M,z,S,E,T=s&&c&&t.event.shiftKey,C,N,P=Dt(n),R=P,F=l(n,arguments).beforestart();if(i==="overlay"){f.selection=p=[[d=e===vs?v:P[0],m=e===ps?y:P[1]],[x=e===vs?b:d,A=e===ps?k:m]]}else{d=p[0][0];m=p[0][1];x=p[1][0];A=p[1][1]}g=d;_=m;w=x;M=A;var O=un(n).attr("pointer-events","none");var B=O.selectAll(".overlay").attr("cursor",gs[i]);if(t.event.touches){O.on("touchmove.brush",L,true).on("touchend.brush touchcancel.brush",j,true)}else{var D=un(t.event.view).on("keydown.brush",H,true).on("keyup.brush",U,true).on("mousemove.brush",L,true).on("mouseup.brush",j,true);vn(t.event.view)}ss();ca(n);u.call(n);F.start();function L(){var t=Dt(n);if(T&&!C&&!N){if(Math.abs(t[0]-R[0])>Math.abs(t[1]-R[1]))N=true;else C=true}R=t;E=true;us();I()}function I(){var t;z=R[0]-P[0];S=R[1]-P[1];switch(a){case cs:case ls:{if(s)z=Math.max(v-d,Math.min(b-x,z)),g=d+z,w=x+z;if(c)S=Math.max(y-m,Math.min(k-A,S)),_=m+S,M=A+S;break}case fs:{if(s<0)z=Math.max(v-d,Math.min(b-d,z)),g=d+z,w=x;else if(s>0)z=Math.max(v-x,Math.min(b-x,z)),g=d,w=x+z;if(c<0)S=Math.max(y-m,Math.min(k-m,S)),_=m+S,M=A;else if(c>0)S=Math.max(y-A,Math.min(k-A,S)),_=m,M=A+S;break}case hs:{if(s)g=Math.max(v,Math.min(b,d-z*s)),w=Math.max(v,Math.min(b,x+z*s));if(c)_=Math.max(y,Math.min(k,m-S*c)),M=Math.max(y,Math.min(k,A+S*c));break}}if(w<g){s*=-1;t=d,d=x,x=t;t=g,g=w,w=t;if(i in ys)B.attr("cursor",gs[i=ys[i]])}if(M<_){c*=-1;t=m,m=A,A=t;t=_,_=M,M=t;if(i in ms)B.attr("cursor",gs[i=ms[i]])}if(f.selection)p=f.selection;if(C)g=p[0][0],w=p[1][0];if(N)_=p[0][1],M=p[1][1];if(p[0][0]!==g||p[0][1]!==_||p[1][0]!==w||p[1][1]!==M){f.selection=[[g,_],[w,M]];u.call(n);F.brush()}}function j(){ss();if(t.event.touches){if(t.event.touches.length)return;if(o)clearTimeout(o);o=setTimeout((function(){o=null}),500);O.on("touchmove.brush touchend.brush touchcancel.brush",null)}else{dn(t.event.view,E);D.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null)}O.attr("pointer-events","all");B.attr("cursor",gs.overlay);if(f.selection)p=f.selection;if(Ms(p))f.selection=null,u.call(n);F.end()}function H(){switch(t.event.keyCode){case 16:{T=s&&c;break}case 18:{if(a===fs){if(s)x=w-z*s,d=g+z*s;if(c)A=M-S*c,m=_+S*c;a=hs;I()}break}case 32:{if(a===fs||a===hs){if(s<0)x=w-z;else if(s>0)d=g-z;if(c<0)A=M-S;else if(c>0)m=_-S;a=cs;B.attr("cursor",gs.selection);I()}break}default:return}us()}function U(){switch(t.event.keyCode){case 16:{if(T){C=N=T=false;I()}break}case 18:{if(a===hs){if(s<0)x=w;else if(s>0)d=g;if(c<0)A=M;else if(c>0)m=_;a=fs;I()}break}case 32:{if(a===cs){if(t.event.altKey){if(s)x=w-z*s,d=g+z*s;if(c)A=M-S*c,m=_+S*c;a=hs}else{if(s<0)x=w;else if(s>0)d=g;if(c<0)A=M;else if(c>0)m=_;a=fs}B.attr("cursor",gs[i]);I()}break}default:return}us()}}function h(){var t=this.__brush||{selection:null};t.extent=n.apply(this,arguments);t.dim=e;return t}s.extent=function(t){return arguments.length?(n=typeof t==="function"?t:as([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),s):n};s.filter=function(t){return arguments.length?(r=typeof t==="function"?t:as(!!t),s):r};s.handleSize=function(t){return arguments.length?(a=+t,s):a};s.on=function(){var t=i.on.apply(i,arguments);return t===i?s:t};return s}var Ns=Math.cos;var Ps=Math.sin;var Rs=Math.PI;var Fs=Rs/2;var Os=Rs*2;var Bs=Math.max;function Ds(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}var Ls=function(){var t=0,e=null,n=null,r=null;function i(i){var a=i.length,o=[],s=x(a),u=[],l=[],c=l.groups=new Array(a),f=new Array(a*a),h,p,v,d,g,y;h=0,g=-1;while(++g<a){p=0,y=-1;while(++y<a){p+=i[g][y]}o.push(p);u.push(x(a));h+=p}if(e)s.sort((function(t,n){return e(o[t],o[n])}));if(n)u.forEach((function(t,e){t.sort((function(t,r){return n(i[e][t],i[e][r])}))}));h=Bs(0,Os-t*a)/h;d=h?t:Os/a;p=0,g=-1;while(++g<a){v=p,y=-1;while(++y<a){var m=s[g],_=u[m][y],b=i[m][_],w=p,k=p+=b*h;f[_*a+m]={index:m,subindex:_,startAngle:w,endAngle:k,value:b}}c[m]={index:m,startAngle:v,endAngle:p,value:o[m]};p+=d}g=-1;while(++g<a){y=g-1;while(++y<a){var A=f[y*a+g],M=f[g*a+y];if(A.value||M.value){l.push(A.value<M.value?{source:M,target:A}:{source:A,target:M})}}}return r?l.sort(r):l}i.padAngle=function(e){return arguments.length?(t=Bs(0,e),i):t};i.sortGroups=function(t){return arguments.length?(e=t,i):e};i.sortSubgroups=function(t){return arguments.length?(n=t,i):n};i.sortChords=function(t){return arguments.length?(t==null?r=null:(r=Ds(t))._=t,i):r&&r._};return i};var Is=Array.prototype.slice;var js=function(t){return function(){return t}};var Hs=Math.PI;var Us=2*Hs;var qs=1e-6;var Ws=Us-qs;function Gs(){this._x0=this._y0=this._x1=this._y1=null;this._=""}function Ys(){return new Gs}Gs.prototype=Ys.prototype={constructor:Gs,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){if(this._x1!==null){this._x1=this._x0,this._y1=this._y0;this._+="Z"}},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,s=n-t,u=r-e,l=a-t,c=o-e,f=l*l+c*c;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null){this._+="M"+(this._x1=t)+","+(this._y1=e)}else if(!(f>qs));else if(!(Math.abs(c*s-u*l)>qs)||!i){this._+="L"+(this._x1=t)+","+(this._y1=e)}else{var h=n-a,p=r-o,v=s*s+u*u,d=h*h+p*p,g=Math.sqrt(v),y=Math.sqrt(f),m=i*Math.tan((Hs-Math.acos((v+f-d)/(2*g*y)))/2),_=m/y,b=m/g;if(Math.abs(_-1)>qs){this._+="L"+(t+_*l)+","+(e+_*c)}this._+="A"+i+","+i+",0,0,"+ +(c*h>l*p)+","+(this._x1=t+b*s)+","+(this._y1=e+b*u)}},arc:function(t,e,n,r,i,a){t=+t,e=+e,n=+n;var o=n*Math.cos(r),s=n*Math.sin(r),u=t+o,l=e+s,c=1^a,f=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);if(this._x1===null){this._+="M"+u+","+l}else if(Math.abs(this._x1-u)>qs||Math.abs(this._y1-l)>qs){this._+="L"+u+","+l}if(!n)return;if(f<0)f=f%Us+Us;if(f>Ws){this._+="A"+n+","+n+",0,1,"+c+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+c+","+(this._x1=u)+","+(this._y1=l)}else if(f>qs){this._+="A"+n+","+n+",0,"+ +(f>=Hs)+","+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._}};function Vs(t){return t.source}function Js(t){return t.target}function Xs(t){return t.radius}function Zs(t){return t.startAngle}function Ks(t){return t.endAngle}var Qs=function(){var t=Vs,e=Js,n=Xs,r=Zs,i=Ks,a=null;function o(){var o,s=Is.call(arguments),u=t.apply(this,s),l=e.apply(this,s),c=+n.apply(this,(s[0]=u,s)),f=r.apply(this,s)-Fs,h=i.apply(this,s)-Fs,p=c*Ns(f),v=c*Ps(f),d=+n.apply(this,(s[0]=l,s)),g=r.apply(this,s)-Fs,y=i.apply(this,s)-Fs;if(!a)a=o=Ys();a.moveTo(p,v);a.arc(0,0,c,f,h);if(f!==g||h!==y){a.quadraticCurveTo(0,0,d*Ns(g),d*Ps(g));a.arc(0,0,d,g,y)}a.quadraticCurveTo(0,0,p,v);a.closePath();if(o)return a=null,o+""||null}o.radius=function(t){return arguments.length?(n=typeof t==="function"?t:js(+t),o):n};o.startAngle=function(t){return arguments.length?(r=typeof t==="function"?t:js(+t),o):r};o.endAngle=function(t){return arguments.length?(i=typeof t==="function"?t:js(+t),o):i};o.source=function(e){return arguments.length?(t=e,o):t};o.target=function(t){return arguments.length?(e=t,o):e};o.context=function(t){return arguments.length?(a=t==null?null:t,o):a};return o};var $s="$";function tu(){}tu.prototype=eu.prototype={constructor:tu,has:function(t){return $s+t in this},get:function(t){return this[$s+t]},set:function(t,e){this[$s+t]=e;return this},remove:function(t){var e=$s+t;return e in this&&delete this[e]},clear:function(){for(var t in this)if(t[0]===$s)delete this[t]},keys:function(){var t=[];for(var e in this)if(e[0]===$s)t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)if(e[0]===$s)t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)if(e[0]===$s)t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)if(e[0]===$s)++t;return t},empty:function(){for(var t in this)if(t[0]===$s)return false;return true},each:function(t){for(var e in this)if(e[0]===$s)t(this[e],e.slice(1),this)}};function eu(t,e){var n=new tu;if(t instanceof tu)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var r=-1,i=t.length,a;if(e==null)while(++r<i)n.set(r,t[r]);else while(++r<i)n.set(e(a=t[r],r,t),a)}else if(t)for(var o in t)n.set(o,t[o]);return n}var nu=function(){var t=[],e=[],n,r,i;function a(e,i,o,s){if(i>=t.length)return r!=null?r(e):n!=null?e.sort(n):e;var u=-1,l=e.length,c=t[i++],f,h,p=eu(),v,d=o();while(++u<l){if(v=p.get(f=c(h=e[u])+"")){v.push(h)}else{p.set(f,[h])}}p.each((function(t,e){s(d,e,a(t,i,o,s))}));return d}function o(n,i){if(++i>t.length)return n;var a,s=e[i-1];if(r!=null&&i>=t.length)a=n.entries();else a=[],n.each((function(t,e){a.push({key:e,values:o(t,i)})}));return s!=null?a.sort((function(t,e){return s(t.key,e.key)})):a}return i={object:function(t){return a(t,0,ru,iu)},map:function(t){return a(t,0,au,ou)},entries:function(t){return o(a(t,0,au,ou),0)},key:function(e){t.push(e);return i},sortKeys:function(n){e[t.length-1]=n;return i},sortValues:function(t){n=t;return i},rollup:function(t){r=t;return i}}};function ru(){return{}}function iu(t,e,n){t[e]=n}function au(){return eu()}function ou(t,e,n){t.set(e,n)}function su(){}var uu=eu.prototype;su.prototype=lu.prototype={constructor:su,has:uu.has,add:function(t){t+="";this[$s+t]=t;return this},remove:uu.remove,clear:uu.clear,values:uu.keys,size:uu.size,empty:uu.empty,each:uu.each};function lu(t,e){var n=new su;if(t instanceof su)t.each((function(t){n.add(t)}));else if(t){var r=-1,i=t.length;if(e==null)while(++r<i)n.add(t[r]);else while(++r<i)n.add(e(t[r],r,t))}return n}var cu=function(t){var e=[];for(var n in t)e.push(n);return e};var fu=function(t){var e=[];for(var n in t)e.push(t[n]);return e};var hu=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e};function pu(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+"]"})).join(",")+"}")}function vu(t,e){var n=pu(t);return function(r,i){return e(n(r),i,t)}}function du(t){var e=Object.create(null),n=[];t.forEach((function(t){for(var r in t){if(!(r in e)){n.push(e[r]=r)}}}));return n}var gu=function(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var n,r,a=i(t,(function(t,i){if(n)return n(t,i-1);r=t,n=e?vu(t,e):pu(t)}));a.columns=r;return a}function i(t,e){var r={},i={},a=[],o=t.length,s=0,u=0,l,c;function f(){if(s>=o)return i;if(c)return c=false,r;var e=s,a;if(t.charCodeAt(e)===34){var u=e;while(u++<o){if(t.charCodeAt(u)===34){if(t.charCodeAt(u+1)!==34)break;++u}}s=u+2;a=t.charCodeAt(u+1);if(a===13){c=true;if(t.charCodeAt(u+2)===10)++s}else if(a===10){c=true}return t.slice(e+1,u).replace(/""/g,'"')}while(s<o){var l=1;a=t.charCodeAt(s++);if(a===10)c=true;else if(a===13){c=true;if(t.charCodeAt(s)===10)++s,++l}else if(a!==n)continue;return t.slice(e,s-l)}return t.slice(e)}while((l=f())!==i){var h=[];while(l!==r&&l!==i){h.push(l);l=f()}if(e&&(h=e(h,u++))==null)continue;a.push(h)}return a}function a(e,n){if(n==null)n=du(e);return[n.map(u).join(t)].concat(e.map((function(e){return n.map((function(t){return u(e[t])})).join(t)}))).join("\n")}function o(t){return t.map(s).join("\n")}function s(e){return e.map(u).join(t)}function u(t){return t==null?"":e.test(t+="")?'"'+t.replace(/\"/g,'""')+'"':t}return{parse:r,parseRows:i,format:a,formatRows:o}};var yu=gu(",");var mu=yu.parse;var _u=yu.parseRows;var bu=yu.format;var xu=yu.formatRows;var wu=gu("\t");var ku=wu.parse;var Au=wu.parseRows;var Mu=wu.format;var zu=wu.formatRows;var Su=function(t,e){var n;if(t==null)t=0;if(e==null)e=0;function r(){var r,i=n.length,a,o=0,s=0;for(r=0;r<i;++r){a=n[r],o+=a.x,s+=a.y}for(o=o/i-t,s=s/i-e,r=0;r<i;++r){a=n[r],a.x-=o,a.y-=s}}r.initialize=function(t){n=t};r.x=function(e){return arguments.length?(t=+e,r):t};r.y=function(t){return arguments.length?(e=+t,r):e};return r};var Eu=function(t){return function(){return t}};var Tu=function(){return(Math.random()-.5)*1e-6};var Cu=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return Nu(this.cover(e,n),e,n,t)};function Nu(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,a=t._root,o={data:r},s=t._x0,u=t._y0,l=t._x1,c=t._y1,f,h,p,v,d,g,y,m;if(!a)return t._root=o,t;while(a.length){if(d=e>=(f=(s+l)/2))s=f;else l=f;if(g=n>=(h=(u+c)/2))u=h;else c=h;if(i=a,!(a=a[y=g<<1|d]))return i[y]=o,t}p=+t._x.call(null,a.data);v=+t._y.call(null,a.data);if(e===p&&n===v)return o.next=a,i?i[y]=o:t._root=o,t;do{i=i?i[y]=new Array(4):t._root=new Array(4);if(d=e>=(f=(s+l)/2))s=f;else l=f;if(g=n>=(h=(u+c)/2))u=h;else c=h}while((y=g<<1|d)===(m=(v>=h)<<1|p>=f));return i[m]=a,i[y]=o,t}function Pu(t){var e,n,r=t.length,i,a,o=new Array(r),s=new Array(r),u=Infinity,l=Infinity,c=-Infinity,f=-Infinity;for(n=0;n<r;++n){if(isNaN(i=+this._x.call(null,e=t[n]))||isNaN(a=+this._y.call(null,e)))continue;o[n]=i;s[n]=a;if(i<u)u=i;if(i>c)c=i;if(a<l)l=a;if(a>f)f=a}if(c<u)u=this._x0,c=this._x1;if(f<l)l=this._y0,f=this._y1;this.cover(u,l).cover(c,f);for(n=0;n<r;++n){Nu(this,o[n],s[n],t[n])}return this}var Ru=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n)){i=(n=Math.floor(t))+1;a=(r=Math.floor(e))+1}else if(n>t||t>i||r>e||e>a){var o=i-n,s=this._root,u,l;switch(l=(e<(r+a)/2)<<1|t<(n+i)/2){case 0:{do{u=new Array(4),u[l]=s,s=u}while(o*=2,i=n+o,a=r+o,t>i||e>a);break}case 1:{do{u=new Array(4),u[l]=s,s=u}while(o*=2,n=i-o,a=r+o,n>t||e>a);break}case 2:{do{u=new Array(4),u[l]=s,s=u}while(o*=2,i=n+o,r=a-o,t>i||r>e);break}case 3:{do{u=new Array(4),u[l]=s,s=u}while(o*=2,n=i-o,r=a-o,n>t||r>e);break}}if(this._root&&this._root.length)this._root=s}else return this;this._x0=n;this._y0=r;this._x1=i;this._y1=a;return this};var Fu=function(){var t=[];this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}));return t};var Ou=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?undefined:[[this._x0,this._y0],[this._x1,this._y1]]};var Bu=function(t,e,n,r,i){this.node=t;this.x0=e;this.y0=n;this.x1=r;this.y1=i};var Du=function(t,e,n){var r,i=this._x0,a=this._y0,o,s,u,l,c=this._x1,f=this._y1,h=[],p=this._root,v,d;if(p)h.push(new Bu(p,i,a,c,f));if(n==null)n=Infinity;else{i=t-n,a=e-n;c=t+n,f=e+n;n*=n}while(v=h.pop()){if(!(p=v.node)||(o=v.x0)>c||(s=v.y0)>f||(u=v.x1)<i||(l=v.y1)<a)continue;if(p.length){var g=(o+u)/2,y=(s+l)/2;h.push(new Bu(p[3],g,y,u,l),new Bu(p[2],o,y,g,l),new Bu(p[1],g,s,u,y),new Bu(p[0],o,s,g,y));if(d=(e>=y)<<1|t>=g){v=h[h.length-1];h[h.length-1]=h[h.length-1-d];h[h.length-1-d]=v}}else{var m=t-+this._x.call(null,p.data),_=e-+this._y.call(null,p.data),b=m*m+_*_;if(b<n){var x=Math.sqrt(n=b);i=t-x,a=e-x;c=t+x,f=e+x;r=p.data}}}return r};var Lu=function(t){if(isNaN(c=+this._x.call(null,t))||isNaN(f=+this._y.call(null,t)))return this;var e,n=this._root,r,i,a,o=this._x0,s=this._y0,u=this._x1,l=this._y1,c,f,h,p,v,d,g,y;if(!n)return this;if(n.length)while(true){if(v=c>=(h=(o+u)/2))o=h;else u=h;if(d=f>=(p=(s+l)/2))s=p;else l=p;if(!(e=n,n=n[g=d<<1|v]))return this;if(!n.length)break;if(e[g+1&3]||e[g+2&3]||e[g+3&3])r=e,y=g}while(n.data!==t)if(!(i=n,n=n.next))return this;if(a=n.next)delete n.next;if(i)return a?i.next=a:delete i.next,this;if(!e)return this._root=a,this;a?e[g]=a:delete e[g];if((n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length){if(r)r[y]=n;else this._root=n}return this};function Iu(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this}var ju=function(){return this._root};var Hu=function(){var t=0;this.visit((function(e){if(!e.length)do{++t}while(e=e.next)}));return t};var Uu=function(t){var e=[],n,r=this._root,i,a,o,s,u;if(r)e.push(new Bu(r,this._x0,this._y0,this._x1,this._y1));while(n=e.pop()){if(!t(r=n.node,a=n.x0,o=n.y0,s=n.x1,u=n.y1)&&r.length){var l=(a+s)/2,c=(o+u)/2;if(i=r[3])e.push(new Bu(i,l,c,s,u));if(i=r[2])e.push(new Bu(i,a,c,l,u));if(i=r[1])e.push(new Bu(i,l,o,s,c));if(i=r[0])e.push(new Bu(i,a,o,l,c))}}return this};var qu=function(t){var e=[],n=[],r;if(this._root)e.push(new Bu(this._root,this._x0,this._y0,this._x1,this._y1));while(r=e.pop()){var i=r.node;if(i.length){var a,o=r.x0,s=r.y0,u=r.x1,l=r.y1,c=(o+u)/2,f=(s+l)/2;if(a=i[0])e.push(new Bu(a,o,s,c,f));if(a=i[1])e.push(new Bu(a,c,s,u,f));if(a=i[2])e.push(new Bu(a,o,f,c,l));if(a=i[3])e.push(new Bu(a,c,f,u,l))}n.push(r)}while(r=n.pop()){t(r.node,r.x0,r.y0,r.x1,r.y1)}return this};function Wu(t){return t[0]}var Gu=function(t){return arguments.length?(this._x=t,this):this._x};function Yu(t){return t[1]}var Vu=function(t){return arguments.length?(this._y=t,this):this._y};function Ju(t,e,n){var r=new Xu(e==null?Wu:e,n==null?Yu:n,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function Xu(t,e,n,r,i,a){this._x=t;this._y=e;this._x0=n;this._y0=r;this._x1=i;this._y1=a;this._root=undefined}function Zu(t){var e={data:t.data},n=e;while(t=t.next)n=n.next={data:t.data};return e}var Ku=Ju.prototype=Xu.prototype;Ku.copy=function(){var t=new Xu(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,n,r;if(!e)return t;if(!e.length)return t._root=Zu(e),t;n=[{source:e,target:t._root=new Array(4)}];while(e=n.pop()){for(var i=0;i<4;++i){if(r=e.source[i]){if(r.length)n.push({source:r,target:e.target[i]=new Array(4)});else e.target[i]=Zu(r)}}}return t};Ku.add=Cu;Ku.addAll=Pu;Ku.cover=Ru;Ku.data=Fu;Ku.extent=Ou;Ku.find=Du;Ku.remove=Lu;Ku.removeAll=Iu;Ku.root=ju;Ku.size=Hu;Ku.visit=Uu;Ku.visitAfter=qu;Ku.x=Gu;Ku.y=Vu;function Qu(t){return t.x+t.vx}function $u(t){return t.y+t.vy}var tl=function(t){var e,n,r=1,i=1;if(typeof t!=="function")t=Eu(t==null?1:+t);function a(){var t,a=e.length,s,u,l,c,f,h;for(var p=0;p<i;++p){s=Ju(e,Qu,$u).visitAfter(o);for(t=0;t<a;++t){u=e[t];f=n[u.index],h=f*f;l=u.x+u.vx;c=u.y+u.vy;s.visit(v)}}function v(t,e,n,i,a){var o=t.data,s=t.r,p=f+s;if(o){if(o.index>u.index){var v=l-o.x-o.vx,d=c-o.y-o.vy,g=v*v+d*d;if(g<p*p){if(v===0)v=Tu(),g+=v*v;if(d===0)d=Tu(),g+=d*d;g=(p-(g=Math.sqrt(g)))/g*r;u.vx+=(v*=g)*(p=(s*=s)/(h+s));u.vy+=(d*=g)*p;o.vx-=v*(p=1-p);o.vy-=d*p}}return}return e>l+p||i<l-p||n>c+p||a<c-p}}function o(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e){if(t[e]&&t[e].r>t.r){t.r=t[e].r}}}function s(){if(!e)return;var r,i=e.length,a;n=new Array(i);for(r=0;r<i;++r)a=e[r],n[a.index]=+t(a,r,e)}a.initialize=function(t){e=t;s()};a.iterations=function(t){return arguments.length?(i=+t,a):i};a.strength=function(t){return arguments.length?(r=+t,a):r};a.radius=function(e){return arguments.length?(t=typeof e==="function"?e:Eu(+e),s(),a):t};return a};function el(t){return t.index}function nl(t,e){var n=t.get(e);if(!n)throw new Error("missing: "+e);return n}var rl=function(t){var e=el,n=c,r,i=Eu(30),a,o,s,u,l=1;if(t==null)t=[];function c(t){return 1/Math.min(s[t.source.index],s[t.target.index])}function f(e){for(var n=0,i=t.length;n<l;++n){for(var o=0,s,c,f,h,p,v,d;o<i;++o){s=t[o],c=s.source,f=s.target;h=f.x+f.vx-c.x-c.vx||Tu();p=f.y+f.vy-c.y-c.vy||Tu();v=Math.sqrt(h*h+p*p);v=(v-a[o])/v*e*r[o];h*=v,p*=v;f.vx-=h*(d=u[o]);f.vy-=p*d;c.vx+=h*(d=1-d);c.vy+=p*d}}}function h(){if(!o)return;var n,i=o.length,l=t.length,c=eu(o,e),f;for(n=0,s=new Array(i);n<l;++n){f=t[n],f.index=n;if(typeof f.source!=="object")f.source=nl(c,f.source);if(typeof f.target!=="object")f.target=nl(c,f.target);s[f.source.index]=(s[f.source.index]||0)+1;s[f.target.index]=(s[f.target.index]||0)+1}for(n=0,u=new Array(l);n<l;++n){f=t[n],u[n]=s[f.source.index]/(s[f.source.index]+s[f.target.index])}r=new Array(l),p();a=new Array(l),v()}function p(){if(!o)return;for(var e=0,i=t.length;e<i;++e){r[e]=+n(t[e],e,t)}}function v(){if(!o)return;for(var e=0,n=t.length;e<n;++e){a[e]=+i(t[e],e,t)}}f.initialize=function(t){o=t;h()};f.links=function(e){return arguments.length?(t=e,h(),f):t};f.id=function(t){return arguments.length?(e=t,f):e};f.iterations=function(t){return arguments.length?(l=+t,f):l};f.strength=function(t){return arguments.length?(n=typeof t==="function"?t:Eu(+t),p(),f):n};f.distance=function(t){return arguments.length?(i=typeof t==="function"?t:Eu(+t),v(),f):i};return f};function il(t){return t.x}function al(t){return t.y}var ol=10;var sl=Math.PI*(3-Math.sqrt(5));var ul=function(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),a=0,o=.6,s=eu(),u=Ui(c),l=ut("tick","end");if(t==null)t=[];function c(){f();l.call("tick",e);if(n<r){u.stop();l.call("end",e)}}function f(){var e,r=t.length,u;n+=(a-n)*i;s.each((function(t){t(n)}));for(e=0;e<r;++e){u=t[e];if(u.fx==null)u.x+=u.vx*=o;else u.x=u.fx,u.vx=0;if(u.fy==null)u.y+=u.vy*=o;else u.y=u.fy,u.vy=0}}function h(){for(var e=0,n=t.length,r;e<n;++e){r=t[e],r.index=e;if(isNaN(r.x)||isNaN(r.y)){var i=ol*Math.sqrt(e),a=e*sl;r.x=i*Math.cos(a);r.y=i*Math.sin(a)}if(isNaN(r.vx)||isNaN(r.vy)){r.vx=r.vy=0}}}function p(e){if(e.initialize)e.initialize(t);return e}h();return e={tick:f,restart:function(){return u.restart(c),e},stop:function(){return u.stop(),e},nodes:function(n){return arguments.length?(t=n,h(),s.each(p),e):t},alpha:function(t){return arguments.length?(n=+t,e):n},alphaMin:function(t){return arguments.length?(r=+t,e):r},alphaDecay:function(t){return arguments.length?(i=+t,e):+i},alphaTarget:function(t){return arguments.length?(a=+t,e):a},velocityDecay:function(t){return arguments.length?(o=1-t,e):1-o},force:function(t,n){return arguments.length>1?(n==null?s.remove(t):s.set(t,p(n)),e):s.get(t)},find:function(e,n,r){var i=0,a=t.length,o,s,u,l,c;if(r==null)r=Infinity;else r*=r;for(i=0;i<a;++i){l=t[i];o=e-l.x;s=n-l.y;u=o*o+s*s;if(u<r)c=l,r=u}return c},on:function(t,n){return arguments.length>1?(l.on(t,n),e):l.on(t)}}};var ll=function(){var t,e,n,r=Eu(-30),i,a=1,o=Infinity,s=.81;function u(r){var i,a=t.length,o=Ju(t,il,al).visitAfter(c);for(n=r,i=0;i<a;++i)e=t[i],o.visit(f)}function l(){if(!t)return;var e,n=t.length,a;i=new Array(n);for(e=0;e<n;++e)a=t[e],i[a.index]=+r(a,e,t)}function c(t){var e=0,n,r,a,o,s;if(t.length){for(a=o=s=0;s<4;++s){if((n=t[s])&&(r=n.value)){e+=r,a+=r*n.x,o+=r*n.y}}t.x=a/e;t.y=o/e}else{n=t;n.x=n.data.x;n.y=n.data.y;do{e+=i[n.data.index]}while(n=n.next)}t.value=e}function f(t,r,u,l){if(!t.value)return true;var c=t.x-e.x,f=t.y-e.y,h=l-r,p=c*c+f*f;if(h*h/s<p){if(p<o){if(c===0)c=Tu(),p+=c*c;if(f===0)f=Tu(),p+=f*f;if(p<a)p=Math.sqrt(a*p);e.vx+=c*t.value*n/p;e.vy+=f*t.value*n/p}return true}else if(t.length||p>=o)return;if(t.data!==e||t.next){if(c===0)c=Tu(),p+=c*c;if(f===0)f=Tu(),p+=f*f;if(p<a)p=Math.sqrt(a*p)}do{if(t.data!==e){h=i[t.data.index]*n/p;e.vx+=c*h;e.vy+=f*h}}while(t=t.next)}u.initialize=function(e){t=e;l()};u.strength=function(t){return arguments.length?(r=typeof t==="function"?t:Eu(+t),l(),u):r};u.distanceMin=function(t){return arguments.length?(a=t*t,u):Math.sqrt(a)};u.distanceMax=function(t){return arguments.length?(o=t*t,u):Math.sqrt(o)};u.theta=function(t){return arguments.length?(s=t*t,u):Math.sqrt(s)};return u};var cl=function(t){var e=Eu(.1),n,r,i;if(typeof t!=="function")t=Eu(t==null?0:+t);function a(t){for(var e=0,a=n.length,o;e<a;++e){o=n[e],o.vx+=(i[e]-o.x)*r[e]*t}}function o(){if(!n)return;var a,o=n.length;r=new Array(o);i=new Array(o);for(a=0;a<o;++a){r[a]=isNaN(i[a]=+t(n[a],a,n))?0:+e(n[a],a,n)}}a.initialize=function(t){n=t;o()};a.strength=function(t){return arguments.length?(e=typeof t==="function"?t:Eu(+t),o(),a):e};a.x=function(e){return arguments.length?(t=typeof e==="function"?e:Eu(+e),o(),a):t};return a};var fl=function(t){var e=Eu(.1),n,r,i;if(typeof t!=="function")t=Eu(t==null?0:+t);function a(t){for(var e=0,a=n.length,o;e<a;++e){o=n[e],o.vy+=(i[e]-o.y)*r[e]*t}}function o(){if(!n)return;var a,o=n.length;r=new Array(o);i=new Array(o);for(a=0;a<o;++a){r[a]=isNaN(i[a]=+t(n[a],a,n))?0:+e(n[a],a,n)}}a.initialize=function(t){n=t;o()};a.strength=function(t){return arguments.length?(e=typeof t==="function"?t:Eu(+t),o(),a):e};a.y=function(e){return arguments.length?(t=typeof e==="function"?e:Eu(+e),o(),a):t};return a};var hl=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)]};var pl=function(t){return t=hl(Math.abs(t)),t?t[1]:NaN};var vl=function(t,e){return function(n,r){var i=n.length,a=[],o=0,s=t[0],u=0;while(i>0&&s>0){if(u+s+1>r)s=Math.max(1,r-u);a.push(n.substring(i-=s,i+s));if((u+=s+1)>r)break;s=t[o=(o+1)%t.length]}return a.reverse().join(e)}};var dl=function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}};var gl=function(t,e){t=t.toPrecision(e);t:for(var n=t.length,r=1,i=-1,a;r<n;++r){switch(t[r]){case".":i=a=r;break;case"0":if(i===0)i=r;a=r;break;case"e":break t;default:if(i>0)i=0;break}}return i>0?t.slice(0,i)+t.slice(a+1):t};var yl;var ml=function(t,e){var n=hl(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(yl=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+hl(t,Math.max(0,e+a-1))[0]};var _l=function(t,e){var n=hl(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")};var bl={"":gl,"%":function(t,e){return(t*100).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 _l(t*100,e)},r:_l,s:ml,X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};var xl=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;function wl(t){return new kl(t)}wl.prototype=kl.prototype;function kl(t){if(!(e=xl.exec(t)))throw new Error("invalid format: "+t);var e,n=e[1]||" ",r=e[2]||">",i=e[3]||"-",a=e[4]||"",o=!!e[5],s=e[6]&&+e[6],u=!!e[7],l=e[8]&&+e[8].slice(1),c=e[9]||"";if(c==="n")u=true,c="g";else if(!bl[c])c="";if(o||n==="0"&&r==="=")o=true,n="0",r="=";this.fill=n;this.align=r;this.sign=i;this.symbol=a;this.zero=o;this.width=s;this.comma=u;this.precision=l;this.type=c}kl.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width==null?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision==null?"":"."+Math.max(0,this.precision|0))+this.type};var Al=function(t){return t};var Ml=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];var zl=function(t){var e=t.grouping&&t.thousands?vl(t.grouping,t.thousands):Al,n=t.currency,r=t.decimal,i=t.numerals?dl(t.numerals):Al,a=t.percent||"%";function o(t){t=wl(t);var o=t.fill,s=t.align,u=t.sign,l=t.symbol,c=t.zero,f=t.width,h=t.comma,p=t.precision,v=t.type;var d=l==="$"?n[0]:l==="#"&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",g=l==="$"?n[1]:/[%p]/.test(v)?a:"";var y=bl[v],m=!v||/[defgprs%]/.test(v);p=p==null?v?6:12:/[gprs]/.test(v)?Math.max(1,Math.min(21,p)):Math.max(0,Math.min(20,p));function _(t){var n=d,a=g,l,_,b;if(v==="c"){a=y(t)+a;t=""}else{t=+t;var x=t<0;t=y(Math.abs(t),p);if(x&&+t===0)x=false;n=(x?u==="("?u:"-":u==="-"||u==="("?"":u)+n;a=a+(v==="s"?Ml[8+yl/3]:"")+(x&&u==="("?")":"");if(m){l=-1,_=t.length;while(++l<_){if(b=t.charCodeAt(l),48>b||b>57){a=(b===46?r+t.slice(l+1):t.slice(l))+a;t=t.slice(0,l);break}}}}if(h&&!c)t=e(t,Infinity);var w=n.length+t.length+a.length,k=w<f?new Array(f-w+1).join(o):"";if(h&&c)t=e(k+t,k.length?f-a.length:Infinity),k="";switch(s){case"<":t=n+t+a+k;break;case"=":t=n+k+t+a;break;case"^":t=k.slice(0,w=k.length>>1)+n+t+a+k.slice(w);break;default:t=k+n+t+a;break}return i(t)}_.toString=function(){return t+""};return _}function s(t,e){var n=o((t=wl(t),t.type="f",t)),r=Math.max(-8,Math.min(8,Math.floor(pl(e)/3)))*3,i=Math.pow(10,-r),a=Ml[8+r/3];return function(t){return n(i*t)+a}}return{format:o,formatPrefix:s}};var Sl;El({decimal:".",thousands:",",grouping:[3],currency:["$",""]});function El(e){Sl=zl(e);t.format=Sl.format;t.formatPrefix=Sl.formatPrefix;return Sl}var Tl=function(t){return Math.max(0,-pl(Math.abs(t)))};var Cl=function(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(pl(e)/3)))*3-pl(Math.abs(t)))};var Nl=function(t,e){t=Math.abs(t),e=Math.abs(e)-t;return Math.max(0,pl(e)-pl(t))+1};var Pl=function(){return new Rl};function Rl(){this.reset()}Rl.prototype={constructor:Rl,reset:function(){this.s=this.t=0},add:function(t){Ol(Fl,t,this.t);Ol(this,Fl.s,this.s);if(this.s)this.t+=Fl.t;else this.s=Fl.t},valueOf:function(){return this.s}};var Fl=new Rl;function Ol(t,e,n){var r=t.s=e+n,i=r-e,a=r-i;t.t=e-a+(n-i)}var Bl=1e-6;var Dl=1e-12;var Ll=Math.PI;var Il=Ll/2;var jl=Ll/4;var Hl=Ll*2;var Ul=180/Ll;var ql=Ll/180;var Wl=Math.abs;var Gl=Math.atan;var Yl=Math.atan2;var Vl=Math.cos;var Jl=Math.ceil;var Xl=Math.exp;var Zl=Math.log;var Kl=Math.pow;var Ql=Math.sin;var $l=Math.sign||function(t){return t>0?1:t<0?-1:0};var tc=Math.sqrt;var ec=Math.tan;function nc(t){return t>1?0:t<-1?Ll:Math.acos(t)}function rc(t){return t>1?Il:t<-1?-Il:Math.asin(t)}function ic(t){return(t=Ql(t/2))*t}function ac(){}function oc(t,e){if(t&&uc.hasOwnProperty(t.type)){uc[t.type](t,e)}}var sc={Feature:function(t,e){oc(t.geometry,e)},FeatureCollection:function(t,e){var n=t.features,r=-1,i=n.length;while(++r<i)oc(n[r].geometry,e)}};var uc={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates;e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){lc(t.coordinates,e,0)},MultiLineString:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)lc(n[r],e,0)},Polygon:function(t,e){cc(t.coordinates,e)},MultiPolygon:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)cc(n[r],e)},GeometryCollection:function(t,e){var n=t.geometries,r=-1,i=n.length;while(++r<i)oc(n[r],e)}};function lc(t,e,n){var r=-1,i=t.length-n,a;e.lineStart();while(++r<i)a=t[r],e.point(a[0],a[1],a[2]);e.lineEnd()}function cc(t,e){var n=-1,r=t.length;e.polygonStart();while(++n<r)lc(t[n],e,1);e.polygonEnd()}var fc=function(t,e){if(t&&sc.hasOwnProperty(t.type)){sc[t.type](t,e)}else{oc(t,e)}};var hc=Pl();var pc=Pl();var vc;var dc;var gc;var yc;var mc;var _c={point:ac,lineStart:ac,lineEnd:ac,polygonStart:function(){hc.reset();_c.lineStart=bc;_c.lineEnd=xc},polygonEnd:function(){var t=+hc;pc.add(t<0?Hl+t:t);this.lineStart=this.lineEnd=this.point=ac},sphere:function(){pc.add(Hl)}};function bc(){_c.point=wc}function xc(){kc(vc,dc)}function wc(t,e){_c.point=kc;vc=t,dc=e;t*=ql,e*=ql;gc=t,yc=Vl(e=e/2+jl),mc=Ql(e)}function kc(t,e){t*=ql,e*=ql;e=e/2+jl;var n=t-gc,r=n>=0?1:-1,i=r*n,a=Vl(e),o=Ql(e),s=mc*o,u=yc*a+s*Vl(i),l=s*r*Ql(i);hc.add(Yl(l,u));gc=t,yc=a,mc=o}var Ac=function(t){pc.reset();fc(t,_c);return pc*2};function Mc(t){return[Yl(t[1],t[0]),rc(t[2])]}function zc(t){var e=t[0],n=t[1],r=Vl(n);return[r*Vl(e),r*Ql(e),Ql(n)]}function Sc(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ec(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Tc(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Cc(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Nc(t){var e=tc(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Pc;var Rc;var Fc;var Oc;var Bc;var Dc;var Lc;var Ic;var jc=Pl();var Hc;var Uc;var qc={point:Wc,lineStart:Yc,lineEnd:Vc,polygonStart:function(){qc.point=Jc;qc.lineStart=Xc;qc.lineEnd=Zc;jc.reset();_c.polygonStart()},polygonEnd:function(){_c.polygonEnd();qc.point=Wc;qc.lineStart=Yc;qc.lineEnd=Vc;if(hc<0)Pc=-(Fc=180),Rc=-(Oc=90);else if(jc>Bl)Oc=90;else if(jc<-Bl)Rc=-90;Uc[0]=Pc,Uc[1]=Fc}};function Wc(t,e){Hc.push(Uc=[Pc=t,Fc=t]);if(e<Rc)Rc=e;if(e>Oc)Oc=e}function Gc(t,e){var n=zc([t*ql,e*ql]);if(Ic){var r=Ec(Ic,n),i=[r[1],-r[0],0],a=Ec(i,r);Nc(a);a=Mc(a);var o=t-Bc,s=o>0?1:-1,u=a[0]*Ul*s,l,c=Wl(o)>180;if(c^(s*Bc<u&&u<s*t)){l=a[1]*Ul;if(l>Oc)Oc=l}else if(u=(u+360)%360-180,c^(s*Bc<u&&u<s*t)){l=-a[1]*Ul;if(l<Rc)Rc=l}else{if(e<Rc)Rc=e;if(e>Oc)Oc=e}if(c){if(t<Bc){if(Kc(Pc,t)>Kc(Pc,Fc))Fc=t}else{if(Kc(t,Fc)>Kc(Pc,Fc))Pc=t}}else{if(Fc>=Pc){if(t<Pc)Pc=t;if(t>Fc)Fc=t}else{if(t>Bc){if(Kc(Pc,t)>Kc(Pc,Fc))Fc=t}else{if(Kc(t,Fc)>Kc(Pc,Fc))Pc=t}}}}else{Hc.push(Uc=[Pc=t,Fc=t])}if(e<Rc)Rc=e;if(e>Oc)Oc=e;Ic=n,Bc=t}function Yc(){qc.point=Gc}function Vc(){Uc[0]=Pc,Uc[1]=Fc;qc.point=Wc;Ic=null}function Jc(t,e){if(Ic){var n=t-Bc;jc.add(Wl(n)>180?n+(n>0?360:-360):n)}else{Dc=t,Lc=e}_c.point(t,e);Gc(t,e)}function Xc(){_c.lineStart()}function Zc(){Jc(Dc,Lc);_c.lineEnd();if(Wl(jc)>Bl)Pc=-(Fc=180);Uc[0]=Pc,Uc[1]=Fc;Ic=null}function Kc(t,e){return(e-=t)<0?e+360:e}function Qc(t,e){return t[0]-e[0]}function $c(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}var tf=function(t){var e,n,r,i,a,o,s;Oc=Fc=-(Pc=Rc=Infinity);Hc=[];fc(t,qc);if(n=Hc.length){Hc.sort(Qc);for(e=1,r=Hc[0],a=[r];e<n;++e){i=Hc[e];if($c(r,i[0])||$c(r,i[1])){if(Kc(r[0],i[1])>Kc(r[0],r[1]))r[1]=i[1];if(Kc(i[0],r[1])>Kc(r[0],r[1]))r[0]=i[0]}else{a.push(r=i)}}for(o=-Infinity,n=a.length-1,e=0,r=a[n];e<=n;r=i,++e){i=a[e];if((s=Kc(r[1],i[0]))>o)o=s,Pc=i[0],Fc=r[1]}}Hc=Uc=null;return Pc===Infinity||Rc===Infinity?[[NaN,NaN],[NaN,NaN]]:[[Pc,Rc],[Fc,Oc]]};var ef;var nf;var rf;var af;var of;var sf;var uf;var lf;var cf;var ff;var hf;var pf;var vf;var df;var gf;var yf;var mf={sphere:ac,point:_f,lineStart:xf,lineEnd:Af,polygonStart:function(){mf.lineStart=Mf;mf.lineEnd=zf},polygonEnd:function(){mf.lineStart=xf;mf.lineEnd=Af}};function _f(t,e){t*=ql,e*=ql;var n=Vl(e);bf(n*Vl(t),n*Ql(t),Ql(e))}function bf(t,e,n){++ef;rf+=(t-rf)/ef;af+=(e-af)/ef;of+=(n-of)/ef}function xf(){mf.point=wf}function wf(t,e){t*=ql,e*=ql;var n=Vl(e);df=n*Vl(t);gf=n*Ql(t);yf=Ql(e);mf.point=kf;bf(df,gf,yf)}function kf(t,e){t*=ql,e*=ql;var n=Vl(e),r=n*Vl(t),i=n*Ql(t),a=Ql(e),o=Yl(tc((o=gf*a-yf*i)*o+(o=yf*r-df*a)*o+(o=df*i-gf*r)*o),df*r+gf*i+yf*a);nf+=o;sf+=o*(df+(df=r));uf+=o*(gf+(gf=i));lf+=o*(yf+(yf=a));bf(df,gf,yf)}function Af(){mf.point=_f}function Mf(){mf.point=Sf}function zf(){Ef(pf,vf);mf.point=_f}function Sf(t,e){pf=t,vf=e;t*=ql,e*=ql;mf.point=Ef;var n=Vl(e);df=n*Vl(t);gf=n*Ql(t);yf=Ql(e);bf(df,gf,yf)}function Ef(t,e){t*=ql,e*=ql;var n=Vl(e),r=n*Vl(t),i=n*Ql(t),a=Ql(e),o=gf*a-yf*i,s=yf*r-df*a,u=df*i-gf*r,l=tc(o*o+s*s+u*u),c=rc(l),f=l&&-c/l;cf+=f*o;ff+=f*s;hf+=f*u;nf+=c;sf+=c*(df+(df=r));uf+=c*(gf+(gf=i));lf+=c*(yf+(yf=a));bf(df,gf,yf)}var Tf=function(t){ef=nf=rf=af=of=sf=uf=lf=cf=ff=hf=0;fc(t,mf);var e=cf,n=ff,r=hf,i=e*e+n*n+r*r;if(i<Dl){e=sf,n=uf,r=lf;if(nf<Bl)e=rf,n=af,r=of;i=e*e+n*n+r*r;if(i<Dl)return[NaN,NaN]}return[Yl(n,e)*Ul,rc(r/tc(i))*Ul]};var Cf=function(t){return function(){return t}};var Nf=function(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}if(t.invert&&e.invert)n.invert=function(n,r){return n=e.invert(n,r),n&&t.invert(n[0],n[1])};return n};function Pf(t,e){return[t>Ll?t-Hl:t<-Ll?t+Hl:t,e]}Pf.invert=Pf;function Rf(t,e,n){return(t%=Hl)?e||n?Nf(Of(t),Bf(e,n)):Of(t):e||n?Bf(e,n):Pf}function Ff(t){return function(e,n){return e+=t,[e>Ll?e-Hl:e<-Ll?e+Hl:e,n]}}function Of(t){var e=Ff(t);e.invert=Ff(-t);return e}function Bf(t,e){var n=Vl(t),r=Ql(t),i=Vl(e),a=Ql(e);function o(t,e){var o=Vl(e),s=Vl(t)*o,u=Ql(t)*o,l=Ql(e),c=l*n+s*r;return[Yl(u*i-c*a,s*n-l*r),rc(c*i+u*a)]}o.invert=function(t,e){var o=Vl(e),s=Vl(t)*o,u=Ql(t)*o,l=Ql(e),c=l*i-u*a;return[Yl(u*i+l*a,s*n+c*r),rc(c*n-s*r)]};return o}var Df=function(t){t=Rf(t[0]*ql,t[1]*ql,t.length>2?t[2]*ql:0);function e(e){e=t(e[0]*ql,e[1]*ql);return e[0]*=Ul,e[1]*=Ul,e}e.invert=function(e){e=t.invert(e[0]*ql,e[1]*ql);return e[0]*=Ul,e[1]*=Ul,e};return e};function Lf(t,e,n,r,i,a){if(!n)return;var o=Vl(e),s=Ql(e),u=r*n;if(i==null){i=e+r*Hl;a=e-u/2}else{i=If(o,i);a=If(o,a);if(r>0?i<a:i>a)i+=r*Hl}for(var l,c=i;r>0?c>a:c<a;c-=u){l=Mc([o,-s*Vl(c),-s*Ql(c)]);t.point(l[0],l[1])}}function If(t,e){e=zc(e),e[0]-=t;Nc(e);var n=nc(-e[1]);return((-e[2]<0?-n:n)+Hl-Bl)%Hl}var jf=function(){var t=Cf([0,0]),e=Cf(90),n=Cf(6),r,i,a={point:o};function o(t,e){r.push(t=i(t,e));t[0]*=Ul,t[1]*=Ul}function s(){var o=t.apply(this,arguments),s=e.apply(this,arguments)*ql,u=n.apply(this,arguments)*ql;r=[];i=Rf(-o[0]*ql,-o[1]*ql,0).invert;Lf(a,s,u,1);o={type:"Polygon",coordinates:[r]};r=i=null;return o}s.center=function(e){return arguments.length?(t=typeof e==="function"?e:Cf([+e[0],+e[1]]),s):t};s.radius=function(t){return arguments.length?(e=typeof t==="function"?t:Cf(+t),s):e};s.precision=function(t){return arguments.length?(n=typeof t==="function"?t:Cf(+t),s):n};return s};var Hf=function(){var t=[],e;return{point:function(t,n){e.push([t,n])},lineStart:function(){t.push(e=[])},lineEnd:ac,rejoin:function(){if(t.length>1)t.push(t.pop().concat(t.shift()))},result:function(){var n=t;t=[];e=null;return n}}};var Uf=function(t,e,n,r,i,a){var o=t[0],s=t[1],u=e[0],l=e[1],c=0,f=1,h=u-o,p=l-s,v;v=n-o;if(!h&&v>0)return;v/=h;if(h<0){if(v<c)return;if(v<f)f=v}else if(h>0){if(v>f)return;if(v>c)c=v}v=i-o;if(!h&&v<0)return;v/=h;if(h<0){if(v>f)return;if(v>c)c=v}else if(h>0){if(v<c)return;if(v<f)f=v}v=r-s;if(!p&&v>0)return;v/=p;if(p<0){if(v<c)return;if(v<f)f=v}else if(p>0){if(v>f)return;if(v>c)c=v}v=a-s;if(!p&&v<0)return;v/=p;if(p<0){if(v>f)return;if(v>c)c=v}else if(p>0){if(v<c)return;if(v<f)f=v}if(c>0)t[0]=o+c*h,t[1]=s+c*p;if(f<1)e[0]=o+f*h,e[1]=s+f*p;return true};var qf=function(t,e){return Wl(t[0]-e[0])<Bl&&Wl(t[1]-e[1])<Bl};function Wf(t,e,n,r){this.x=t;this.z=e;this.o=n;this.e=r;this.v=false;this.n=this.p=null}var Gf=function(t,e,n,r,i){var a=[],o=[],s,u;t.forEach((function(t){if((e=t.length-1)<=0)return;var e,n=t[0],r=t[e],u;if(qf(n,r)){i.lineStart();for(s=0;s<e;++s)i.point((n=t[s])[0],n[1]);i.lineEnd();return}a.push(u=new Wf(n,t,null,true));o.push(u.o=new Wf(n,null,u,false));a.push(u=new Wf(r,t,null,false));o.push(u.o=new Wf(r,null,u,true))}));if(!a.length)return;o.sort(e);Yf(a);Yf(o);for(s=0,u=o.length;s<u;++s){o[s].e=n=!n}var l=a[0],c,f;while(1){var h=l,p=true;while(h.v)if((h=h.n)===l)return;c=h.z;i.lineStart();do{h.v=h.o.v=true;if(h.e){if(p){for(s=0,u=c.length;s<u;++s)i.point((f=c[s])[0],f[1])}else{r(h.x,h.n.x,1,i)}h=h.n}else{if(p){c=h.p.z;for(s=c.length-1;s>=0;--s)i.point((f=c[s])[0],f[1])}else{r(h.x,h.p.x,-1,i)}h=h.p}h=h.o;c=h.z;p=!p}while(!h.v);i.lineEnd()}};function Yf(t){if(!(e=t.length))return;var e,n=0,r=t[0],i;while(++n<e){r.n=i=t[n];i.p=r;r=i}r.n=i=t[0];i.p=r}var Vf=1e9;var Jf=-Vf;function Xf(t,e,n,r){function i(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function a(i,a,s,l){var c=0,f=0;if(i==null||(c=o(i,s))!==(f=o(a,s))||u(i,a)<0^s>0){do{l.point(c===0||c===3?t:n,c>1?r:e)}while((c=(c+s+4)%4)!==f)}else{l.point(a[0],a[1])}}function o(r,i){return Wl(r[0]-t)<Bl?i>0?0:3:Wl(r[0]-n)<Bl?i>0?2:1:Wl(r[1]-e)<Bl?i>0?1:0:i>0?3:2}function s(t,e){return u(t.x,e.x)}function u(t,e){var n=o(t,1),r=o(e,1);return n!==r?n-r:n===0?e[1]-t[1]:n===1?t[0]-e[0]:n===2?t[1]-e[1]:e[0]-t[0]}return function(o){var u=o,l=Hf(),c,f,h,p,v,d,g,y,m,_,b;var x={point:w,lineStart:z,lineEnd:S,polygonStart:A,polygonEnd:M};function w(t,e){if(i(t,e))u.point(t,e)}function k(){var e=0;for(var n=0,i=f.length;n<i;++n){for(var a=f[n],o=1,s=a.length,u=a[0],l,c,h=u[0],p=u[1];o<s;++o){l=h,c=p,u=a[o],h=u[0],p=u[1];if(c<=r){if(p>r&&(h-l)*(r-c)>(p-c)*(t-l))++e}else{if(p<=r&&(h-l)*(r-c)<(p-c)*(t-l))--e}}}return e}function A(){u=l,c=[],f=[],b=true}function M(){var t=k(),e=b&&t,n=(c=B(c)).length;if(e||n){o.polygonStart();if(e){o.lineStart();a(null,null,1,o);o.lineEnd()}if(n){Gf(c,s,t,a,o)}o.polygonEnd()}u=o,c=f=h=null}function z(){x.point=E;if(f)f.push(h=[]);_=true;m=false;g=y=NaN}function S(){if(c){E(p,v);if(d&&m)l.rejoin();c.push(l.result())}x.point=w;if(m)u.lineEnd()}function E(a,o){var s=i(a,o);if(f)h.push([a,o]);if(_){p=a,v=o,d=s;_=false;if(s){u.lineStart();u.point(a,o)}}else{if(s&&m)u.point(a,o);else{var l=[g=Math.max(Jf,Math.min(Vf,g)),y=Math.max(Jf,Math.min(Vf,y))],c=[a=Math.max(Jf,Math.min(Vf,a)),o=Math.max(Jf,Math.min(Vf,o))];if(Uf(l,c,t,e,n,r)){if(!m){u.lineStart();u.point(l[0],l[1])}u.point(c[0],c[1]);if(!s)u.lineEnd();b=false}else if(s){u.lineStart();u.point(a,o);b=false}}}g=a,y=o,m=s}return x}}var Zf=function(){var t=0,e=0,n=960,r=500,i,a,o;return o={stream:function(o){return i&&a===o?i:i=Xf(t,e,n,r)(a=o)},extent:function(s){return arguments.length?(t=+s[0][0],e=+s[0][1],n=+s[1][0],r=+s[1][1],i=a=null,o):[[t,e],[n,r]]}}};var Kf=Pl();var Qf=function(t,e){var n=e[0],r=e[1],i=[Ql(n),-Vl(n),0],a=0,o=0;Kf.reset();for(var s=0,u=t.length;s<u;++s){if(!(c=(l=t[s]).length))continue;var l,c,f=l[c-1],h=f[0],p=f[1]/2+jl,v=Ql(p),d=Vl(p);for(var g=0;g<c;++g,h=m,v=b,d=x,f=y){var y=l[g],m=y[0],_=y[1]/2+jl,b=Ql(_),x=Vl(_),w=m-h,k=w>=0?1:-1,A=k*w,M=A>Ll,z=v*b;Kf.add(Yl(z*k*Ql(A),d*x+z*Vl(A)));a+=M?w+k*Hl:w;if(M^h>=n^m>=n){var S=Ec(zc(f),zc(y));Nc(S);var E=Ec(i,S);Nc(E);var T=(M^w>=0?-1:1)*rc(E[2]);if(r>T||r===T&&(S[0]||S[1])){o+=M^w>=0?1:-1}}}}return(a<-Bl||a<Bl&&Kf<-Bl)^o&1};var $f=Pl();var th;var eh;var nh;var rh={sphere:ac,point:ac,lineStart:ih,lineEnd:ac,polygonStart:ac,polygonEnd:ac};function ih(){rh.point=oh;rh.lineEnd=ah}function ah(){rh.point=rh.lineEnd=ac}function oh(t,e){t*=ql,e*=ql;th=t,eh=Ql(e),nh=Vl(e);rh.point=sh}function sh(t,e){t*=ql,e*=ql;var n=Ql(e),r=Vl(e),i=Wl(t-th),a=Vl(i),o=Ql(i),s=r*o,u=nh*n-eh*r*a,l=eh*n+nh*r*a;$f.add(Yl(tc(s*s+u*u),l));th=t,eh=n,nh=r}var uh=function(t){$f.reset();fc(t,rh);return+$f};var lh=[null,null];var ch={type:"LineString",coordinates:lh};var fh=function(t,e){lh[0]=t;lh[1]=e;return uh(ch)};var hh={Feature:function(t,e){return vh(t.geometry,e)},FeatureCollection:function(t,e){var n=t.features,r=-1,i=n.length;while(++r<i)if(vh(n[r].geometry,e))return true;return false}};var ph={Sphere:function(){return true},Point:function(t,e){return dh(t.coordinates,e)},MultiPoint:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)if(dh(n[r],e))return true;return false},LineString:function(t,e){return gh(t.coordinates,e)},MultiLineString:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)if(gh(n[r],e))return true;return false},Polygon:function(t,e){return yh(t.coordinates,e)},MultiPolygon:function(t,e){var n=t.coordinates,r=-1,i=n.length;while(++r<i)if(yh(n[r],e))return true;return false},GeometryCollection:function(t,e){var n=t.geometries,r=-1,i=n.length;while(++r<i)if(vh(n[r],e))return true;return false}};function vh(t,e){return t&&ph.hasOwnProperty(t.type)?ph[t.type](t,e):false}function dh(t,e){return fh(t,e)===0}function gh(t,e){var n=fh(t[0],t[1]),r=fh(t[0],e),i=fh(e,t[1]);return r+i<=n+Bl}function yh(t,e){return!!Qf(t.map(mh),_h(e))}function mh(t){return t=t.map(_h),t.pop(),t}function _h(t){return[t[0]*ql,t[1]*ql]}var bh=function(t,e){return(t&&hh.hasOwnProperty(t.type)?hh[t.type]:vh)(t,e)};function xh(t,e,n){var r=x(t,e-Bl,n).concat(e);return function(t){return r.map((function(e){return[t,e]}))}}function wh(t,e,n){var r=x(t,e-Bl,n).concat(e);return function(t){return r.map((function(e){return[e,t]}))}}function kh(){var t,e,n,r,i,a,o,s,u=10,l=u,c=90,f=360,h,p,v,d,g=2.5;function y(){return{type:"MultiLineString",coordinates:m()}}function m(){return x(Jl(r/c)*c,n,c).map(v).concat(x(Jl(s/f)*f,o,f).map(d)).concat(x(Jl(e/u)*u,t,u).filter((function(t){return Wl(t%c)>Bl})).map(h)).concat(x(Jl(a/l)*l,i,l).filter((function(t){return Wl(t%f)>Bl})).map(p))}y.lines=function(){return m().map((function(t){return{type:"LineString",coordinates:t}}))};y.outline=function(){return{type:"Polygon",coordinates:[v(r).concat(d(o).slice(1),v(n).reverse().slice(1),d(s).reverse().slice(1))]}};y.extent=function(t){if(!arguments.length)return y.extentMinor();return y.extentMajor(t).extentMinor(t)};y.extentMajor=function(t){if(!arguments.length)return[[r,s],[n,o]];r=+t[0][0],n=+t[1][0];s=+t[0][1],o=+t[1][1];if(r>n)t=r,r=n,n=t;if(s>o)t=s,s=o,o=t;return y.precision(g)};y.extentMinor=function(n){if(!arguments.length)return[[e,a],[t,i]];e=+n[0][0],t=+n[1][0];a=+n[0][1],i=+n[1][1];if(e>t)n=e,e=t,t=n;if(a>i)n=a,a=i,i=n;return y.precision(g)};y.step=function(t){if(!arguments.length)return y.stepMinor();return y.stepMajor(t).stepMinor(t)};y.stepMajor=function(t){if(!arguments.length)return[c,f];c=+t[0],f=+t[1];return y};y.stepMinor=function(t){if(!arguments.length)return[u,l];u=+t[0],l=+t[1];return y};y.precision=function(u){if(!arguments.length)return g;g=+u;h=xh(a,i,90);p=wh(e,t,g);v=xh(s,o,90);d=wh(r,n,g);return y};return y.extentMajor([[-180,-90+Bl],[180,90-Bl]]).extentMinor([[-180,-80-Bl],[180,80+Bl]])}function Ah(){return kh()()}var Mh=function(t,e){var n=t[0]*ql,r=t[1]*ql,i=e[0]*ql,a=e[1]*ql,o=Vl(r),s=Ql(r),u=Vl(a),l=Ql(a),c=o*Vl(n),f=o*Ql(n),h=u*Vl(i),p=u*Ql(i),v=2*rc(tc(ic(a-r)+o*u*ic(i-n))),d=Ql(v);var g=v?function(t){var e=Ql(t*=v)/d,n=Ql(v-t)/d,r=n*c+e*h,i=n*f+e*p,a=n*s+e*l;return[Yl(i,r)*Ul,Yl(a,tc(r*r+i*i))*Ul]}:function(){return[n*Ul,r*Ul]};g.distance=v;return g};var zh=function(t){return t};var Sh=Pl();var Eh=Pl();var Th;var Ch;var Nh;var Ph;var Rh={point:ac,lineStart:ac,lineEnd:ac,polygonStart:function(){Rh.lineStart=Fh;Rh.lineEnd=Dh},polygonEnd:function(){Rh.lineStart=Rh.lineEnd=Rh.point=ac;Sh.add(Wl(Eh));Eh.reset()},result:function(){var t=Sh/2;Sh.reset();return t}};function Fh(){Rh.point=Oh}function Oh(t,e){Rh.point=Bh;Th=Nh=t,Ch=Ph=e}function Bh(t,e){Eh.add(Ph*t-Nh*e);Nh=t,Ph=e}function Dh(){Bh(Th,Ch)}var Lh=Infinity;var Ih=Lh;var jh=-Lh;var Hh=jh;var Uh={point:qh,lineStart:ac,lineEnd:ac,polygonStart:ac,polygonEnd:ac,result:function(){var t=[[Lh,Ih],[jh,Hh]];jh=Hh=-(Ih=Lh=Infinity);return t}};function qh(t,e){if(t<Lh)Lh=t;if(t>jh)jh=t;if(e<Ih)Ih=e;if(e>Hh)Hh=e}var Wh=0;var Gh=0;var Yh=0;var Vh=0;var Jh=0;var Xh=0;var Zh=0;var Kh=0;var Qh=0;var $h;var tp;var ep;var np;var rp={point:ip,lineStart:ap,lineEnd:up,polygonStart:function(){rp.lineStart=lp;rp.lineEnd=cp},polygonEnd:function(){rp.point=ip;rp.lineStart=ap;rp.lineEnd=up},result:function(){var t=Qh?[Zh/Qh,Kh/Qh]:Xh?[Vh/Xh,Jh/Xh]:Yh?[Wh/Yh,Gh/Yh]:[NaN,NaN];Wh=Gh=Yh=Vh=Jh=Xh=Zh=Kh=Qh=0;return t}};function ip(t,e){Wh+=t;Gh+=e;++Yh}function ap(){rp.point=op}function op(t,e){rp.point=sp;ip(ep=t,np=e)}function sp(t,e){var n=t-ep,r=e-np,i=tc(n*n+r*r);Vh+=i*(ep+t)/2;Jh+=i*(np+e)/2;Xh+=i;ip(ep=t,np=e)}function up(){rp.point=ip}function lp(){rp.point=fp}function cp(){hp($h,tp)}function fp(t,e){rp.point=hp;ip($h=ep=t,tp=np=e)}function hp(t,e){var n=t-ep,r=e-np,i=tc(n*n+r*r);Vh+=i*(ep+t)/2;Jh+=i*(np+e)/2;Xh+=i;i=np*t-ep*e;Zh+=i*(ep+t);Kh+=i*(np+e);Qh+=i*3;ip(ep=t,np=e)}function pp(t){this._context=t}pp.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(){if(this._line===0)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,Hl);break}}},result:ac};var vp=Pl();var dp;var gp;var yp;var mp;var _p;var bp={point:ac,lineStart:function(){bp.point=xp},lineEnd:function(){if(dp)wp(gp,yp);bp.point=ac},polygonStart:function(){dp=true},polygonEnd:function(){dp=null},result:function(){var t=+vp;vp.reset();return t}};function xp(t,e){bp.point=wp;gp=mp=t,yp=_p=e}function wp(t,e){mp-=t,_p-=e;vp.add(tc(mp*mp+_p*_p));mp=t,_p=e}function kp(){this._string=[]}kp.prototype={_radius:4.5,_circle:Ap(4.5),pointRadius:function(t){if((t=+t)!==this._radius)this._radius=t,this._circle=null;return this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)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:{if(this._circle==null)this._circle=Ap(this._radius);this._string.push("M",t,",",e,this._circle);break}}},result:function(){if(this._string.length){var t=this._string.join("");this._string=[];return t}else{return null}}};function Ap(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var Mp=function(t,e){var n=4.5,r,i;function a(t){if(t){if(typeof n==="function")i.pointRadius(+n.apply(this,arguments));fc(t,r(i))}return i.result()}a.area=function(t){fc(t,r(Rh));return Rh.result()};a.measure=function(t){fc(t,r(bp));return bp.result()};a.bounds=function(t){fc(t,r(Uh));return Uh.result()};a.centroid=function(t){fc(t,r(rp));return rp.result()};a.projection=function(e){return arguments.length?(r=e==null?(t=null,zh):(t=e).stream,a):t};a.context=function(t){if(!arguments.length)return e;i=t==null?(e=null,new kp):new pp(e=t);if(typeof n!=="function")i.pointRadius(n);return a};a.pointRadius=function(t){if(!arguments.length)return n;n=typeof t==="function"?t:(i.pointRadius(+t),+t);return a};return a.projection(t).context(e)};var zp=function(t,e,n,r){return function(i,a){var o=e(a),s=i.invert(r[0],r[1]),u=Hf(),l=e(u),c=false,f,h,p;var v={point:d,lineStart:y,lineEnd:m,polygonStart:function(){v.point=_;v.lineStart=b;v.lineEnd=x;h=[];f=[]},polygonEnd:function(){v.point=d;v.lineStart=y;v.lineEnd=m;h=B(h);var t=Qf(f,s);if(h.length){if(!c)a.polygonStart(),c=true;Gf(h,Ep,t,n,a)}else if(t){if(!c)a.polygonStart(),c=true;a.lineStart();n(null,null,1,a);a.lineEnd()}if(c)a.polygonEnd(),c=false;h=f=null},sphere:function(){a.polygonStart();a.lineStart();n(null,null,1,a);a.lineEnd();a.polygonEnd()}};function d(e,n){var r=i(e,n);if(t(e=r[0],n=r[1]))a.point(e,n)}function g(t,e){var n=i(t,e);o.point(n[0],n[1])}function y(){v.point=g;o.lineStart()}function m(){v.point=d;o.lineEnd()}function _(t,e){p.push([t,e]);var n=i(t,e);l.point(n[0],n[1])}function b(){l.lineStart();p=[]}function x(){_(p[0][0],p[0][1]);l.lineEnd();var t=l.clean(),e=u.result(),n,r=e.length,i,o,s;p.pop();f.push(p);p=null;if(!r)return;if(t&1){o=e[0];if((i=o.length-1)>0){if(!c)a.polygonStart(),c=true;a.lineStart();for(n=0;n<i;++n)a.point((s=o[n])[0],s[1]);a.lineEnd()}return}if(r>1&&t&2)e.push(e.pop().concat(e.shift()));h.push(e.filter(Sp))}return v}};function Sp(t){return t.length>1}function Ep(t,e){return((t=t.x)[0]<0?t[1]-Il-Bl:Il-t[1])-((e=e.x)[0]<0?e[1]-Il-Bl:Il-e[1])}var Tp=zp((function(){return true}),Cp,Pp,[-Ll,-Il]);function Cp(t){var e=NaN,n=NaN,r=NaN,i;return{lineStart:function(){t.lineStart();i=1},point:function(a,o){var s=a>0?Ll:-Ll,u=Wl(a-e);if(Wl(u-Ll)<Bl){t.point(e,n=(n+o)/2>0?Il:-Il);t.point(r,n);t.lineEnd();t.lineStart();t.point(s,n);t.point(a,n);i=0}else if(r!==s&&u>=Ll){if(Wl(e-r)<Bl)e-=r*Bl;if(Wl(a-s)<Bl)a-=s*Bl;n=Np(e,n,a,o);t.point(r,n);t.lineEnd();t.lineStart();t.point(s,n);i=0}t.point(e=a,n=o);r=s},lineEnd:function(){t.lineEnd();e=n=NaN},clean:function(){return 2-i}}}function Np(t,e,n,r){var i,a,o=Ql(t-n);return Wl(o)>Bl?Gl((Ql(e)*(a=Vl(r))*Ql(n)-Ql(r)*(i=Vl(e))*Ql(t))/(i*a*o)):(e+r)/2}function Pp(t,e,n,r){var i;if(t==null){i=n*Il;r.point(-Ll,i);r.point(0,i);r.point(Ll,i);r.point(Ll,0);r.point(Ll,-i);r.point(0,-i);r.point(-Ll,-i);r.point(-Ll,0);r.point(-Ll,i)}else if(Wl(t[0]-e[0])>Bl){var a=t[0]<e[0]?Ll:-Ll;i=n*a/2;r.point(-a,i);r.point(0,i);r.point(a,i)}else{r.point(e[0],e[1])}}var Rp=function(t,e){var n=Vl(t),r=n>0,i=Wl(n)>Bl;function a(n,r,i,a){Lf(a,t,e,i,n,r)}function o(t,e){return Vl(t)*Vl(e)>n}function s(t){var e,n,a,s,c;return{lineStart:function(){s=a=false;c=1},point:function(f,h){var p=[f,h],v,d=o(f,h),g=r?d?0:l(f,h):d?l(f+(f<0?Ll:-Ll),h):0;if(!e&&(s=a=d))t.lineStart();if(d!==a){v=u(e,p);if(!v||qf(e,v)||qf(p,v)){p[0]+=Bl;p[1]+=Bl;d=o(p[0],p[1])}}if(d!==a){c=0;if(d){t.lineStart();v=u(p,e);t.point(v[0],v[1])}else{v=u(e,p);t.point(v[0],v[1]);t.lineEnd()}e=v}else if(i&&e&&r^d){var y;if(!(g&n)&&(y=u(p,e,true))){c=0;if(r){t.lineStart();t.point(y[0][0],y[0][1]);t.point(y[1][0],y[1][1]);t.lineEnd()}else{t.point(y[1][0],y[1][1]);t.lineEnd();t.lineStart();t.point(y[0][0],y[0][1])}}}if(d&&(!e||!qf(e,p))){t.point(p[0],p[1])}e=p,a=d,n=g},lineEnd:function(){if(a)t.lineEnd();e=null},clean:function(){return c|(s&&a)<<1}}}function u(t,e,r){var i=zc(t),a=zc(e);var o=[1,0,0],s=Ec(i,a),u=Sc(s,s),l=s[0],c=u-l*l;if(!c)return!r&&t;var f=n*u/c,h=-n*l/c,p=Ec(o,s),v=Cc(o,f),d=Cc(s,h);Tc(v,d);var g=p,y=Sc(v,g),m=Sc(g,g),_=y*y-m*(Sc(v,v)-1);if(_<0)return;var b=tc(_),x=Cc(g,(-y-b)/m);Tc(x,v);x=Mc(x);if(!r)return x;var w=t[0],k=e[0],A=t[1],M=e[1],z;if(k<w)z=w,w=k,k=z;var S=k-w,E=Wl(S-Ll)<Bl,T=E||S<Bl;if(!E&&M<A)z=A,A=M,M=z;if(T?E?A+M>0^x[1]<(Wl(x[0]-w)<Bl?A:M):A<=x[1]&&x[1]<=M:S>Ll^(w<=x[0]&&x[0]<=k)){var C=Cc(g,(-y+b)/m);Tc(C,v);return[x,Mc(C)]}}function l(e,n){var i=r?t:Ll-t,a=0;if(e<-i)a|=1;else if(e>i)a|=2;if(n<-i)a|=4;else if(n>i)a|=8;return a}return zp(o,s,a,r?[0,-t]:[-Ll,t-Ll])};var Fp=function(t){return{stream:Op(t)}};function Op(t){return function(e){var n=new Bp;for(var r in t)n[r]=t[r];n.stream=e;return n}}function Bp(){}Bp.prototype={constructor:Bp,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()}};function Dp(t,e,n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]);if(a!=null)t.clipExtent(null);fc(n,t.stream(Uh));var o=Uh.result(),s=Math.min(r/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),u=+e[0][0]+(r-s*(o[1][0]+o[0][0]))/2,l=+e[0][1]+(i-s*(o[1][1]+o[0][1]))/2;if(a!=null)t.clipExtent(a);return t.scale(s*150).translate([u,l])}function Lp(t,e,n){return Dp(t,[[0,0],e],n)}var Ip=16;var jp=Vl(30*ql);var Hp=function(t,e){return+e?qp(t,e):Up(t)};function Up(t){return Op({point:function(e,n){e=t(e,n);this.stream.point(e[0],e[1])}})}function qp(t,e){function n(r,i,a,o,s,u,l,c,f,h,p,v,d,g){var y=l-r,m=c-i,_=y*y+m*m;if(_>4*e&&d--){var b=o+h,x=s+p,w=u+v,k=tc(b*b+x*x+w*w),A=rc(w/=k),M=Wl(Wl(w)-1)<Bl||Wl(a-f)<Bl?(a+f)/2:Yl(x,b),z=t(M,A),S=z[0],E=z[1],T=S-r,C=E-i,N=m*T-y*C;if(N*N/_>e||Wl((y*T+m*C)/_-.5)>.3||o*h+s*p+u*v<jp){n(r,i,a,o,s,u,S,E,M,b/=k,x/=k,w,d,g);g.point(S,E);n(S,E,M,b,x,w,l,c,f,h,p,v,d,g)}}}return function(e){var r,i,a,o,s,u,l,c,f,h,p,v;var d={point:g,lineStart:y,lineEnd:_,polygonStart:function(){e.polygonStart();d.lineStart=b},polygonEnd:function(){e.polygonEnd();d.lineStart=y}};function g(n,r){n=t(n,r);e.point(n[0],n[1])}function y(){c=NaN;d.point=m;e.lineStart()}function m(r,i){var a=zc([r,i]),o=t(r,i);n(c,f,l,h,p,v,c=o[0],f=o[1],l=r,h=a[0],p=a[1],v=a[2],Ip,e);e.point(c,f)}function _(){d.point=g;e.lineEnd()}function b(){y();d.point=x;d.lineEnd=w}function x(t,e){m(r=t,e),i=c,a=f,o=h,s=p,u=v;d.point=m}function w(){n(c,f,l,h,p,v,i,a,r,o,s,u,Ip,e);d.lineEnd=_;_()}return d}}var Wp=Op({point:function(t,e){this.stream.point(t*ql,e*ql)}});function Gp(t){return Yp((function(){return t}))()}function Yp(t){var e,n=150,r=480,i=250,a,o,s=0,u=0,l=0,c=0,f=0,h,p,v=null,d=Tp,g=null,y,m,_,b=zh,x=.5,w=Hp(S,x),k,A;function M(t){t=p(t[0]*ql,t[1]*ql);return[t[0]*n+a,o-t[1]*n]}function z(t){t=p.invert((t[0]-a)/n,(o-t[1])/n);return t&&[t[0]*Ul,t[1]*Ul]}function S(t,r){return t=e(t,r),[t[0]*n+a,o-t[1]*n]}M.stream=function(t){return k&&A===t?k:k=Wp(d(h,w(b(A=t))))};M.clipAngle=function(t){return arguments.length?(d=+t?Rp(v=t*ql,6*ql):(v=null,Tp),T()):v*Ul};M.clipExtent=function(t){return arguments.length?(b=t==null?(g=y=m=_=null,zh):Xf(g=+t[0][0],y=+t[0][1],m=+t[1][0],_=+t[1][1]),T()):g==null?null:[[g,y],[m,_]]};M.scale=function(t){return arguments.length?(n=+t,E()):n};M.translate=function(t){return arguments.length?(r=+t[0],i=+t[1],E()):[r,i]};M.center=function(t){return arguments.length?(s=t[0]%360*ql,u=t[1]%360*ql,E()):[s*Ul,u*Ul]};M.rotate=function(t){return arguments.length?(l=t[0]%360*ql,c=t[1]%360*ql,f=t.length>2?t[2]%360*ql:0,E()):[l*Ul,c*Ul,f*Ul]};M.precision=function(t){return arguments.length?(w=Hp(S,x=t*t),T()):tc(x)};M.fitExtent=function(t,e){return Dp(M,t,e)};M.fitSize=function(t,e){return Lp(M,t,e)};function E(){p=Nf(h=Rf(l,c,f),e);var t=e(s,u);a=r-t[0]*n;o=i+t[1]*n;return T()}function T(){k=A=null;return M}return function(){e=t.apply(this,arguments);M.invert=e.invert&&z;return E()}}function Vp(t){var e=0,n=Ll/3,r=Yp(t),i=r(e,n);i.parallels=function(t){return arguments.length?r(e=t[0]*ql,n=t[1]*ql):[e*Ul,n*Ul]};return i}function Jp(t){var e=Vl(t);function n(t,n){return[t*e,Ql(n)/e]}n.invert=function(t,n){return[t/e,rc(n*e)]};return n}function Xp(t,e){var n=Ql(t),r=(n+Ql(e))/2;if(Wl(r)<Bl)return Jp(t);var i=1+n*(2*r-n),a=tc(i)/r;function o(t,e){var n=tc(i-2*r*Ql(e))/r;return[n*Ql(t*=r),a-n*Vl(t)]}o.invert=function(t,e){var n=a-e;return[Yl(t,Wl(n))/r*$l(n),rc((i-(t*t+n*n)*r*r)/(2*r))]};return o}var Zp=function(){return Vp(Xp).scale(155.424).center([0,33.6442])};var Kp=function(){return Zp().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};function Qp(t){var e=t.length;return{point:function(n,r){var i=-1;while(++i<e)t[i].point(n,r)},sphere:function(){var n=-1;while(++n<e)t[n].sphere()},lineStart:function(){var n=-1;while(++n<e)t[n].lineStart()},lineEnd:function(){var n=-1;while(++n<e)t[n].lineEnd()},polygonStart:function(){var n=-1;while(++n<e)t[n].polygonStart()},polygonEnd:function(){var n=-1;while(++n<e)t[n].polygonEnd()}}}var $p=function(){var t,e,n=Kp(),r,i=Zp().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a,o=Zp().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,u,l={point:function(t,e){u=[t,e]}};function c(t){var e=t[0],n=t[1];return u=null,(r.point(e,n),u)||(a.point(e,n),u)||(s.point(e,n),u)}c.invert=function(t){var e=n.scale(),r=n.translate(),a=(t[0]-r[0])/e,s=(t[1]-r[1])/e;return(s>=.12&&s<.234&&a>=-.425&&a<-.214?i:s>=.166&&s<.234&&a>=-.214&&a<-.115?o:n).invert(t)};c.stream=function(r){return t&&e===r?t:t=Qp([n.stream(e=r),i.stream(r),o.stream(r)])};c.precision=function(t){if(!arguments.length)return n.precision();n.precision(t),i.precision(t),o.precision(t);return f()};c.scale=function(t){if(!arguments.length)return n.scale();n.scale(t),i.scale(t*.35),o.scale(t);return c.translate(n.translate())};c.translate=function(t){if(!arguments.length)return n.translate();var e=n.scale(),u=+t[0],c=+t[1];r=n.translate(t).clipExtent([[u-.455*e,c-.238*e],[u+.455*e,c+.238*e]]).stream(l);a=i.translate([u-.307*e,c+.201*e]).clipExtent([[u-.425*e+Bl,c+.12*e+Bl],[u-.214*e-Bl,c+.234*e-Bl]]).stream(l);s=o.translate([u-.205*e,c+.212*e]).clipExtent([[u-.214*e+Bl,c+.166*e+Bl],[u-.115*e-Bl,c+.234*e-Bl]]).stream(l);return f()};c.fitExtent=function(t,e){return Dp(c,t,e)};c.fitSize=function(t,e){return Lp(c,t,e)};function f(){t=e=null;return c}return c.scale(1070)};function tv(t){return function(e,n){var r=Vl(e),i=Vl(n),a=t(r*i);return[a*i*Ql(e),a*Ql(n)]}}function ev(t){return function(e,n){var r=tc(e*e+n*n),i=t(r),a=Ql(i),o=Vl(i);return[Yl(e*a,r*o),rc(r&&n*a/r)]}}var nv=tv((function(t){return tc(2/(1+t))}));nv.invert=ev((function(t){return 2*rc(t/2)}));var rv=function(){return Gp(nv).scale(124.75).clipAngle(180-.001)};var iv=tv((function(t){return(t=nc(t))&&t/Ql(t)}));iv.invert=ev((function(t){return t}));var av=function(){return Gp(iv).scale(79.4188).clipAngle(180-.001)};function ov(t,e){return[t,Zl(ec((Il+e)/2))]}ov.invert=function(t,e){return[t,2*Gl(Xl(e))-Il]};var sv=function(){return uv(ov).scale(961/Hl)};function uv(t){var e=Gp(t),n=e.center,r=e.scale,i=e.translate,a=e.clipExtent,o=null,s,u,l;e.scale=function(t){return arguments.length?(r(t),c()):r()};e.translate=function(t){return arguments.length?(i(t),c()):i()};e.center=function(t){return arguments.length?(n(t),c()):n()};e.clipExtent=function(t){return arguments.length?(t==null?o=s=u=l=null:(o=+t[0][0],s=+t[0][1],u=+t[1][0],l=+t[1][1]),c()):o==null?null:[[o,s],[u,l]]};function c(){var n=Ll*r(),i=e(Df(e.rotate()).invert([0,0]));return a(o==null?[[i[0]-n,i[1]-n],[i[0]+n,i[1]+n]]:t===ov?[[Math.max(i[0]-n,o),s],[Math.min(i[0]+n,u),l]]:[[o,Math.max(i[1]-n,s)],[u,Math.min(i[1]+n,l)]])}return c()}function lv(t){return ec((Il+t)/2)}function cv(t,e){var n=Vl(t),r=t===e?Ql(t):Zl(n/Vl(e))/Zl(lv(e)/lv(t)),i=n*Kl(lv(t),r)/r;if(!r)return ov;function a(t,e){if(i>0){if(e<-Il+Bl)e=-Il+Bl}else{if(e>Il-Bl)e=Il-Bl}var n=i/Kl(lv(e),r);return[n*Ql(r*t),i-n*Vl(r*t)]}a.invert=function(t,e){var n=i-e,a=$l(r)*tc(t*t+n*n);return[Yl(t,Wl(n))/r*$l(n),2*Gl(Kl(i/a,1/r))-Il]};return a}var fv=function(){return Vp(cv).scale(109.5).parallels([30,30])};function hv(t,e){return[t,e]}hv.invert=hv;var pv=function(){return Gp(hv).scale(152.63)};function vv(t,e){var n=Vl(t),r=t===e?Ql(t):(n-Vl(e))/(e-t),i=n/r+t;if(Wl(r)<Bl)return hv;function a(t,e){var n=i-e,a=r*t;return[n*Ql(a),i-n*Vl(a)]}a.invert=function(t,e){var n=i-e;return[Yl(t,Wl(n))/r*$l(n),i-$l(r)*tc(t*t+n*n)]};return a}var dv=function(){return Vp(vv).scale(131.154).center([0,13.9389])};function gv(t,e){var n=Vl(e),r=Vl(t)*n;return[n*Ql(t)/r,Ql(e)/r]}gv.invert=ev(Gl);var yv=function(){return Gp(gv).scale(144.049).clipAngle(60)};function mv(t,e,n,r){return t===1&&e===1&&n===0&&r===0?zh:Op({point:function(i,a){this.stream.point(i*t+n,a*e+r)}})}var _v=function(){var t=1,e=0,n=0,r=1,i=1,a=zh,o=null,s,u,l,c=zh,f,h,p;function v(){f=h=null;return p}return p={stream:function(t){return f&&h===t?f:f=a(c(h=t))},clipExtent:function(t){return arguments.length?(c=t==null?(o=s=u=l=null,zh):Xf(o=+t[0][0],s=+t[0][1],u=+t[1][0],l=+t[1][1]),v()):o==null?null:[[o,s],[u,l]]},scale:function(o){return arguments.length?(a=mv((t=+o)*r,t*i,e,n),v()):t},translate:function(o){return arguments.length?(a=mv(t*r,t*i,e=+o[0],n=+o[1]),v()):[e,n]},reflectX:function(o){return arguments.length?(a=mv(t*(r=o?-1:1),t*i,e,n),v()):r<0},reflectY:function(o){return arguments.length?(a=mv(t*r,t*(i=o?-1:1),e,n),v()):i<0},fitExtent:function(t,e){return Dp(p,t,e)},fitSize:function(t,e){return Lp(p,t,e)}}};function bv(t,e){return[Vl(e)*Ql(t),Ql(e)]}bv.invert=ev(rc);var xv=function(){return Gp(bv).scale(249.5).clipAngle(90+Bl)};function wv(t,e){var n=Vl(e),r=1+Vl(t)*n;return[n*Ql(t)/r,Ql(e)/r]}wv.invert=ev((function(t){return 2*Gl(t)}));var kv=function(){return Gp(wv).scale(250).clipAngle(142)};function Av(t,e){return[Zl(ec((Il+e)/2)),-t]}Av.invert=function(t,e){return[-e,2*Gl(Xl(t))-Il]};var Mv=function(){var t=uv(Av),e=t.center,n=t.rotate;t.center=function(t){return arguments.length?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])};t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])};return n([0,0,90]).scale(159.155)};function zv(t,e){return t.parent===e.parent?1:2}function Sv(t){return t.reduce(Ev,0)/t.length}function Ev(t,e){return t+e.x}function Tv(t){return 1+t.reduce(Cv,0)}function Cv(t,e){return Math.max(t,e.y)}function Nv(t){var e;while(e=t.children)t=e[0];return t}function Pv(t){var e;while(e=t.children)t=e[e.length-1];return t}var Rv=function(){var t=zv,e=1,n=1,r=false;function i(i){var a,o=0;i.eachAfter((function(e){var n=e.children;if(n){e.x=Sv(n);e.y=Tv(n)}else{e.x=a?o+=t(e,a):0;e.y=0;a=e}}));var s=Nv(i),u=Pv(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})}i.separation=function(e){return arguments.length?(t=e,i):t};i.size=function(t){return arguments.length?(r=false,e=+t[0],n=+t[1],i):r?null:[e,n]};i.nodeSize=function(t){return arguments.length?(r=true,e=+t[0],n=+t[1],i):r?[e,n]:null};return i};function Fv(t){var e=0,n=t.children,r=n&&n.length;if(!r)e=1;else while(--r>=0)e+=n[r].value;t.value=e}var Ov=function(){return this.eachAfter(Fv)};var Bv=function(t){var e=this,n,r=[e],i,a,o;do{n=r.reverse(),r=[];while(e=n.pop()){t(e),i=e.children;if(i)for(a=0,o=i.length;a<o;++a){r.push(i[a])}}}while(r.length);return this};var Dv=function(t){var e=this,n=[e],r,i;while(e=n.pop()){t(e),r=e.children;if(r)for(i=r.length-1;i>=0;--i){n.push(r[i])}}return this};var Lv=function(t){var e=this,n=[e],r=[],i,a,o;while(e=n.pop()){r.push(e),i=e.children;if(i)for(a=0,o=i.length;a<o;++a){n.push(i[a])}}while(e=r.pop()){t(e)}return this};var Iv=function(t){return this.eachAfter((function(e){var n=+t(e.data)||0,r=e.children,i=r&&r.length;while(--i>=0)n+=r[i].value;e.value=n}))};var jv=function(t){return this.eachBefore((function(e){if(e.children){e.children.sort(t)}}))};var Hv=function(t){var e=this,n=Uv(e,t),r=[e];while(e!==n){e=e.parent;r.push(e)}var i=r.length;while(t!==n){r.splice(i,0,t);t=t.parent}return r};function Uv(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;t=n.pop();e=r.pop();while(t===e){i=t;t=n.pop();e=r.pop()}return i}var qv=function(){var t=this,e=[t];while(t=t.parent){e.push(t)}return e};var Wv=function(){var t=[];this.each((function(e){t.push(e)}));return t};var Gv=function(){var t=[];this.eachBefore((function(e){if(!e.children){t.push(e)}}));return t};var Yv=function(){var t=this,e=[];t.each((function(n){if(n!==t){e.push({source:n.parent,target:n})}}));return e};function Vv(t,e){var n=new Qv(t),r=+t.value&&(n.value=t.value),i,a=[n],o,s,u,l;if(e==null)e=Xv;while(i=a.pop()){if(r)i.value=+i.data.value;if((s=e(i.data))&&(l=s.length)){i.children=new Array(l);for(u=l-1;u>=0;--u){a.push(o=i.children[u]=new Qv(s[u]));o.parent=i;o.depth=i.depth+1}}}return n.eachBefore(Kv)}function Jv(){return Vv(this).eachBefore(Zv)}function Xv(t){return t.children}function Zv(t){t.data=t.data.data}function Kv(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function Qv(t){this.data=t;this.depth=this.height=0;this.parent=null}Qv.prototype=Vv.prototype={constructor:Qv,count:Ov,each:Bv,eachAfter:Lv,eachBefore:Dv,sum:Iv,sort:jv,path:Hv,ancestors:qv,descendants:Wv,leaves:Gv,links:Yv,copy:Jv};function $v(t){this._=t;this.next=null}var td=function(t){var e,n=(t=t.slice()).length,r=null,i=r;while(n){var a=new $v(t[n-1]);if(i)i=i.next=a;else i=r=a;t[e]=t[--n]}return{head:r,tail:i}};var ed=function(t){return rd(td(t),[])};function nd(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r-e.r;return i*i+1e-6>n*n+r*r}function rd(t,e){var n,r=null,i=t.head,a,o;switch(e.length){case 1:n=id(e[0]);break;case 2:n=ad(e[0],e[1]);break;case 3:n=od(e[0],e[1],e[2]);break}while(i){o=i._,a=i.next;if(!n||!nd(n,o)){if(r)t.tail=r,r.next=null;else t.head=t.tail=null;e.push(o);n=rd(t,e);e.pop();if(t.head)i.next=t.head,t.head=i;else i.next=null,t.head=t.tail=i;r=t.tail,r.next=a}else{r=i}i=a}t.tail=r;return n}function id(t){return{x:t.x,y:t.y,r:t.r}}function ad(t,e){var n=t.x,r=t.y,i=t.r,a=e.x,o=e.y,s=e.r,u=a-n,l=o-r,c=s-i,f=Math.sqrt(u*u+l*l);return{x:(n+a+u/f*c)/2,y:(r+o+l/f*c)/2,r:(f+i+s)/2}}function od(t,e,n){var r=t.x,i=t.y,a=t.r,o=e.x,s=e.y,u=e.r,l=n.x,c=n.y,f=n.r,h=2*(r-o),p=2*(i-s),v=2*(u-a),d=r*r+i*i-a*a-o*o-s*s+u*u,g=2*(r-l),y=2*(i-c),m=2*(f-a),_=r*r+i*i-a*a-l*l-c*c+f*f,b=g*p-h*y,x=(p*_-y*d)/b-r,w=(y*v-p*m)/b,k=(g*d-h*_)/b-i,A=(h*m-g*v)/b,M=w*w+A*A-1,z=2*(x*w+k*A+a),S=x*x+k*k-a*a,E=(-z-Math.sqrt(z*z-4*M*S))/(2*M);return{x:x+w*E+r,y:k+A*E+i,r:E}}function sd(t,e,n){var r=t.x,i=t.y,a=e.r+n.r,o=t.r+n.r,s=e.x-r,u=e.y-i,l=s*s+u*u;if(l){var c=.5+((o*=o)-(a*=a))/(2*l),f=Math.sqrt(Math.max(0,2*a*(o+l)-(o-=l)*o-a*a))/(2*l);n.x=r+c*s+f*u;n.y=i+c*u-f*s}else{n.x=r+o;n.y=i}}function ud(t,e){var n=e.x-t.x,r=e.y-t.y,i=t.r+e.r;return i*i-1e-6>n*n+r*r}function ld(t,e,n){var r=t._,i=t.next._,a=r.r+i.r,o=(r.x*i.r+i.x*r.r)/a-e,s=(r.y*i.r+i.y*r.r)/a-n;return o*o+s*s}function cd(t){this._=t;this.next=null;this.previous=null}function fd(t){if(!(i=t.length))return 0;var e,n,r,i;e=t[0],e.x=0,e.y=0;if(!(i>1))return e.r;n=t[1],e.x=-n.r,n.x=e.r,n.y=0;if(!(i>2))return e.r+n.r;sd(n,e,r=t[2]);var a=e.r*e.r,o=n.r*n.r,s=r.r*r.r,u=a+o+s,l=a*e.x+o*n.x+s*r.x,c=a*e.y+o*n.y+s*r.y,f,h,p,v,d,g,y;e=new cd(e),n=new cd(n),r=new cd(r);e.next=r.previous=n;n.next=e.previous=r;r.next=n.previous=e;t:for(p=3;p<i;++p){sd(e._,n._,r=t[p]),r=new cd(r);v=n.next,d=e.previous,g=n._.r,y=e._.r;do{if(g<=y){if(ud(v._,r._)){n=v,e.next=n,n.previous=e,--p;continue t}g+=v._.r,v=v.next}else{if(ud(d._,r._)){e=d,e.next=n,n.previous=e,--p;continue t}y+=d._.r,d=d.previous}}while(v!==d.next);r.previous=e,r.next=n,e.next=n.previous=n=r;u+=s=r._.r*r._.r;l+=s*r._.x;c+=s*r._.y;a=ld(e,f=l/u,h=c/u);while((r=r.next)!==n){if((s=ld(r,f,h))<a){e=r,a=s}}n=e.next}e=[n._],r=n;while((r=r.next)!==n)e.push(r._);r=ed(e);for(p=0;p<i;++p)e=t[p],e.x-=r.x,e.y-=r.y;return r.r}var hd=function(t){fd(t);return t};function pd(t){return t==null?null:vd(t)}function vd(t){if(typeof t!=="function")throw new Error;return t}function dd(){return 0}var gd=function(t){return function(){return t}};function yd(t){return Math.sqrt(t.value)}var md=function(){var t=null,e=1,n=1,r=dd;function i(i){i.x=e/2,i.y=n/2;if(t){i.eachBefore(_d(t)).eachAfter(bd(r,.5)).eachBefore(xd(1))}else{i.eachBefore(_d(yd)).eachAfter(bd(dd,1)).eachAfter(bd(r,i.r/Math.min(e,n))).eachBefore(xd(Math.min(e,n)/(2*i.r)))}return i}i.radius=function(e){return arguments.length?(t=pd(e),i):t};i.size=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]};i.padding=function(t){return arguments.length?(r=typeof t==="function"?t:gd(+t),i):r};return i};function _d(t){return function(e){if(!e.children){e.r=Math.max(0,+t(e)||0)}}}function bd(t,e){return function(n){if(r=n.children){var r,i,a=r.length,o=t(n)*e||0,s;if(o)for(i=0;i<a;++i)r[i].r+=o;s=fd(r);if(o)for(i=0;i<a;++i)r[i].r-=o;n.r=s+o}}}function xd(t){return function(e){var n=e.parent;e.r*=t;if(n){e.x=n.x+t*e.x;e.y=n.y+t*e.y}}}var wd=function(t){t.x0=Math.round(t.x0);t.y0=Math.round(t.y0);t.x1=Math.round(t.x1);t.y1=Math.round(t.y1)};var kd=function(t,e,n,r,i){var a=t.children,o,s=-1,u=a.length,l=t.value&&(r-e)/t.value;while(++s<u){o=a[s],o.y0=n,o.y1=i;o.x0=e,o.x1=e+=o.value*l}};var Ad=function(){var t=1,e=1,n=0,r=false;function i(i){var o=i.height+1;i.x0=i.y0=n;i.x1=t;i.y1=e/o;i.eachBefore(a(e,o));if(r)i.eachBefore(wd);return i}function a(t,e){return function(r){if(r.children){kd(r,r.x0,t*(r.depth+1)/e,r.x1,t*(r.depth+2)/e)}var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;if(o<i)i=o=(i+o)/2;if(s<a)a=s=(a+s)/2;r.x0=i;r.y0=a;r.x1=o;r.y1=s}}i.round=function(t){return arguments.length?(r=!!t,i):r};i.size=function(n){return arguments.length?(t=+n[0],e=+n[1],i):[t,e]};i.padding=function(t){return arguments.length?(n=+t,i):n};return i};var Md="$";var zd={depth:-1};var Sd={};function Ed(t){return t.id}function Td(t){return t.parentId}var Cd=function(){var t=Ed,e=Td;function n(n){var r,i,a=n.length,o,s,u,l=new Array(a),c,f,h={};for(i=0;i<a;++i){r=n[i],u=l[i]=new Qv(r);if((c=t(r,i,n))!=null&&(c+="")){f=Md+(u.id=c);h[f]=f in h?Sd:u}}for(i=0;i<a;++i){u=l[i],c=e(n[i],i,n);if(c==null||!(c+="")){if(o)throw new Error("multiple roots");o=u}else{s=h[Md+c];if(!s)throw new Error("missing: "+c);if(s===Sd)throw new Error("ambiguous: "+c);if(s.children)s.children.push(u);else s.children=[u];u.parent=s}}if(!o)throw new Error("no root");o.parent=zd;o.eachBefore((function(t){t.depth=t.parent.depth+1;--a})).eachBefore(Kv);o.parent=null;if(a>0)throw new Error("cycle");return o}n.id=function(e){return arguments.length?(t=vd(e),n):t};n.parentId=function(t){return arguments.length?(e=vd(t),n):e};return n};function Nd(t,e){return t.parent===e.parent?1:2}function Pd(t){var e=t.children;return e?e[0]:t.t}function Rd(t){var e=t.children;return e?e[e.length-1]:t.t}function Fd(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 Od(t){var e=0,n=0,r=t.children,i=r.length,a;while(--i>=0){a=r[i];a.z+=e;a.m+=e;e+=a.s+(n+=a.c)}}function Bd(t,e,n){return t.a.parent===e.parent?t.a:n}function Dd(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}Dd.prototype=Object.create(Qv.prototype);function Ld(t){var e=new Dd(t,0),n,r=[e],i,a,o,s;while(n=r.pop()){if(a=n._.children){n.children=new Array(s=a.length);for(o=s-1;o>=0;--o){r.push(i=n.children[o]=new Dd(a[o],o));i.parent=n}}}(e.parent=new Dd(null,0)).children=[e];return e}var Id=function(){var t=Nd,e=1,n=1,r=null;function i(i){var s=Ld(i);s.eachAfter(a),s.parent.m=-s.z;s.eachBefore(o);if(r)i.eachBefore(u);else{var l=i,c=i,f=i;i.eachBefore((function(t){if(t.x<l.x)l=t;if(t.x>c.x)c=t;if(t.depth>f.depth)f=t}));var h=l===c?1:t(l,c)/2,p=h-l.x,v=e/(c.x+h+p),d=n/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*v;t.y=t.depth*d}))}return i}function a(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){Od(e);var a=(n[0].z+n[n.length-1].z)/2;if(i){e.z=i.z+t(e._,i._);e.m=e.z-a}else{e.z=a}}else if(i){e.z=i.z+t(e._,i._)}e.parent.A=s(e,i,e.parent.A||r[0])}function o(t){t._.x=t.z+t.parent.m;t.m+=t.parent.m}function s(e,n,r){if(n){var i=e,a=e,o=n,s=i.parent.children[0],u=i.m,l=a.m,c=o.m,f=s.m,h;while(o=Rd(o),i=Pd(i),o&&i){s=Pd(s);a=Rd(a);a.a=e;h=o.z+c-i.z-u+t(o._,i._);if(h>0){Fd(Bd(o,e,r),e,h);u+=h;l+=h}c+=o.m;u+=i.m;f+=s.m;l+=a.m}if(o&&!Rd(a)){a.t=o;a.m+=c-l}if(i&&!Pd(s)){s.t=i;s.m+=u-f;r=e}}return r}function u(t){t.x*=e;t.y=t.depth*n}i.separation=function(e){return arguments.length?(t=e,i):t};i.size=function(t){return arguments.length?(r=false,e=+t[0],n=+t[1],i):r?null:[e,n]};i.nodeSize=function(t){return arguments.length?(r=true,e=+t[0],n=+t[1],i):r?[e,n]:null};return i};var jd=function(t,e,n,r,i){var a=t.children,o,s=-1,u=a.length,l=t.value&&(i-n)/t.value;while(++s<u){o=a[s],o.x0=e,o.x1=r;o.y0=n,o.y1=n+=o.value*l}};var Hd=(1+Math.sqrt(5))/2;function Ud(t,e,n,r,i,a){var o=[],s=e.children,u,l,c=0,f=0,h=s.length,p,v,d=e.value,g,y,m,_,b,x,w;while(c<h){p=i-n,v=a-r;do{g=s[f++].value}while(!g&&f<h);y=m=g;x=Math.max(v/p,p/v)/(d*t);w=g*g*x;b=Math.max(m/w,w/y);for(;f<h;++f){g+=l=s[f].value;if(l<y)y=l;if(l>m)m=l;w=g*g*x;_=Math.max(m/w,w/y);if(_>b){g-=l;break}b=_}o.push(u={value:g,dice:p<v,children:s.slice(c,f)});if(u.dice)kd(u,n,r,i,d?r+=v*g/d:a);else jd(u,n,r,d?n+=p*g/d:i,a);d-=g,c=f}return o}var qd=function t(e){function n(t,n,r,i,a){Ud(e,t,n,r,i,a)}n.ratio=function(e){return t((e=+e)>1?e:1)};return n}(Hd);var Wd=function(){var t=qd,e=false,n=1,r=1,i=[0],a=dd,o=dd,s=dd,u=dd,l=dd;function c(t){t.x0=t.y0=0;t.x1=n;t.y1=r;t.eachBefore(f);i=[0];if(e)t.eachBefore(wd);return t}function f(e){var n=i[e.depth],r=e.x0+n,c=e.y0+n,f=e.x1-n,h=e.y1-n;if(f<r)r=f=(r+f)/2;if(h<c)c=h=(c+h)/2;e.x0=r;e.y0=c;e.x1=f;e.y1=h;if(e.children){n=i[e.depth+1]=a(e)/2;r+=l(e)-n;c+=o(e)-n;f-=s(e)-n;h-=u(e)-n;if(f<r)r=f=(r+f)/2;if(h<c)c=h=(c+h)/2;t(e,r,c,f,h)}}c.round=function(t){return arguments.length?(e=!!t,c):e};c.size=function(t){return arguments.length?(n=+t[0],r=+t[1],c):[n,r]};c.tile=function(e){return arguments.length?(t=vd(e),c):t};c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()};c.paddingInner=function(t){return arguments.length?(a=typeof t==="function"?t:gd(+t),c):a};c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()};c.paddingTop=function(t){return arguments.length?(o=typeof t==="function"?t:gd(+t),c):o};c.paddingRight=function(t){return arguments.length?(s=typeof t==="function"?t:gd(+t),c):s};c.paddingBottom=function(t){return arguments.length?(u=typeof t==="function"?t:gd(+t),c):u};c.paddingLeft=function(t){return arguments.length?(l=typeof t==="function"?t:gd(+t),c):l};return c};var Gd=function(t,e,n,r,i){var a=t.children,o,s=a.length,u,l=new Array(s+1);for(l[0]=u=o=0;o<s;++o){l[o+1]=u+=a[o].value}c(0,s,t.value,e,n,r,i);function c(t,e,n,r,i,o,s){if(t>=e-1){var u=a[t];u.x0=r,u.y0=i;u.x1=o,u.y1=s;return}var f=l[t],h=n/2+f,p=t+1,v=e-1;while(p<v){var d=p+v>>>1;if(l[d]<h)p=d+1;else v=d}if(h-l[p-1]<l[p]-h&&t+1<p)--p;var g=l[p]-f,y=n-g;if(o-r>s-i){var m=(r*y+o*g)/n;c(t,p,g,r,i,m,s);c(p,e,y,m,i,o,s)}else{var _=(i*y+s*g)/n;c(t,p,g,r,i,o,_);c(p,e,y,r,_,o,s)}}};var Yd=function(t,e,n,r,i){(t.depth&1?jd:kd)(t,e,n,r,i)};var Vd=function t(e){function n(t,n,r,i,a){if((o=t._squarify)&&o.ratio===e){var o,s,u,l,c=-1,f,h=o.length,p=t.value;while(++c<h){s=o[c],u=s.children;for(l=s.value=0,f=u.length;l<f;++l)s.value+=u[l].value;if(s.dice)kd(s,n,r,i,r+=(a-r)*s.value/p);else jd(s,n,r,n+=(i-n)*s.value/p,a);p-=s.value}}else{t._squarify=o=Ud(e,t,n,r,i,a);o.ratio=e}}n.ratio=function(e){return t((e=+e)>1?e:1)};return n}(Hd);var Jd=function(t){var e=-1,n=t.length,r,i=t[n-1],a=0;while(++e<n){r=i;i=t[e];a+=r[1]*i[0]-r[0]*i[1]}return a/2};var Xd=function(t){var e=-1,n=t.length,r=0,i=0,a,o=t[n-1],s,u=0;while(++e<n){a=o;o=t[e];u+=s=a[0]*o[1]-o[0]*a[1];r+=(a[0]+o[0])*s;i+=(a[1]+o[1])*s}return u*=3,[r/u,i/u]};var Zd=function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])};function Kd(t,e){return t[0]-e[0]||t[1]-e[1]}function Qd(t){var e=t.length,n=[0,1],r=2;for(var i=2;i<e;++i){while(r>1&&Zd(t[n[r-2]],t[n[r-1]],t[i])<=0)--r;n[r++]=i}return n.slice(0,r)}var $d=function(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e<n;++e)r[e]=[+t[e][0],+t[e][1],e];r.sort(Kd);for(e=0;e<n;++e)i[e]=[r[e][0],-r[e][1]];var a=Qd(r),o=Qd(i);var s=o[0]===a[0],u=o[o.length-1]===a[a.length-1],l=[];for(e=a.length-1;e>=0;--e)l.push(t[r[a[e]][2]]);for(e=+s;e<o.length-u;++e)l.push(t[r[o[e]][2]]);return l};var tg=function(t,e){var n=t.length,r=t[n-1],i=e[0],a=e[1],o=r[0],s=r[1],u,l,c=false;for(var f=0;f<n;++f){r=t[f],u=r[0],l=r[1];if(l>a!==s>a&&i<(o-u)*(a-l)/(s-l)+u)c=!c;o=u,s=l}return c};var eg=function(t){var e=-1,n=t.length,r=t[n-1],i,a,o=r[0],s=r[1],u=0;while(++e<n){i=o;a=s;r=t[e];o=r[0];s=r[1];i-=o;a-=s;u+=Math.sqrt(i*i+a*a)}return u};var ng=[].slice;var rg={};function ig(t){this._size=t;this._call=this._error=null;this._tasks=[];this._data=[];this._waiting=this._active=this._ended=this._start=0}ig.prototype=cg.prototype={constructor:ig,defer:function(t){if(typeof t!=="function")throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(this._error!=null)return this;var e=ng.call(arguments,1);e.push(t);++this._waiting,this._tasks.push(e);ag(this);return this},abort:function(){if(this._error==null)ug(this,new Error("abort"));return this},await:function(t){if(typeof t!=="function")throw new Error("invalid callback");if(this._call)throw new Error("multiple await");this._call=function(e,n){t.apply(null,[e].concat(n))};lg(this);return this},awaitAll:function(t){if(typeof t!=="function")throw new Error("invalid callback");if(this._call)throw new Error("multiple await");this._call=t;lg(this);return this}};function ag(t){if(!t._start){try{og(t)}catch(e){if(t._tasks[t._ended+t._active-1])ug(t,e);else if(!t._data)throw e}}}function og(t){while(t._start=t._waiting&&t._active<t._size){var e=t._ended+t._active,n=t._tasks[e],r=n.length-1,i=n[r];n[r]=sg(t,e);--t._waiting,++t._active;n=i.apply(null,n);if(!t._tasks[e])continue;t._tasks[e]=n||rg}}function sg(t,e){return function(n,r){if(!t._tasks[e])return;--t._active,++t._ended;t._tasks[e]=null;if(t._error!=null)return;if(n!=null){ug(t,n)}else{t._data[e]=r;if(t._waiting)ag(t);else lg(t)}}}function ug(t,e){var n=t._tasks.length,r;t._error=e;t._data=undefined;t._waiting=NaN;while(--n>=0){if(r=t._tasks[n]){t._tasks[n]=null;if(r.abort){try{r.abort()}catch(e){}}}}t._active=NaN;lg(t)}function lg(t){if(!t._active&&t._call){var e=t._data;t._data=undefined;t._call(t._error,e)}}function cg(t){if(t==null)t=Infinity;else if(!((t=+t)>=1))throw new Error("invalid concurrency");return new ig(t)}var fg=function(){return Math.random()};var hg=function t(e){function n(t,n){t=t==null?0:+t;n=n==null?1:+n;if(arguments.length===1)n=t,t=0;else n-=t;return function(){return e()*n+t}}n.source=t;return n}(fg);var pg=function t(e){function n(t,n){var r,i;t=t==null?0:+t;n=n==null?1:+n;return function(){var a;if(r!=null)a=r,r=null;else do{r=e()*2-1;a=e()*2-1;i=r*r+a*a}while(!i||i>1);return t+n*a*Math.sqrt(-2*Math.log(i)/i)}}n.source=t;return n}(fg);var vg=function t(e){function n(){var t=pg.source(e).apply(this,arguments);return function(){return Math.exp(t())}}n.source=t;return n}(fg);var dg=function t(e){function n(t){return function(){for(var n=0,r=0;r<t;++r)n+=e();return n}}n.source=t;return n}(fg);var gg=function t(e){function n(t){var n=dg.source(e)(t);return function(){return n()/t}}n.source=t;return n}(fg);var yg=function t(e){function n(t){return function(){return-Math.log(1-e())/t}}n.source=t;return n}(fg);var mg=function(t,e){var n,r=ut("beforesend","progress","load","error"),i,a=eu(),o=new XMLHttpRequest,s=null,u=null,l,c,f=0;if(typeof XDomainRequest!=="undefined"&&!("withCredentials"in o)&&/^(http(s)?:)?\/\//.test(t))o=new XDomainRequest;"onload"in o?o.onload=o.onerror=o.ontimeout=h:o.onreadystatechange=function(t){o.readyState>3&&h(t)};function h(t){var e=o.status,i;if(!e&&bg(o)||e>=200&&e<300||e===304){if(l){try{i=l.call(n,o)}catch(a){r.call("error",n,a);return}}else{i=o}r.call("load",n,i)}else{r.call("error",n,t)}}o.onprogress=function(t){r.call("progress",n,t)};n={header:function(t,e){t=(t+"").toLowerCase();if(arguments.length<2)return a.get(t);if(e==null)a.remove(t);else a.set(t,e+"");return n},mimeType:function(t){if(!arguments.length)return i;i=t==null?null:t+"";return n},responseType:function(t){if(!arguments.length)return c;c=t;return n},timeout:function(t){if(!arguments.length)return f;f=+t;return n},user:function(t){return arguments.length<1?s:(s=t==null?null:t+"",n)},password:function(t){return arguments.length<1?u:(u=t==null?null:t+"",n)},response:function(t){l=t;return n},get:function(t,e){return n.send("GET",t,e)},post:function(t,e){return n.send("POST",t,e)},send:function(e,l,h){o.open(e,t,true,s,u);if(i!=null&&!a.has("accept"))a.set("accept",i+",*/*");if(o.setRequestHeader)a.each((function(t,e){o.setRequestHeader(e,t)}));if(i!=null&&o.overrideMimeType)o.overrideMimeType(i);if(c!=null)o.responseType=c;if(f>0)o.timeout=f;if(h==null&&typeof l==="function")h=l,l=null;if(h!=null&&h.length===1)h=_g(h);if(h!=null)n.on("error",h).on("load",(function(t){h(null,t)}));r.call("beforesend",n,o);o.send(l==null?null:l);return n},abort:function(){o.abort();return n},on:function(){var t=r.on.apply(r,arguments);return t===r?n:t}};if(e!=null){if(typeof e!=="function")throw new Error("invalid callback: "+e);return n.get(e)}return n};function _g(t){return function(e,n){t(e==null?n:null)}}function bg(t){var e=t.responseType;return e&&e!=="text"?t.response:t.responseText}var xg=function(t,e){return function(n,r){var i=mg(n).mimeType(t).response(e);if(r!=null){if(typeof r!=="function")throw new Error("invalid callback: "+r);return i.get(r)}return i}};var wg=xg("text/html",(function(t){return document.createRange().createContextualFragment(t.responseText)}));var kg=xg("application/json",(function(t){return JSON.parse(t.responseText)}));var Ag=xg("text/plain",(function(t){return t.responseText}));var Mg=xg("application/xml",(function(t){var e=t.responseXML;if(!e)throw new Error("parse error");return e}));var zg=function(t,e){return function(n,r,i){if(arguments.length<3)i=r,r=null;var a=mg(n).mimeType(t);a.row=function(t){return arguments.length?a.response(Sg(e,r=t)):r};a.row(r);return i?a.get(i):a}};function Sg(t,e){return function(n){return t(n.responseText,e)}}var Eg=zg("text/csv",mu);var Tg=zg("text/tab-separated-values",ku);var Cg=Array.prototype;var Ng=Cg.map;var Pg=Cg.slice;var Rg={name:"implicit"};function Fg(t){var e=eu(),n=[],r=Rg;t=t==null?[]:Pg.call(t);function i(i){var a=i+"",o=e.get(a);if(!o){if(r!==Rg)return r;e.set(a,o=n.push(i))}return t[(o-1)%t.length]}i.domain=function(t){if(!arguments.length)return n.slice();n=[],e=eu();var r=-1,a=t.length,o,s;while(++r<a)if(!e.has(s=(o=t[r])+""))e.set(s,n.push(o));return i};i.range=function(e){return arguments.length?(t=Pg.call(e),i):t.slice()};i.unknown=function(t){return arguments.length?(r=t,i):r};i.copy=function(){return Fg().domain(n).range(t).unknown(r)};return i}function Og(){var t=Fg().unknown(undefined),e=t.domain,n=t.range,r=[0,1],i,a,o=false,s=0,u=0,l=.5;delete t.unknown;function c(){var t=e().length,c=r[1]<r[0],f=r[c-0],h=r[1-c];i=(h-f)/Math.max(1,t-s+u*2);if(o)i=Math.floor(i);f+=(h-f-i*(t-s))*l;a=i*(1-s);if(o)f=Math.round(f),a=Math.round(a);var p=x(t).map((function(t){return f+i*t}));return n(c?p.reverse():p)}t.domain=function(t){return arguments.length?(e(t),c()):e()};t.range=function(t){return arguments.length?(r=[+t[0],+t[1]],c()):r.slice()};t.rangeRound=function(t){return r=[+t[0],+t[1]],o=true,c()};t.bandwidth=function(){return a};t.step=function(){return i};t.round=function(t){return arguments.length?(o=!!t,c()):o};t.padding=function(t){return arguments.length?(s=u=Math.max(0,Math.min(1,t)),c()):s};t.paddingInner=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),c()):s};t.paddingOuter=function(t){return arguments.length?(u=Math.max(0,Math.min(1,t)),c()):u};t.align=function(t){return arguments.length?(l=Math.max(0,Math.min(1,t)),c()):l};t.copy=function(){return Og().domain(e()).range(r).round(o).paddingInner(s).paddingOuter(u).align(l)};return c()}function Bg(t){var e=t.copy;t.padding=t.paddingOuter;delete t.paddingInner;delete t.paddingOuter;t.copy=function(){return Bg(e())};return t}function Dg(){return Bg(Og().paddingInner(1))}var Lg=function(t){return function(){return t}};var Ig=function(t){return+t};var jg=[0,1];function Hg(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:Lg(e)}function Ug(t){return function(e,n){var r=t(e=+e,n=+n);return function(t){return t<=e?0:t>=n?1:r(t)}}}function qg(t){return function(e,n){var r=t(e=+e,n=+n);return function(t){return t<=0?e:t>=1?n:r(t)}}}function Wg(t,e,n,r){var i=t[0],a=t[1],o=e[0],s=e[1];if(a<i)i=n(a,i),o=r(s,o);else i=n(i,a),o=r(o,s);return function(t){return o(i(t))}}function Gg(t,e,n,r){var i=Math.min(t.length,e.length)-1,a=new Array(i),s=new Array(i),u=-1;if(t[i]<t[0]){t=t.slice().reverse();e=e.slice().reverse()}while(++u<i){a[u]=n(t[u],t[u+1]);s[u]=r(e[u],e[u+1])}return function(e){var n=o(t,e,1,i)-1;return s[n](a[n](e))}}function Yg(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function Vg(t,e){var n=jg,r=jg,i=Xr,a=false,o,s,u;function l(){o=Math.min(n.length,r.length)>2?Gg:Wg;s=u=null;return c}function c(e){return(s||(s=o(n,r,a?Ug(t):t,i)))(+e)}c.invert=function(t){return(u||(u=o(r,n,Hg,a?qg(e):e)))(+t)};c.domain=function(t){return arguments.length?(n=Ng.call(t,Ig),l()):n.slice()};c.range=function(t){return arguments.length?(r=Pg.call(t),l()):r.slice()};c.rangeRound=function(t){return r=Pg.call(t),i=Zr,l()};c.clamp=function(t){return arguments.length?(a=!!t,l()):a};c.interpolate=function(t){return arguments.length?(i=t,l()):i};return l()}var Jg=function(e,n,r){var i=e[0],a=e[e.length-1],o=S(i,a,n==null?10:n),s;r=wl(r==null?",f":r);switch(r.type){case"s":{var u=Math.max(Math.abs(i),Math.abs(a));if(r.precision==null&&!isNaN(s=Cl(o,u)))r.precision=s;return t.formatPrefix(r,u)}case"":case"e":case"g":case"p":case"r":{if(r.precision==null&&!isNaN(s=Nl(o,Math.max(Math.abs(i),Math.abs(a)))))r.precision=s-(r.type==="e");break}case"f":case"%":{if(r.precision==null&&!isNaN(s=Tl(o)))r.precision=s-(r.type==="%")*2;break}}return t.format(r)};function Xg(t){var e=t.domain;t.ticks=function(t){var n=e();return M(n[0],n[n.length-1],t==null?10:t)};t.tickFormat=function(t,n){return Jg(e(),t,n)};t.nice=function(n){if(n==null)n=10;var r=e(),i=0,a=r.length-1,o=r[i],s=r[a],u;if(s<o){u=o,o=s,s=u;u=i,i=a,a=u}u=z(o,s,n);if(u>0){o=Math.floor(o/u)*u;s=Math.ceil(s/u)*u;u=z(o,s,n)}else if(u<0){o=Math.ceil(o*u)/u;s=Math.floor(s*u)/u;u=z(o,s,n)}if(u>0){r[i]=Math.floor(o/u)*u;r[a]=Math.ceil(s/u)*u;e(r)}else if(u<0){r[i]=Math.ceil(o*u)/u;r[a]=Math.floor(s*u)/u;e(r)}return t};return t}function Zg(){var t=Vg(Hg,Ur);t.copy=function(){return Yg(t,Zg())};return Xg(t)}function Kg(){var t=[0,1];function e(t){return+t}e.invert=e;e.domain=e.range=function(n){return arguments.length?(t=Ng.call(n,Ig),e):t.slice()};e.copy=function(){return Kg().domain(t)};return Xg(e)}var Qg=function(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],o;if(a<i){o=n,n=r,r=o;o=i,i=a,a=o}t[n]=e.floor(i);t[r]=e.ceil(a);return t};function $g(t,e){return(e=Math.log(e/t))?function(n){return Math.log(n/t)/e}:Lg(e)}function ty(t,e){return t<0?function(n){return-Math.pow(-e,n)*Math.pow(-t,1-n)}:function(n){return Math.pow(e,n)*Math.pow(t,1-n)}}function ey(t){return isFinite(t)?+("1e"+t):t<0?0:t}function ny(t){return t===10?ey:t===Math.E?Math.exp:function(e){return Math.pow(t,e)}}function ry(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),function(e){return Math.log(e)/t})}function iy(t){return function(e){return-t(-e)}}function ay(){var e=Vg($g,ty).domain([1,10]),n=e.domain,r=10,i=ry(10),a=ny(10);function o(){i=ry(r),a=ny(r);if(n()[0]<0)i=iy(i),a=iy(a);return e}e.base=function(t){return arguments.length?(r=+t,o()):r};e.domain=function(t){return arguments.length?(n(t),o()):n()};e.ticks=function(t){var e=n(),o=e[0],s=e[e.length-1],u;if(u=s<o)l=o,o=s,s=l;var l=i(o),c=i(s),f,h,p,v=t==null?10:+t,d=[];if(!(r%1)&&c-l<v){l=Math.round(l)-1,c=Math.round(c)+1;if(o>0)for(;l<c;++l){for(h=1,f=a(l);h<r;++h){p=f*h;if(p<o)continue;if(p>s)break;d.push(p)}}else for(;l<c;++l){for(h=r-1,f=a(l);h>=1;--h){p=f*h;if(p<o)continue;if(p>s)break;d.push(p)}}}else{d=M(l,c,Math.min(c-l,v)).map(a)}return u?d.reverse():d};e.tickFormat=function(n,o){if(o==null)o=r===10?".0e":",";if(typeof o!=="function")o=t.format(o);if(n===Infinity)return o;if(n==null)n=10;var s=Math.max(1,r*n/e.ticks().length);return function(t){var e=t/a(Math.round(i(t)));if(e*r<r-.5)e*=r;return e<=s?o(t):""}};e.nice=function(){return n(Qg(n(),{floor:function(t){return a(Math.floor(i(t)))},ceil:function(t){return a(Math.ceil(i(t)))}}))};e.copy=function(){return Yg(e,ay().base(r))};return e}function oy(t,e){return t<0?-Math.pow(-t,e):Math.pow(t,e)}function sy(){var t=1,e=Vg(r,i),n=e.domain;function r(e,n){return(n=oy(n,t)-(e=oy(e,t)))?function(r){return(oy(r,t)-e)/n}:Lg(n)}function i(e,n){n=oy(n,t)-(e=oy(e,t));return function(r){return oy(e+n*r,1/t)}}e.exponent=function(e){return arguments.length?(t=+e,n(n())):t};e.copy=function(){return Yg(e,sy().exponent(t))};return Xg(e)}function uy(){return sy().exponent(.5)}function ly(){var t=[],e=[],r=[];function i(){var n=0,i=Math.max(1,e.length);r=new Array(i-1);while(++n<i)r[n-1]=C(t,n/i);return a}function a(t){if(!isNaN(t=+t))return e[o(r,t)]}a.invertExtent=function(n){var i=e.indexOf(n);return i<0?[NaN,NaN]:[i>0?r[i-1]:t[0],i<r.length?r[i]:t[t.length-1]]};a.domain=function(e){if(!arguments.length)return t.slice();t=[];for(var r=0,a=e.length,o;r<a;++r)if(o=e[r],o!=null&&!isNaN(o=+o))t.push(o);t.sort(n);return i()};a.range=function(t){return arguments.length?(e=Pg.call(t),i()):e.slice()};a.quantiles=function(){return r.slice()};a.copy=function(){return ly().domain(t).range(e)};return a}function cy(){var t=0,e=1,n=1,r=[.5],i=[0,1];function a(t){if(t<=t)return i[o(r,t,0,n)]}function s(){var i=-1;r=new Array(n);while(++i<n)r[i]=((i+1)*e-(i-n)*t)/(n+1);return a}a.domain=function(n){return arguments.length?(t=+n[0],e=+n[1],s()):[t,e]};a.range=function(t){return arguments.length?(n=(i=Pg.call(t)).length-1,s()):i.slice()};a.invertExtent=function(a){var o=i.indexOf(a);return o<0?[NaN,NaN]:o<1?[t,r[0]]:o>=n?[r[n-1],e]:[r[o-1],r[o]]};a.copy=function(){return cy().domain([t,e]).range(i)};return Xg(a)}function fy(){var t=[.5],e=[0,1],n=1;function r(r){if(r<=r)return e[o(t,r,0,n)]}r.domain=function(i){return arguments.length?(t=Pg.call(i),n=Math.min(t.length,e.length-1),r):t.slice()};r.range=function(i){return arguments.length?(e=Pg.call(i),n=Math.min(t.length,e.length-1),r):e.slice()};r.invertExtent=function(n){var r=e.indexOf(n);return[t[r-1],t[r]]};r.copy=function(){return fy().domain(t).range(e)};return r}var hy=new Date;var py=new Date;function vy(t,e,n,r){function i(e){return t(e=new Date(+e)),e}i.floor=i;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-e<n-t?e:n};i.offset=function(t,n){return e(t=new Date(+t),n==null?1:Math.floor(n)),t};i.range=function(n,r,a){var o=[];n=i.ceil(n);a=a==null?1:Math.floor(a);if(!(n<r)||!(a>0))return o;do{o.push(new Date(+n))}while(e(n,a),t(n),n<r);return o};i.filter=function(n){return vy((function(e){if(e>=e)while(t(e),!n(e))e.setTime(e-1)}),(function(t,r){if(t>=t)while(--r>=0)while(e(t,1),!n(t)){}}))};if(n){i.count=function(e,r){hy.setTime(+e),py.setTime(+r);t(hy),t(py);return Math.floor(n(hy,py))};i.every=function(t){t=Math.floor(t);return!isFinite(t)||!(t>0)?null:!(t>1)?i:i.filter(r?function(e){return r(e)%t===0}:function(e){return i.count(0,e)%t===0})}}return i}var dy=vy((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));dy.every=function(t){t=Math.floor(t);if(!isFinite(t)||!(t>0))return null;if(!(t>1))return dy;return vy((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t}))};var gy=dy.range;var yy=1e3;var my=6e4;var _y=36e5;var by=864e5;var xy=6048e5;var wy=vy((function(t){t.setTime(Math.floor(t/yy)*yy)}),(function(t,e){t.setTime(+t+e*yy)}),(function(t,e){return(e-t)/yy}),(function(t){return t.getUTCSeconds()}));var ky=wy.range;var Ay=vy((function(t){t.setTime(Math.floor(t/my)*my)}),(function(t,e){t.setTime(+t+e*my)}),(function(t,e){return(e-t)/my}),(function(t){return t.getMinutes()}));var My=Ay.range;var zy=vy((function(t){var e=t.getTimezoneOffset()*my%_y;if(e<0)e+=_y;t.setTime(Math.floor((+t-e)/_y)*_y+e)}),(function(t,e){t.setTime(+t+e*_y)}),(function(t,e){return(e-t)/_y}),(function(t){return t.getHours()}));var Sy=zy.range;var Ey=vy((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())*my)/by}),(function(t){return t.getDate()-1}));var Ty=Ey.range;function Cy(t){return vy((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7);e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e*7)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*my)/xy}))}var Ny=Cy(0);var Py=Cy(1);var Ry=Cy(2);var Fy=Cy(3);var Oy=Cy(4);var By=Cy(5);var Dy=Cy(6);var Ly=Ny.range;var Iy=Py.range;var jy=Ry.range;var Hy=Fy.range;var Uy=Oy.range;var qy=By.range;var Wy=Dy.range;var Gy=vy((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()+(e.getFullYear()-t.getFullYear())*12}),(function(t){return t.getMonth()}));var Yy=Gy.range;var Vy=vy((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()}));Vy.every=function(t){return!isFinite(t=Math.floor(t))||!(t>0)?null:vy((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)}))};var Jy=Vy.range;var Xy=vy((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*my)}),(function(t,e){return(e-t)/my}),(function(t){return t.getUTCMinutes()}));var Zy=Xy.range;var Ky=vy((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*_y)}),(function(t,e){return(e-t)/_y}),(function(t){return t.getUTCHours()}));var Qy=Ky.range;var $y=vy((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/by}),(function(t){return t.getUTCDate()-1}));var tm=$y.range;function em(t){return vy((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7);e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e*7)}),(function(t,e){return(e-t)/xy}))}var nm=em(0);var rm=em(1);var im=em(2);var am=em(3);var om=em(4);var sm=em(5);var um=em(6);var lm=nm.range;var cm=rm.range;var fm=im.range;var hm=am.range;var pm=om.range;var vm=sm.range;var dm=um.range;var gm=vy((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()+(e.getUTCFullYear()-t.getUTCFullYear())*12}),(function(t){return t.getUTCMonth()}));var ym=gm.range;var mm=vy((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()}));mm.every=function(t){return!isFinite(t=Math.floor(t))||!(t>0)?null:vy((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)}))};var _m=mm.range;function bm(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);e.setFullYear(t.y);return e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function xm(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));e.setUTCFullYear(t.y);return e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function wm(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function km(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,s=t.months,u=t.shortMonths;var l=Cm(i),c=Nm(i),f=Cm(a),h=Nm(a),p=Cm(o),v=Nm(o),d=Cm(s),g=Nm(s),y=Cm(u),m=Nm(u);var _={a:R,A:F,b:O,B:B,c:null,d:Ym,e:Ym,H:Vm,I:Jm,j:Xm,L:Zm,m:Km,M:Qm,p:D,S:$m,U:t_,w:e_,W:n_,x:null,X:null,y:r_,Y:i_,Z:a_,"%":b_};var b={a:L,A:I,b:j,B:H,c:null,d:o_,e:o_,H:s_,I:u_,j:l_,L:c_,m:f_,M:h_,p:U,S:p_,U:v_,w:d_,W:g_,x:null,X:null,y:y_,Y:m_,Z:__,"%":b_};var x={a:z,A:S,b:E,B:T,c:C,d:Im,e:Im,H:Hm,I:Hm,j:jm,L:Wm,m:Lm,M:Um,p:M,S:qm,U:Rm,w:Pm,W:Fm,x:N,X:P,y:Bm,Y:Om,Z:Dm,"%":Gm};_.x=w(n,_);_.X=w(r,_);_.c=w(e,_);b.x=w(n,b);b.X=w(r,b);b.c=w(e,b);function w(t,e){return function(n){var r=[],i=-1,a=0,o=t.length,s,u,l;if(!(n instanceof Date))n=new Date(+n);while(++i<o){if(t.charCodeAt(i)===37){r.push(t.slice(a,i));if((u=Am[s=t.charAt(++i)])!=null)s=t.charAt(++i);else u=s==="e"?" ":"0";if(l=e[s])s=l(n,u);r.push(s);a=i+1}}r.push(t.slice(a,i));return r.join("")}}function k(t,e){return function(n){var r=wm(1900),i=A(r,t,n+="",0);if(i!=n.length)return null;if("p"in r)r.H=r.H%12+r.p*12;if("W"in r||"U"in r){if(!("w"in r))r.w="W"in r?1:0;var a="Z"in r?xm(wm(r.y)).getUTCDay():e(wm(r.y)).getDay();r.m=0;r.d="W"in r?(r.w+6)%7+r.W*7-(a+5)%7:r.w+r.U*7-(a+6)%7}if("Z"in r){r.H+=r.Z/100|0;r.M+=r.Z%100;return xm(r)}return e(r)}}function A(t,e,n,r){var i=0,a=e.length,o=n.length,s,u;while(i<a){if(r>=o)return-1;s=e.charCodeAt(i++);if(s===37){s=e.charAt(i++);u=x[s in Am?e.charAt(i++):s];if(!u||(r=u(t,n,r))<0)return-1}else if(s!=n.charCodeAt(r++)){return-1}}return r}function M(t,e,n){var r=l.exec(e.slice(n));return r?(t.p=c[r[0].toLowerCase()],n+r[0].length):-1}function z(t,e,n){var r=p.exec(e.slice(n));return r?(t.w=v[r[0].toLowerCase()],n+r[0].length):-1}function S(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=h[r[0].toLowerCase()],n+r[0].length):-1}function E(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=m[r[0].toLowerCase()],n+r[0].length):-1}function T(t,e,n){var r=d.exec(e.slice(n));return r?(t.m=g[r[0].toLowerCase()],n+r[0].length):-1}function C(t,n,r){return A(t,e,n,r)}function N(t,e,r){return A(t,n,e,r)}function P(t,e,n){return A(t,r,e,n)}function R(t){return o[t.getDay()]}function F(t){return a[t.getDay()]}function O(t){return u[t.getMonth()]}function B(t){return s[t.getMonth()]}function D(t){return i[+(t.getHours()>=12)]}function L(t){return o[t.getUTCDay()]}function I(t){return a[t.getUTCDay()]}function j(t){return u[t.getUTCMonth()]}function H(t){return s[t.getUTCMonth()]}function U(t){return i[+(t.getUTCHours()>=12)]}return{format:function(t){var e=w(t+="",_);e.toString=function(){return t};return e},parse:function(t){var e=k(t+="",bm);e.toString=function(){return t};return e},utcFormat:function(t){var e=w(t+="",b);e.toString=function(){return t};return e},utcParse:function(t){var e=k(t,xm);e.toString=function(){return t};return e}}}var Am={"-":"",_:" ",0:"0"};var Mm=/^\s*\d+/;var zm=/^%/;var Sm=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;function Em(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function Tm(t){return t.replace(Sm,"\\$&")}function Cm(t){return new RegExp("^(?:"+t.map(Tm).join("|")+")","i")}function Nm(t){var e={},n=-1,r=t.length;while(++n<r)e[t[n].toLowerCase()]=n;return e}function Pm(t,e,n){var r=Mm.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Rm(t,e,n){var r=Mm.exec(e.slice(n));return r?(t.U=+r[0],n+r[0].length):-1}function Fm(t,e,n){var r=Mm.exec(e.slice(n));return r?(t.W=+r[0],n+r[0].length):-1}function Om(t,e,n){var r=Mm.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Bm(t,e,n){var r=Mm.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Dm(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 Lm(t,e,n){var r=Mm.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Im(t,e,n){var r=Mm.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function jm(t,e,n){var r=Mm.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Hm(t,e,n){var r=Mm.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Um(t,e,n){var r=Mm.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function qm(t,e,n){var r=Mm.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Wm(t,e,n){var r=Mm.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Gm(t,e,n){var r=zm.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Ym(t,e){return Em(t.getDate(),e,2)}function Vm(t,e){return Em(t.getHours(),e,2)}function Jm(t,e){return Em(t.getHours()%12||12,e,2)}function Xm(t,e){return Em(1+Ey.count(Vy(t),t),e,3)}function Zm(t,e){return Em(t.getMilliseconds(),e,3)}function Km(t,e){return Em(t.getMonth()+1,e,2)}function Qm(t,e){return Em(t.getMinutes(),e,2)}function $m(t,e){return Em(t.getSeconds(),e,2)}function t_(t,e){return Em(Ny.count(Vy(t),t),e,2)}function e_(t){return t.getDay()}function n_(t,e){return Em(Py.count(Vy(t),t),e,2)}function r_(t,e){return Em(t.getFullYear()%100,e,2)}function i_(t,e){return Em(t.getFullYear()%1e4,e,4)}function a_(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Em(e/60|0,"0",2)+Em(e%60,"0",2)}function o_(t,e){return Em(t.getUTCDate(),e,2)}function s_(t,e){return Em(t.getUTCHours(),e,2)}function u_(t,e){return Em(t.getUTCHours()%12||12,e,2)}function l_(t,e){return Em(1+$y.count(mm(t),t),e,3)}function c_(t,e){return Em(t.getUTCMilliseconds(),e,3)}function f_(t,e){return Em(t.getUTCMonth()+1,e,2)}function h_(t,e){return Em(t.getUTCMinutes(),e,2)}function p_(t,e){return Em(t.getUTCSeconds(),e,2)}function v_(t,e){return Em(nm.count(mm(t),t),e,2)}function d_(t){return t.getUTCDay()}function g_(t,e){return Em(rm.count(mm(t),t),e,2)}function y_(t,e){return Em(t.getUTCFullYear()%100,e,2)}function m_(t,e){return Em(t.getUTCFullYear()%1e4,e,4)}function __(){return"+0000"}function b_(){return"%"}var x_;w_({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"]});function w_(e){x_=km(e);t.timeFormat=x_.format;t.timeParse=x_.parse;t.utcFormat=x_.utcFormat;t.utcParse=x_.utcParse;return x_}var k_="%Y-%m-%dT%H:%M:%S.%LZ";function A_(t){return t.toISOString()}var M_=Date.prototype.toISOString?A_:t.utcFormat(k_);function z_(t){var e=new Date(t);return isNaN(e)?null:e}var S_=+new Date("2000-01-01T00:00:00.000Z")?z_:t.utcParse(k_);var E_=1e3;var T_=E_*60;var C_=T_*60;var N_=C_*24;var P_=N_*7;var R_=N_*30;var F_=N_*365;function O_(t){return new Date(t)}function B_(t){return t instanceof Date?+t:+new Date(+t)}function D_(t,e,n,i,a,o,s,u,l){var c=Vg(Hg,Ur),f=c.invert,h=c.domain;var p=l(".%L"),v=l(":%S"),d=l("%I:%M"),g=l("%I %p"),y=l("%a %d"),m=l("%b %d"),_=l("%B"),b=l("%Y");var x=[[s,1,E_],[s,5,5*E_],[s,15,15*E_],[s,30,30*E_],[o,1,T_],[o,5,5*T_],[o,15,15*T_],[o,30,30*T_],[a,1,C_],[a,3,3*C_],[a,6,6*C_],[a,12,12*C_],[i,1,N_],[i,2,2*N_],[n,1,P_],[e,1,R_],[e,3,3*R_],[t,1,F_]];function w(r){return(s(r)<r?p:o(r)<r?v:a(r)<r?d:i(r)<r?g:e(r)<r?n(r)<r?y:m:t(r)<r?_:b)(r)}function k(e,n,i,a){if(e==null)e=10;if(typeof e==="number"){var o=Math.abs(i-n)/e,s=r((function(t){return t[2]})).right(x,o);if(s===x.length){a=S(n/F_,i/F_,e);e=t}else if(s){s=x[o/x[s-1][2]<x[s][2]/o?s-1:s];a=s[1];e=s[0]}else{a=S(n,i,e);e=u}}return a==null?e:e.every(a)}c.invert=function(t){return new Date(f(t))};c.domain=function(t){return arguments.length?h(Ng.call(t,B_)):h().map(O_)};c.ticks=function(t,e){var n=h(),r=n[0],i=n[n.length-1],a=i<r,o;if(a)o=r,r=i,i=o;o=k(t,r,i,e);o=o?o.range(r,i+1):[];return a?o.reverse():o};c.tickFormat=function(t,e){return e==null?w:l(e)};c.nice=function(t,e){var n=h();return(t=k(t,n[0],n[n.length-1],e))?h(Qg(n,t)):c};c.copy=function(){return Yg(c,D_(t,e,n,i,a,o,s,u,l))};return c}var L_=function(){return D_(Vy,Gy,Ny,Ey,zy,Ay,wy,dy,t.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])};var I_=function(){return D_(mm,gm,nm,$y,Ky,Xy,wy,dy,t.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])};var j_=function(t){return t.match(/.{6}/g).map((function(t){return"#"+t}))};var H_=j_("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");var U_=j_("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6");var q_=j_("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9");var W_=j_("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5");var G_=zi(Mr(300,.5,0),Mr(-240,.5,1));var Y_=zi(Mr(-100,.75,.35),Mr(80,1.5,.8));var V_=zi(Mr(260,.75,.35),Mr(80,1.5,.8));var J_=Mr();var X_=function(t){if(t<0||t>1)t-=Math.floor(t);var e=Math.abs(t-.5);J_.h=360*t-100;J_.s=1.5-1.5*e;J_.l=.8-.9*e;return J_+""};function Z_(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var K_=Z_(j_("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var Q_=Z_(j_("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));var $_=Z_(j_("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));var tb=Z_(j_("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function eb(t){var e=0,n=1,r=false;function i(i){var a=(i-e)/(n-e);return t(r?Math.max(0,Math.min(1,a)):a)}i.domain=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]};i.clamp=function(t){return arguments.length?(r=!!t,i):r};i.interpolator=function(e){return arguments.length?(t=e,i):t};i.copy=function(){return eb(t).domain([e,n]).clamp(r)};return Xg(i)}var nb=function(t){return function e(){return t}};var rb=Math.abs;var ib=Math.atan2;var ab=Math.cos;var ob=Math.max;var sb=Math.min;var ub=Math.sin;var lb=Math.sqrt;var cb=1e-12;var fb=Math.PI;var hb=fb/2;var pb=2*fb;function vb(t){return t>1?0:t<-1?fb:Math.acos(t)}function db(t){return t>=1?hb:t<=-1?-hb:Math.asin(t)}function gb(t){return t.innerRadius}function yb(t){return t.outerRadius}function mb(t){return t.startAngle}function _b(t){return t.endAngle}function bb(t){return t&&t.padAngle}function xb(t,e,n,r,i,a,o,s){var u=n-t,l=r-e,c=o-i,f=s-a,h=(c*(e-a)-f*(t-i))/(f*u-c*l);return[t+h*u,e+h*l]}function wb(t,e,n,r,i,a,o){var s=t-n,u=e-r,l=(o?a:-a)/lb(s*s+u*u),c=l*u,f=-l*s,h=t+c,p=e+f,v=n+c,d=r+f,g=(h+v)/2,y=(p+d)/2,m=v-h,_=d-p,b=m*m+_*_,x=i-a,w=h*d-v*p,k=(_<0?-1:1)*lb(ob(0,x*x*b-w*w)),A=(w*_-m*k)/b,M=(-w*m-_*k)/b,z=(w*_+m*k)/b,S=(-w*m+_*k)/b,E=A-g,T=M-y,C=z-g,N=S-y;if(E*E+T*T>C*C+N*N)A=z,M=S;return{cx:A,cy:M,x01:-c,y01:-f,x11:A*(i/x-1),y11:M*(i/x-1)}}var kb=function(){var t=gb,e=yb,n=nb(0),r=null,i=mb,a=_b,o=bb,s=null;function u(){var u,l,c=+t.apply(this,arguments),f=+e.apply(this,arguments),h=i.apply(this,arguments)-hb,p=a.apply(this,arguments)-hb,v=rb(p-h),d=p>h;if(!s)s=u=Ys();if(f<c)l=f,f=c,c=l;if(!(f>cb))s.moveTo(0,0);else if(v>pb-cb){s.moveTo(f*ab(h),f*ub(h));s.arc(0,0,f,h,p,!d);if(c>cb){s.moveTo(c*ab(p),c*ub(p));s.arc(0,0,c,p,h,d)}}else{var g=h,y=p,m=h,_=p,b=v,x=v,w=o.apply(this,arguments)/2,k=w>cb&&(r?+r.apply(this,arguments):lb(c*c+f*f)),A=sb(rb(f-c)/2,+n.apply(this,arguments)),M=A,z=A,S,E;if(k>cb){var T=db(k/c*ub(w)),C=db(k/f*ub(w));if((b-=T*2)>cb)T*=d?1:-1,m+=T,_-=T;else b=0,m=_=(h+p)/2;if((x-=C*2)>cb)C*=d?1:-1,g+=C,y-=C;else x=0,g=y=(h+p)/2}var N=f*ab(g),P=f*ub(g),R=c*ab(_),F=c*ub(_);if(A>cb){var O=f*ab(y),B=f*ub(y),D=c*ab(m),L=c*ub(m);if(v<fb){var I=b>cb?xb(N,P,D,L,O,B,R,F):[R,F],j=N-I[0],H=P-I[1],U=O-I[0],q=B-I[1],W=1/ub(vb((j*U+H*q)/(lb(j*j+H*H)*lb(U*U+q*q)))/2),G=lb(I[0]*I[0]+I[1]*I[1]);M=sb(A,(c-G)/(W-1));z=sb(A,(f-G)/(W+1))}}if(!(x>cb))s.moveTo(N,P);else if(z>cb){S=wb(D,L,N,P,f,z,d);E=wb(O,B,R,F,f,z,d);s.moveTo(S.cx+S.x01,S.cy+S.y01);if(z<A)s.arc(S.cx,S.cy,z,ib(S.y01,S.x01),ib(E.y01,E.x01),!d);else{s.arc(S.cx,S.cy,z,ib(S.y01,S.x01),ib(S.y11,S.x11),!d);s.arc(0,0,f,ib(S.cy+S.y11,S.cx+S.x11),ib(E.cy+E.y11,E.cx+E.x11),!d);s.arc(E.cx,E.cy,z,ib(E.y11,E.x11),ib(E.y01,E.x01),!d)}}else s.moveTo(N,P),s.arc(0,0,f,g,y,!d);if(!(c>cb)||!(b>cb))s.lineTo(R,F);else if(M>cb){S=wb(R,F,O,B,c,-M,d);E=wb(N,P,D,L,c,-M,d);s.lineTo(S.cx+S.x01,S.cy+S.y01);if(M<A)s.arc(S.cx,S.cy,M,ib(S.y01,S.x01),ib(E.y01,E.x01),!d);else{s.arc(S.cx,S.cy,M,ib(S.y01,S.x01),ib(S.y11,S.x11),!d);s.arc(0,0,c,ib(S.cy+S.y11,S.cx+S.x11),ib(E.cy+E.y11,E.cx+E.x11),d);s.arc(E.cx,E.cy,M,ib(E.y11,E.x11),ib(E.y01,E.x01),!d)}}else s.arc(0,0,c,_,m,d)}s.closePath();if(u)return s=null,u+""||null}u.centroid=function(){var n=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-fb/2;return[ab(r)*n,ub(r)*n]};u.innerRadius=function(e){return arguments.length?(t=typeof e==="function"?e:nb(+e),u):t};u.outerRadius=function(t){return arguments.length?(e=typeof t==="function"?t:nb(+t),u):e};u.cornerRadius=function(t){return arguments.length?(n=typeof t==="function"?t:nb(+t),u):n};u.padRadius=function(t){return arguments.length?(r=t==null?null:typeof t==="function"?t:nb(+t),u):r};u.startAngle=function(t){return arguments.length?(i=typeof t==="function"?t:nb(+t),u):i};u.endAngle=function(t){return arguments.length?(a=typeof t==="function"?t:nb(+t),u):a};u.padAngle=function(t){return arguments.length?(o=typeof t==="function"?t:nb(+t),u):o};u.context=function(t){return arguments.length?(s=t==null?null:t,u):s};return u};function Ab(t){this._context=t}Ab.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;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;default:this._context.lineTo(t,e);break}}};var Mb=function(t){return new Ab(t)};function zb(t){return t[0]}function Sb(t){return t[1]}var Eb=function(){var t=zb,e=Sb,n=nb(true),r=null,i=Mb,a=null;function o(o){var s,u=o.length,l,c=false,f;if(r==null)a=i(f=Ys());for(s=0;s<=u;++s){if(!(s<u&&n(l=o[s],s,o))===c){if(c=!c)a.lineStart();else a.lineEnd()}if(c)a.point(+t(l,s,o),+e(l,s,o))}if(f)return a=null,f+""||null}o.x=function(e){return arguments.length?(t=typeof e==="function"?e:nb(+e),o):t};o.y=function(t){return arguments.length?(e=typeof t==="function"?t:nb(+t),o):e};o.defined=function(t){return arguments.length?(n=typeof t==="function"?t:nb(!!t),o):n};o.curve=function(t){return arguments.length?(i=t,r!=null&&(a=i(r)),o):i};o.context=function(t){return arguments.length?(t==null?r=a=null:a=i(r=t),o):r};return o};var Tb=function(){var t=zb,e=null,n=nb(0),r=Sb,i=nb(true),a=null,o=Mb,s=null;function u(u){var l,c,f,h=u.length,p,v=false,d,g=new Array(h),y=new Array(h);if(a==null)s=o(d=Ys());for(l=0;l<=h;++l){if(!(l<h&&i(p=u[l],l,u))===v){if(v=!v){c=l;s.areaStart();s.lineStart()}else{s.lineEnd();s.lineStart();for(f=l-1;f>=c;--f){s.point(g[f],y[f])}s.lineEnd();s.areaEnd()}}if(v){g[l]=+t(p,l,u),y[l]=+n(p,l,u);s.point(e?+e(p,l,u):g[l],r?+r(p,l,u):y[l])}}if(d)return s=null,d+""||null}function l(){return Eb().defined(i).curve(o).context(a)}u.x=function(n){return arguments.length?(t=typeof n==="function"?n:nb(+n),e=null,u):t};u.x0=function(e){return arguments.length?(t=typeof e==="function"?e:nb(+e),u):t};u.x1=function(t){return arguments.length?(e=t==null?null:typeof t==="function"?t:nb(+t),u):e};u.y=function(t){return arguments.length?(n=typeof t==="function"?t:nb(+t),r=null,u):n};u.y0=function(t){return arguments.length?(n=typeof t==="function"?t:nb(+t),u):n};u.y1=function(t){return arguments.length?(r=t==null?null:typeof t==="function"?t:nb(+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=typeof t==="function"?t:nb(!!t),u):i};u.curve=function(t){return arguments.length?(o=t,a!=null&&(s=o(a)),u):o};u.context=function(t){return arguments.length?(t==null?a=s=null:s=o(a=t),u):a};return u};var Cb=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN};var Nb=function(t){return t};var Pb=function(){var t=Nb,e=Cb,n=null,r=nb(0),i=nb(pb),a=nb(0);function o(o){var s,u=o.length,l,c,f=0,h=new Array(u),p=new Array(u),v=+r.apply(this,arguments),d=Math.min(pb,Math.max(-pb,i.apply(this,arguments)-v)),g,y=Math.min(Math.abs(d)/u,a.apply(this,arguments)),m=y*(d<0?-1:1),_;for(s=0;s<u;++s){if((_=p[h[s]=s]=+t(o[s],s,o))>0){f+=_}}if(e!=null)h.sort((function(t,n){return e(p[t],p[n])}));else if(n!=null)h.sort((function(t,e){return n(o[t],o[e])}));for(s=0,c=f?(d-u*m)/f:0;s<u;++s,v=g){l=h[s],_=p[l],g=v+(_>0?_*c:0)+m,p[l]={data:o[l],index:s,value:_,startAngle:v,endAngle:g,padAngle:y}}return p}o.value=function(e){return arguments.length?(t=typeof e==="function"?e:nb(+e),o):t};o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e};o.sort=function(t){return arguments.length?(n=t,e=null,o):n};o.startAngle=function(t){return arguments.length?(r=typeof t==="function"?t:nb(+t),o):r};o.endAngle=function(t){return arguments.length?(i=typeof t==="function"?t:nb(+t),o):i};o.padAngle=function(t){return arguments.length?(a=typeof t==="function"?t:nb(+t),o):a};return o};var Rb=Ob(Mb);function Fb(t){this._curve=t}Fb.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};function Ob(t){function e(e){return new Fb(t(e))}e._curve=t;return e}function Bb(t){var e=t.curve;t.angle=t.x,delete t.x;t.radius=t.y,delete t.y;t.curve=function(t){return arguments.length?e(Ob(t)):e()._curve};return t}var Db=function(){return Bb(Eb().curve(Rb))};var Lb=function(){var t=Tb().curve(Rb),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,a=t.lineY1;t.angle=t.x,delete t.x;t.startAngle=t.x0,delete t.x0;t.endAngle=t.x1,delete t.x1;t.radius=t.y,delete t.y;t.innerRadius=t.y0,delete t.y0;t.outerRadius=t.y1,delete t.y1;t.lineStartAngle=function(){return Bb(n())},delete t.lineX0;t.lineEndAngle=function(){return Bb(r())},delete t.lineX1;t.lineInnerRadius=function(){return Bb(i())},delete t.lineY0;t.lineOuterRadius=function(){return Bb(a())},delete t.lineY1;t.curve=function(t){return arguments.length?e(Ob(t)):e()._curve};return t};var Ib=Array.prototype.slice;var jb=function(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]};function Hb(t){return t.source}function Ub(t){return t.target}function qb(t){var e=Hb,n=Ub,r=zb,i=Sb,a=null;function o(){var o,s=Ib.call(arguments),u=e.apply(this,s),l=n.apply(this,s);if(!a)a=o=Ys();t(a,+r.apply(this,(s[0]=u,s)),+i.apply(this,s),+r.apply(this,(s[0]=l,s)),+i.apply(this,s));if(o)return a=null,o+""||null}o.source=function(t){return arguments.length?(e=t,o):e};o.target=function(t){return arguments.length?(n=t,o):n};o.x=function(t){return arguments.length?(r=typeof t==="function"?t:nb(+t),o):r};o.y=function(t){return arguments.length?(i=typeof t==="function"?t:nb(+t),o):i};o.context=function(t){return arguments.length?(a=t==null?null:t,o):a};return o}function Wb(t,e,n,r,i){t.moveTo(e,n);t.bezierCurveTo(e=(e+r)/2,n,e,i,r,i)}function Gb(t,e,n,r,i){t.moveTo(e,n);t.bezierCurveTo(e,n=(n+i)/2,r,n,r,i)}function Yb(t,e,n,r,i){var a=jb(e,n),o=jb(e,n=(n+i)/2),s=jb(r,n),u=jb(r,i);t.moveTo(a[0],a[1]);t.bezierCurveTo(o[0],o[1],s[0],s[1],u[0],u[1])}function Vb(){return qb(Wb)}function Jb(){return qb(Gb)}function Xb(){var t=qb(Yb);t.angle=t.x,delete t.x;t.radius=t.y,delete t.y;return t}var Zb={draw:function(t,e){var n=Math.sqrt(e/fb);t.moveTo(n,0);t.arc(0,0,n,0,pb)}};var Kb={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n);t.lineTo(-n,-n);t.lineTo(-n,-3*n);t.lineTo(n,-3*n);t.lineTo(n,-n);t.lineTo(3*n,-n);t.lineTo(3*n,n);t.lineTo(n,n);t.lineTo(n,3*n);t.lineTo(-n,3*n);t.lineTo(-n,n);t.lineTo(-3*n,n);t.closePath()}};var Qb=Math.sqrt(1/3);var $b=Qb*2;var tx={draw:function(t,e){var n=Math.sqrt(e/$b),r=n*Qb;t.moveTo(0,-n);t.lineTo(r,0);t.lineTo(0,n);t.lineTo(-r,0);t.closePath()}};var ex=.8908130915292852;var nx=Math.sin(fb/10)/Math.sin(7*fb/10);var rx=Math.sin(pb/10)*nx;var ix=-Math.cos(pb/10)*nx;var ax={draw:function(t,e){var n=Math.sqrt(e*ex),r=rx*n,i=ix*n;t.moveTo(0,-n);t.lineTo(r,i);for(var a=1;a<5;++a){var o=pb*a/5,s=Math.cos(o),u=Math.sin(o);t.lineTo(u*n,-s*n);t.lineTo(s*r-u*i,u*r+s*i)}t.closePath()}};var ox={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}};var sx=Math.sqrt(3);var ux={draw:function(t,e){var n=-Math.sqrt(e/(sx*3));t.moveTo(0,n*2);t.lineTo(-sx*n,-n);t.lineTo(sx*n,-n);t.closePath()}};var lx=-.5;var cx=Math.sqrt(3)/2;var fx=1/Math.sqrt(12);var hx=(fx/2+1)*3;var px={draw:function(t,e){var n=Math.sqrt(e/hx),r=n/2,i=n*fx,a=r,o=n*fx+n,s=-a,u=o;t.moveTo(r,i);t.lineTo(a,o);t.lineTo(s,u);t.lineTo(lx*r-cx*i,cx*r+lx*i);t.lineTo(lx*a-cx*o,cx*a+lx*o);t.lineTo(lx*s-cx*u,cx*s+lx*u);t.lineTo(lx*r+cx*i,lx*i-cx*r);t.lineTo(lx*a+cx*o,lx*o-cx*a);t.lineTo(lx*s+cx*u,lx*u-cx*s);t.closePath()}};var vx=[Zb,Kb,tx,ox,ax,ux,px];var dx=function(){var t=nb(Zb),e=nb(64),n=null;function r(){var r;if(!n)n=r=Ys();t.apply(this,arguments).draw(n,+e.apply(this,arguments));if(r)return n=null,r+""||null}r.type=function(e){return arguments.length?(t=typeof e==="function"?e:nb(e),r):t};r.size=function(t){return arguments.length?(e=typeof t==="function"?t:nb(+t),r):e};r.context=function(t){return arguments.length?(n=t==null?null:t,r):n};return r};var gx=function(){};function yx(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function mx(t){this._context=t}mx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN;this._point=0},lineEnd:function(){switch(this._point){case 3:yx(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;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;this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:yx(this,t,e);break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e}};var _x=function(t){return new mx(t)};function bx(t){this._context=t}bx.prototype={areaStart:gx,areaEnd:gx,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN;this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2);this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3);this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3);this._context.closePath();break}case 3:{this.point(this._x2,this._y2);this.point(this._x3,this._y3);this.point(this._x4,this._y4);break}}},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;this._x2=t,this._y2=e;break;case 1:this._point=2;this._x3=t,this._y3=e;break;case 2:this._point=3;this._x4=t,this._y4=e;this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:yx(this,t,e);break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e}};var xx=function(t){return new bx(t)};function wx(t){this._context=t}wx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN;this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:yx(this,t,e);break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e}};var kx=function(t){return new wx(t)};function Ax(t,e){this._basis=new mx(t);this._beta=e}Ax.prototype={lineStart:function(){this._x=[];this._y=[];this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0){var r=t[0],i=e[0],a=t[n]-r,o=e[n]-i,s=-1,u;while(++s<=n){u=s/n;this._basis.point(this._beta*t[s]+(1-this._beta)*(r+u*a),this._beta*e[s]+(1-this._beta)*(i+u*o))}}this._x=this._y=null;this._basis.lineEnd()},point:function(t,e){this._x.push(+t);this._y.push(+e)}};var Mx=function t(e){function n(t){return e===1?new mx(t):new Ax(t,e)}n.beta=function(e){return t(+e)};return n}(.85);function zx(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 Sx(t,e){this._context=t;this._k=(1-e)/6}Sx.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:zx(this,this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;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;this._x1=t,this._y1=e;break;case 2:this._point=3;default:zx(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Ex=function t(e){function n(t){return new Sx(t,e)}n.tension=function(e){return t(+e)};return n}(0);function Tx(t,e){this._context=t;this._k=(1-e)/6}Tx.prototype={areaStart:gx,areaEnd:gx,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);break}}},point:function(t,e){t=+t,e=+e;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:zx(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Cx=function t(e){function n(t){return new Tx(t,e)}n.tension=function(e){return t(+e)};return n}(0);function Nx(t,e){this._context=t;this._k=(1-e)/6}Nx.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(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;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:zx(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t;this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Px=function t(e){function n(t){return new Nx(t,e)}n.tension=function(e){return t(+e)};return n}(0);function Rx(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>cb){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>cb){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);a=(a*l+t._x1*t._l23_2a-e*t._l12_2a)/c;o=(o*l+t._y1*t._l23_2a-n*t._l12_2a)/c}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function Fx(t,e){this._context=t;this._alpha=e}Fx.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);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;if(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:Rx(this,t,e);break}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 Ox=function t(e){function n(t){return e?new Fx(t,e):new Sx(t,0)}n.alpha=function(e){return t(+e)};return n}(.5);function Bx(t,e){this._context=t;this._alpha=e}Bx.prototype={areaStart:gx,areaEnd:gx,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);break}}},point:function(t,e){t=+t,e=+e;if(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:Rx(this,t,e);break}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 Dx=function t(e){function n(t){return e?new Bx(t,e):new Tx(t,0)}n.alpha=function(e){return t(+e)};return n}(.5);function Lx(t,e){this._context=t;this._alpha=e}Lx.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(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(t,e){t=+t,e=+e;if(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:Rx(this,t,e);break}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 Ix=function t(e){function n(t){return e?new Lx(t,e):new Nx(t,0)}n.alpha=function(e){return t(+e)};return n}(.5);function jx(t){this._context=t}jx.prototype={areaStart:gx,areaEnd:gx,lineStart:function(){this._point=0},lineEnd:function(){if(this._point)this._context.closePath()},point:function(t,e){t=+t,e=+e;if(this._point)this._context.lineTo(t,e);else this._point=1,this._context.moveTo(t,e)}};var Hx=function(t){return new jx(t)};function Ux(t){return t<0?-1:1}function qx(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Ux(a)+Ux(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Wx(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Gx(t,e,n){var r=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-r)/3;t._context.bezierCurveTo(r+s,i+s*e,a-s,o-s*n,a,o)}function Yx(t){this._context=t}Yx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN;this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Gx(this,this._t0,Wx(this,this._t0));break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(t,e){var n=NaN;t=+t,e=+e;if(t===this._x1&&e===this._y1)return;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;Gx(this,Wx(this,n=qx(this,t,e)),n);break;default:Gx(this,this._t0,n=qx(this,t,e));break}this._x0=this._x1,this._x1=t;this._y0=this._y1,this._y1=e;this._t0=n}};function Vx(t){this._context=new Jx(t)}(Vx.prototype=Object.create(Yx.prototype)).point=function(t,e){Yx.prototype.point.call(this,e,t)};function Jx(t){this._context=t}Jx.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,a){this._context.bezierCurveTo(e,t,r,n,a,i)}};function Xx(t){return new Yx(t)}function Zx(t){return new Vx(t)}function Kx(t){this._context=t}Kx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[];this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n){this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]);if(n===2){this._context.lineTo(t[1],e[1])}else{var r=Qx(t),i=Qx(e);for(var a=0,o=1;o<n;++a,++o){this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],t[o],e[o])}}}if(this._line||this._line!==0&&n===1)this._context.closePath();this._line=1-this._line;this._x=this._y=null},point:function(t,e){this._x.push(+t);this._y.push(+e)}};function Qx(t){var e,n=t.length-1,r,i=new Array(n),a=new Array(n),o=new Array(n);i[0]=0,a[0]=2,o[0]=t[0]+2*t[1];for(e=1;e<n-1;++e)i[e]=1,a[e]=4,o[e]=4*t[e]+2*t[e+1];i[n-1]=2,a[n-1]=7,o[n-1]=8*t[n-1]+t[n];for(e=1;e<n;++e)r=i[e]/a[e-1],a[e]-=r,o[e]-=r*o[e-1];i[n-1]=o[n-1]/a[n-1];for(e=n-2;e>=0;--e)i[e]=(o[e]-i[e+1])/a[e];a[n-1]=(t[n]+i[n-1])/2;for(e=0;e<n-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}var $x=function(t){return new Kx(t)};function tw(t,e){this._context=t;this._t=e}tw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN;this._point=0},lineEnd:function(){if(0<this._t&&this._t<1&&this._point===2)this._context.lineTo(this._x,this._y);if(this._line||this._line!==0&&this._point===1)this._context.closePath();if(this._line>=0)this._t=1-this._t,this._line=1-this._line},point:function(t,e){t=+t,e=+e;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;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)}break}}this._x=t,this._y=e}};var ew=function(t){return new tw(t,.5)};function nw(t){return new tw(t,0)}function rw(t){return new tw(t,1)}var iw=function(t,e){if(!((o=t.length)>1))return;for(var n=1,r,i,a=t[e[0]],o,s=a.length;n<o;++n){i=a,a=t[e[n]];for(r=0;r<s;++r){a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}}};var aw=function(t){var e=t.length,n=new Array(e);while(--e>=0)n[e]=e;return n};function ow(t,e){return t[e]}var sw=function(){var t=nb([]),e=aw,n=iw,r=ow;function i(i){var a=t.apply(this,arguments),o,s=i.length,u=a.length,l=new Array(u),c;for(o=0;o<u;++o){for(var f=a[o],h=l[o]=new Array(s),p=0,v;p<s;++p){h[p]=v=[0,+r(i[p],f,p,i)];v.data=i[p]}h.key=f}for(o=0,c=e(l);o<u;++o){l[c[o]].index=o}n(l,c);return l}i.keys=function(e){return arguments.length?(t=typeof e==="function"?e:nb(Ib.call(e)),i):t};i.value=function(t){return arguments.length?(r=typeof t==="function"?t:nb(+t),i):r};i.order=function(t){return arguments.length?(e=t==null?aw:typeof t==="function"?t:nb(Ib.call(t)),i):e};i.offset=function(t){return arguments.length?(n=t==null?iw:t,i):n};return i};var uw=function(t,e){if(!((r=t.length)>0))return;for(var n,r,i=0,a=t[0].length,o;i<a;++i){for(o=n=0;n<r;++n)o+=t[n][i][1]||0;if(o)for(n=0;n<r;++n)t[n][i][1]/=o}iw(t,e)};var lw=function(t,e){if(!((u=t.length)>1))return;for(var n,r=0,i,a,o,s,u,l=t[e[0]].length;r<l;++r){for(o=s=0,n=0;n<u;++n){if((a=(i=t[e[n]][r])[1]-i[0])>=0){i[0]=o,i[1]=o+=a}else if(a<0){i[1]=s,i[0]=s+=a}else{i[0]=o}}}};var cw=function(t,e){if(!((i=t.length)>0))return;for(var n=0,r=t[e[0]],i,a=r.length;n<a;++n){for(var o=0,s=0;o<i;++o)s+=t[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}iw(t,e)};var fw=function(t,e){if(!((o=t.length)>0)||!((a=(i=t[e[0]]).length)>0))return;for(var n=0,r=1,i,a,o;r<a;++r){for(var s=0,u=0,l=0;s<o;++s){var c=t[e[s]],f=c[r][1]||0,h=c[r-1][1]||0,p=(f-h)/2;for(var v=0;v<s;++v){var d=t[e[v]],g=d[r][1]||0,y=d[r-1][1]||0;p+=g-y}u+=f,l+=p*f}i[r-1][1]+=i[r-1][0]=n;if(u)n-=l/u}i[r-1][1]+=i[r-1][0]=n;iw(t,e)};var hw=function(t){var e=t.map(pw);return aw(t).sort((function(t,n){return e[t]-e[n]}))};function pw(t){var e=0,n=-1,r=t.length,i;while(++n<r)if(i=+t[n][1])e+=i;return e}var vw=function(t){return hw(t).reverse()};var dw=function(t){var e=t.length,n,r,i=t.map(pw),a=aw(t).sort((function(t,e){return i[e]-i[t]})),o=0,s=0,u=[],l=[];for(n=0;n<e;++n){r=a[n];if(o<s){o+=i[r];u.push(r)}else{s+=i[r];l.push(r)}}return l.reverse().concat(u)};var gw=function(t){return aw(t).reverse()};var yw=function(t){return function(){return t}};function mw(t){return t[0]}function _w(t){return t[1]}function bw(){this._=null}function xw(t){t.U=t.C=t.L=t.R=t.P=t.N=null}bw.prototype={constructor:bw,insert:function(t,e){var n,r,i;if(t){e.P=t;e.N=t.N;if(t.N)t.N.P=e;t.N=e;if(t.R){t=t.R;while(t.L)t=t.L;t.L=e}else{t.R=e}n=t}else if(this._){t=Aw(this._);e.P=null;e.N=t;t.P=t.L=e;n=t}else{e.P=e.N=null;this._=e;n=null}e.L=e.R=null;e.U=n;e.C=true;t=e;while(n&&n.C){r=n.U;if(n===r.L){i=r.R;if(i&&i.C){n.C=i.C=false;r.C=true;t=r}else{if(t===n.R){ww(this,n);t=n;n=t.U}n.C=false;r.C=true;kw(this,r)}}else{i=r.L;if(i&&i.C){n.C=i.C=false;r.C=true;t=r}else{if(t===n.L){kw(this,n);t=n;n=t.U}n.C=false;r.C=true;ww(this,r)}}n=t.U}this._.C=false},remove:function(t){if(t.N)t.N.P=t.P;if(t.P)t.P.N=t.N;t.N=t.P=null;var e=t.U,n,r=t.L,i=t.R,a,o;if(!r)a=i;else if(!i)a=r;else a=Aw(i);if(e){if(e.L===t)e.L=a;else e.R=a}else{this._=a}if(r&&i){o=a.C;a.C=t.C;a.L=r;r.U=a;if(a!==i){e=a.U;a.U=t.U;t=a.R;e.L=t;a.R=i;i.U=a}else{a.U=e;e=a;t=a.R}}else{o=t.C;t=a}if(t)t.U=e;if(o)return;if(t&&t.C){t.C=false;return}do{if(t===this._)break;if(t===e.L){n=e.R;if(n.C){n.C=false;e.C=true;ww(this,e);n=e.R}if(n.L&&n.L.C||n.R&&n.R.C){if(!n.R||!n.R.C){n.L.C=false;n.C=true;kw(this,n);n=e.R}n.C=e.C;e.C=n.R.C=false;ww(this,e);t=this._;break}}else{n=e.L;if(n.C){n.C=false;e.C=true;kw(this,e);n=e.L}if(n.L&&n.L.C||n.R&&n.R.C){if(!n.L||!n.L.C){n.R.C=false;n.C=true;ww(this,n);n=e.L}n.C=e.C;e.C=n.L.C=false;kw(this,e);t=this._;break}}n.C=true;t=e;e=e.U}while(!t.C);if(t)t.C=false}};function ww(t,e){var n=e,r=e.R,i=n.U;if(i){if(i.L===n)i.L=r;else i.R=r}else{t._=r}r.U=i;n.U=r;n.R=r.L;if(n.R)n.R.U=n;r.L=n}function kw(t,e){var n=e,r=e.L,i=n.U;if(i){if(i.L===n)i.L=r;else i.R=r}else{t._=r}r.U=i;n.U=r;n.L=r.R;if(n.L)n.L.U=n;r.R=n}function Aw(t){while(t.L)t=t.L;return t}function Mw(t,e,n,r){var i=[null,null],a=ek.push(i)-1;i.left=t;i.right=e;if(n)Sw(i,t,e,n);if(r)Sw(i,e,t,r);$w[t.index].halfedges.push(a);$w[e.index].halfedges.push(a);return i}function zw(t,e,n){var r=[e,n];r.left=t;return r}function Sw(t,e,n,r){if(!t[0]&&!t[1]){t[0]=r;t.left=e;t.right=n}else if(t.left===n){t[1]=r}else{t[0]=r}}function Ew(t,e,n,r,i){var a=t[0],o=t[1],s=a[0],u=a[1],l=o[0],c=o[1],f=0,h=1,p=l-s,v=c-u,d;d=e-s;if(!p&&d>0)return;d/=p;if(p<0){if(d<f)return;if(d<h)h=d}else if(p>0){if(d>h)return;if(d>f)f=d}d=r-s;if(!p&&d<0)return;d/=p;if(p<0){if(d>h)return;if(d>f)f=d}else if(p>0){if(d<f)return;if(d<h)h=d}d=n-u;if(!v&&d>0)return;d/=v;if(v<0){if(d<f)return;if(d<h)h=d}else if(v>0){if(d>h)return;if(d>f)f=d}d=i-u;if(!v&&d<0)return;d/=v;if(v<0){if(d>h)return;if(d>f)f=d}else if(v>0){if(d<f)return;if(d<h)h=d}if(!(f>0)&&!(h<1))return true;if(f>0)t[0]=[s+f*p,u+f*v];if(h<1)t[1]=[s+h*p,u+h*v];return true}function Tw(t,e,n,r,i){var a=t[1];if(a)return true;var o=t[0],s=t.left,u=t.right,l=s[0],c=s[1],f=u[0],h=u[1],p=(l+f)/2,v=(c+h)/2,d,g;if(h===c){if(p<e||p>=r)return;if(l>f){if(!o)o=[p,n];else if(o[1]>=i)return;a=[p,i]}else{if(!o)o=[p,i];else if(o[1]<n)return;a=[p,n]}}else{d=(l-f)/(h-c);g=v-d*p;if(d<-1||d>1){if(l>f){if(!o)o=[(n-g)/d,n];else if(o[1]>=i)return;a=[(i-g)/d,i]}else{if(!o)o=[(i-g)/d,i];else if(o[1]<n)return;a=[(n-g)/d,n]}}else{if(c<h){if(!o)o=[e,d*e+g];else if(o[0]>=r)return;a=[r,d*r+g]}else{if(!o)o=[r,d*r+g];else if(o[0]<e)return;a=[e,d*e+g]}}}t[0]=o;t[1]=a;return true}function Cw(t,e,n,r){var i=ek.length,a;while(i--){if(!Tw(a=ek[i],t,e,n,r)||!Ew(a,t,e,n,r)||!(Math.abs(a[0][0]-a[1][0])>Zw||Math.abs(a[0][1]-a[1][1])>Zw)){delete ek[i]}}}function Nw(t){return $w[t.index]={site:t,halfedges:[]}}function Pw(t,e){var n=t.site,r=e.left,i=e.right;if(n===i)i=r,r=n;if(i)return Math.atan2(i[1]-r[1],i[0]-r[0]);if(n===r)r=e[1],i=e[0];else r=e[0],i=e[1];return Math.atan2(r[0]-i[0],i[1]-r[1])}function Rw(t,e){return e[+(e.left!==t.site)]}function Fw(t,e){return e[+(e.left===t.site)]}function Ow(){for(var t=0,e=$w.length,n,r,i,a;t<e;++t){if((n=$w[t])&&(a=(r=n.halfedges).length)){var o=new Array(a),s=new Array(a);for(i=0;i<a;++i)o[i]=i,s[i]=Pw(n,ek[r[i]]);o.sort((function(t,e){return s[e]-s[t]}));for(i=0;i<a;++i)s[i]=r[o[i]];for(i=0;i<a;++i)r[i]=s[i]}}}function Bw(t,e,n,r){var i=$w.length,a,o,s,u,l,c,f,h,p,v,d,g,y=true;for(a=0;a<i;++a){if(o=$w[a]){s=o.site;l=o.halfedges;u=l.length;while(u--){if(!ek[l[u]]){l.splice(u,1)}}u=0,c=l.length;while(u<c){v=Fw(o,ek[l[u]]),d=v[0],g=v[1];f=Rw(o,ek[l[++u%c]]),h=f[0],p=f[1];if(Math.abs(d-h)>Zw||Math.abs(g-p)>Zw){l.splice(u,0,ek.push(zw(s,v,Math.abs(d-t)<Zw&&r-g>Zw?[t,Math.abs(h-t)<Zw?p:r]:Math.abs(g-r)<Zw&&n-d>Zw?[Math.abs(p-r)<Zw?h:n,r]:Math.abs(d-n)<Zw&&g-e>Zw?[n,Math.abs(h-n)<Zw?p:e]:Math.abs(g-e)<Zw&&d-t>Zw?[Math.abs(p-e)<Zw?h:t,e]:null))-1);++c}}if(c)y=false}}if(y){var m,_,b,x=Infinity;for(a=0,y=null;a<i;++a){if(o=$w[a]){s=o.site;m=s[0]-t;_=s[1]-e;b=m*m+_*_;if(b<x)x=b,y=o}}if(y){var w=[t,e],k=[t,r],A=[n,r],M=[n,e];y.halfedges.push(ek.push(zw(s=y.site,w,k))-1,ek.push(zw(s,k,A))-1,ek.push(zw(s,A,M))-1,ek.push(zw(s,M,w))-1)}}for(a=0;a<i;++a){if(o=$w[a]){if(!o.halfedges.length){delete $w[a]}}}}var Dw=[];var Lw;function Iw(){xw(this);this.x=this.y=this.arc=this.site=this.cy=null}function jw(t){var e=t.P,n=t.N;if(!e||!n)return;var r=e.site,i=t.site,a=n.site;if(r===a)return;var o=i[0],s=i[1],u=r[0]-o,l=r[1]-s,c=a[0]-o,f=a[1]-s;var h=2*(u*f-l*c);if(h>=-Kw)return;var p=u*u+l*l,v=c*c+f*f,d=(f*p-l*v)/h,g=(u*v-c*p)/h;var y=Dw.pop()||new Iw;y.arc=t;y.site=i;y.x=d+o;y.y=(y.cy=g+s)+Math.sqrt(d*d+g*g);t.circle=y;var m=null,_=tk._;while(_){if(y.y<_.y||y.y===_.y&&y.x<=_.x){if(_.L)_=_.L;else{m=_.P;break}}else{if(_.R)_=_.R;else{m=_;break}}}tk.insert(m,y);if(!m)Lw=y}function Hw(t){var e=t.circle;if(e){if(!e.P)Lw=e.N;tk.remove(e);Dw.push(e);xw(e);t.circle=null}}var Uw=[];function qw(){xw(this);this.edge=this.site=this.circle=null}function Ww(t){var e=Uw.pop()||new qw;e.site=t;return e}function Gw(t){Hw(t);Qw.remove(t);Uw.push(t);xw(t)}function Yw(t){var e=t.circle,n=e.x,r=e.cy,i=[n,r],a=t.P,o=t.N,s=[t];Gw(t);var u=a;while(u.circle&&Math.abs(n-u.circle.x)<Zw&&Math.abs(r-u.circle.cy)<Zw){a=u.P;s.unshift(u);Gw(u);u=a}s.unshift(u);Hw(u);var l=o;while(l.circle&&Math.abs(n-l.circle.x)<Zw&&Math.abs(r-l.circle.cy)<Zw){o=l.N;s.push(l);Gw(l);l=o}s.push(l);Hw(l);var c=s.length,f;for(f=1;f<c;++f){l=s[f];u=s[f-1];Sw(l.edge,u.site,l.site,i)}u=s[0];l=s[c-1];l.edge=Mw(u.site,l.site,null,i);jw(u);jw(l)}function Vw(t){var e=t[0],n=t[1],r,i,a,o,s=Qw._;while(s){a=Jw(s,n)-e;if(a>Zw)s=s.L;else{o=e-Xw(s,n);if(o>Zw){if(!s.R){r=s;break}s=s.R}else{if(a>-Zw){r=s.P;i=s}else if(o>-Zw){r=s;i=s.N}else{r=i=s}break}}}Nw(t);var u=Ww(t);Qw.insert(r,u);if(!r&&!i)return;if(r===i){Hw(r);i=Ww(r.site);Qw.insert(u,i);u.edge=i.edge=Mw(r.site,u.site);jw(r);jw(i);return}if(!i){u.edge=Mw(r.site,u.site);return}Hw(r);Hw(i);var l=r.site,c=l[0],f=l[1],h=t[0]-c,p=t[1]-f,v=i.site,d=v[0]-c,g=v[1]-f,y=2*(h*g-p*d),m=h*h+p*p,_=d*d+g*g,b=[(g*m-p*_)/y+c,(h*_-d*m)/y+f];Sw(i.edge,l,v,b);u.edge=Mw(l,t,null,b);i.edge=Mw(t,v,null,b);jw(r);jw(i)}function Jw(t,e){var n=t.site,r=n[0],i=n[1],a=i-e;if(!a)return r;var o=t.P;if(!o)return-Infinity;n=o.site;var s=n[0],u=n[1],l=u-e;if(!l)return s;var c=s-r,f=1/a-1/l,h=c/l;if(f)return(-h+Math.sqrt(h*h-2*f*(c*c/(-2*l)-u+l/2+i-a/2)))/f+r;return(r+s)/2}function Xw(t,e){var n=t.N;if(n)return Jw(n,e);var r=t.site;return r[1]===e?r[0]:Infinity}var Zw=1e-6;var Kw=1e-12;var Qw;var $w;var tk;var ek;function nk(t,e,n){return(t[0]-n[0])*(e[1]-t[1])-(t[0]-e[0])*(n[1]-t[1])}function rk(t,e){return e[1]-t[1]||e[0]-t[0]}function ik(t,e){var n=t.sort(rk).pop(),r,i,a;ek=[];$w=new Array(t.length);Qw=new bw;tk=new bw;while(true){a=Lw;if(n&&(!a||n[1]<a.y||n[1]===a.y&&n[0]<a.x)){if(n[0]!==r||n[1]!==i){Vw(n);r=n[0],i=n[1]}n=t.pop()}else if(a){Yw(a.arc)}else{break}}Ow();if(e){var o=+e[0][0],s=+e[0][1],u=+e[1][0],l=+e[1][1];Cw(o,s,u,l);Bw(o,s,u,l)}this.edges=ek;this.cells=$w;Qw=tk=ek=$w=null}ik.prototype={constructor:ik,polygons:function(){var t=this.edges;return this.cells.map((function(e){var n=e.halfedges.map((function(n){return Rw(e,t[n])}));n.data=e.site.data;return n}))},triangles:function(){var t=[],e=this.edges;this.cells.forEach((function(n,r){if(!(s=(a=n.halfedges).length))return;var i=n.site,a,o=-1,s,u,l=e[a[s-1]],c=l.left===i?l.right:l.left;while(++o<s){u=c;l=e[a[o]];c=l.left===i?l.right:l.left;if(u&&c&&r<u.index&&r<c.index&&nk(i,u,c)<0){t.push([i.data,u.data,c.data])}}}));return t},links:function(){return this.edges.filter((function(t){return t.right})).map((function(t){return{source:t.left.data,target:t.right.data}}))},find:function(t,e,n){var r=this,i,a=r._found||0,o=r.cells.length,s;while(!(s=r.cells[a]))if(++a>=o)return null;var u=t-s.site[0],l=e-s.site[1],c=u*u+l*l;do{s=r.cells[i=a],a=null;s.halfedges.forEach((function(n){var i=r.edges[n],o=i.left;if((o===s.site||!o)&&!(o=i.right))return;var u=t-o[0],l=e-o[1],f=u*u+l*l;if(f<c)c=f,a=o.index}))}while(a!==null);r._found=i;return n==null||c<=n*n?s.site:null}};var ak=function(){var t=mw,e=_w,n=null;function r(r){return new ik(r.map((function(n,i){var a=[Math.round(t(n,i,r)/Zw)*Zw,Math.round(e(n,i,r)/Zw)*Zw];a.index=i;a.data=n;return a})),n)}r.polygons=function(t){return r(t).polygons()};r.links=function(t){return r(t).links()};r.triangles=function(t){return r(t).triangles()};r.x=function(e){return arguments.length?(t=typeof e==="function"?e:yw(+e),r):t};r.y=function(t){return arguments.length?(e=typeof t==="function"?t:yw(+t),r):e};r.extent=function(t){return arguments.length?(n=t==null?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):n&&[[n[0][0],n[0][1]],[n[1][0],n[1][1]]]};r.size=function(t){return arguments.length?(n=t==null?null:[[0,0],[+t[0],+t[1]]],r):n&&[n[1][0]-n[0][0],n[1][1]-n[0][1]]};return r};var ok=function(t){return function(){return t}};function sk(t,e,n){this.target=t;this.type=e;this.transform=n}function uk(t,e,n){this.k=t;this.x=e;this.y=n}uk.prototype={constructor:uk,scale:function(t){return t===1?this:new uk(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new uk(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var lk=new uk(1,0,0);ck.prototype=uk.prototype;function ck(t){return t.__zoom||lk}function fk(){t.event.stopImmediatePropagation()}var hk=function(){t.event.preventDefault();t.event.stopImmediatePropagation()};function pk(){return!t.event.button}function vk(){var t=this,e,n;if(t instanceof SVGElement){t=t.ownerSVGElement||t;e=t.width.baseVal.value;n=t.height.baseVal.value}else{e=t.clientWidth;n=t.clientHeight}return[[0,0],[e,n]]}function dk(){return this.__zoom||lk}var gk=function(){var e=pk,n=vk,r=0,i=Infinity,a=-i,o=i,s=a,u=o,l=250,c=gi,f=[],h=ut("start","zoom","end"),p,v,d=500,g=150,y=0;function m(t){t.on("wheel.zoom",z).on("mousedown.zoom",S).on("dblclick.zoom",E).on("touchstart.zoom",T).on("touchmove.zoom",C).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)").property("__zoom",dk)}m.transform=function(t,e){var n=t.selection?t.selection():t;n.property("__zoom",dk);if(t!==n){k(t,e)}else{n.interrupt().each((function(){A(this,arguments).start().zoom(null,typeof e==="function"?e.apply(this,arguments):e).end()}))}};m.scaleBy=function(t,e){m.scaleTo(t,(function(){var t=this.__zoom.k,n=typeof e==="function"?e.apply(this,arguments):e;return t*n}))};m.scaleTo=function(t,e){m.transform(t,(function(){var t=n.apply(this,arguments),r=this.__zoom,i=w(t),a=r.invert(i),o=typeof e==="function"?e.apply(this,arguments):e;return x(b(_(r,o),i,a),t)}))};m.translateBy=function(t,e,r){m.transform(t,(function(){return x(this.__zoom.translate(typeof e==="function"?e.apply(this,arguments):e,typeof r==="function"?r.apply(this,arguments):r),n.apply(this,arguments))}))};function _(t,e){e=Math.max(r,Math.min(i,e));return e===t.k?t:new uk(e,t.x,t.y)}function b(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new uk(t.k,r,i)}function x(t,e){var n=t.invertX(e[0][0])-a,r=t.invertX(e[1][0])-o,i=t.invertY(e[0][1])-s,l=t.invertY(e[1][1])-u;return t.translate(r>n?(n+r)/2:Math.min(0,n)||Math.max(0,r),l>i?(i+l)/2:Math.min(0,i)||Math.max(0,l))}function w(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function k(t,e,r){t.on("start.zoom",(function(){A(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){A(this,arguments).end()})).tween("zoom",(function(){var t=this,i=arguments,a=A(t,i),o=n.apply(t,i),s=r||w(o),u=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),l=t.__zoom,f=typeof e==="function"?e.apply(t,i):e,h=c(l.invert(s).concat(u/l.k),f.invert(s).concat(u/f.k));return function(t){if(t===1)t=f;else{var e=h(t),n=u/e[2];t=new uk(n,s[0]-e[0]*n,s[1]-e[1]*n)}a.zoom(null,t)}}))}function A(t,e){for(var n=0,r=f.length,i;n<r;++n){if((i=f[n]).that===t){return i}}return new M(t,e)}function M(t,e){this.that=t;this.args=e;this.index=-1;this.active=0;this.extent=n.apply(t,e)}M.prototype={start:function(){if(++this.active===1){this.index=f.push(this)-1;this.emit("start")}return this},zoom:function(t,e){if(this.mouse&&t!=="mouse")this.mouse[1]=e.invert(this.mouse[0]);if(this.touch0&&t!=="touch")this.touch0[1]=e.invert(this.touch0[0]);if(this.touch1&&t!=="touch")this.touch1[1]=e.invert(this.touch1[0]);this.that.__zoom=e;this.emit("zoom");return this},end:function(){if(--this.active===0){f.splice(this.index,1);this.index=-1;this.emit("end")}return this},emit:function(t){Ft(new sk(m,t,this.that.__zoom),h.apply,h,[t,this.that,this.args])}};function z(){if(!e.apply(this,arguments))return;var n=A(this,arguments),a=this.__zoom,o=Math.max(r,Math.min(i,a.k*Math.pow(2,-t.event.deltaY*(t.event.deltaMode?120:1)/500))),s=Dt(this);if(n.wheel){if(n.mouse[0][0]!==s[0]||n.mouse[0][1]!==s[1]){n.mouse[1]=a.invert(n.mouse[0]=s)}clearTimeout(n.wheel)}else if(a.k===o)return;else{n.mouse=[s,a.invert(s)];ca(this);n.start()}hk();n.wheel=setTimeout(u,g);n.zoom("mouse",x(b(_(a,o),n.mouse[0],n.mouse[1]),n.extent));function u(){n.wheel=null;n.end()}}function S(){if(v||!e.apply(this,arguments))return;var n=A(this,arguments),r=un(t.event.view).on("mousemove.zoom",s,true).on("mouseup.zoom",u,true),i=Dt(this),a=t.event.clientX,o=t.event.clientY;vn(t.event.view);fk();n.mouse=[i,this.__zoom.invert(i)];ca(this);n.start();function s(){hk();if(!n.moved){var e=t.event.clientX-a,r=t.event.clientY-o;n.moved=e*e+r*r>y}n.zoom("mouse",x(b(n.that.__zoom,n.mouse[0]=Dt(n.that),n.mouse[1]),n.extent))}function u(){r.on("mousemove.zoom mouseup.zoom",null);dn(t.event.view,n.moved);hk();n.end()}}function E(){if(!e.apply(this,arguments))return;var r=this.__zoom,i=Dt(this),a=r.invert(i),o=r.k*(t.event.shiftKey?.5:2),s=x(b(_(r,o),i,a),n.apply(this,arguments));hk();if(l>0)un(this).transition().duration(l).call(k,s,i);else un(this).call(m.transform,s)}function T(){if(!e.apply(this,arguments))return;var n=A(this,arguments),r=t.event.changedTouches,i,a=r.length,o,s,u;fk();for(o=0;o<a;++o){s=r[o],u=cn(this,r,s.identifier);u=[u,this.__zoom.invert(u),s.identifier];if(!n.touch0)n.touch0=u,i=true;else if(!n.touch1)n.touch1=u}if(p){p=clearTimeout(p);if(!n.touch1){n.end();u=un(this).on("dblclick.zoom");if(u)u.apply(this,arguments);return}}if(i){p=setTimeout((function(){p=null}),d);ca(this);n.start()}}function C(){var e=A(this,arguments),n=t.event.changedTouches,r=n.length,i,a,o,s;hk();if(p)p=clearTimeout(p);for(i=0;i<r;++i){a=n[i],o=cn(this,n,a.identifier);if(e.touch0&&e.touch0[2]===a.identifier)e.touch0[0]=o;else if(e.touch1&&e.touch1[2]===a.identifier)e.touch1[0]=o}a=e.that.__zoom;if(e.touch1){var u=e.touch0[0],l=e.touch0[1],c=e.touch1[0],f=e.touch1[1],h=(h=c[0]-u[0])*h+(h=c[1]-u[1])*h,v=(v=f[0]-l[0])*v+(v=f[1]-l[1])*v;a=_(a,Math.sqrt(h/v));o=[(u[0]+c[0])/2,(u[1]+c[1])/2];s=[(l[0]+f[0])/2,(l[1]+f[1])/2]}else if(e.touch0)o=e.touch0[0],s=e.touch0[1];else return;e.zoom("touch",x(b(a,o,s),e.extent))}function N(){var e=A(this,arguments),n=t.event.changedTouches,r=n.length,i,a;fk();if(v)clearTimeout(v);v=setTimeout((function(){v=null}),d);for(i=0;i<r;++i){a=n[i];if(e.touch0&&e.touch0[2]===a.identifier)delete e.touch0;else if(e.touch1&&e.touch1[2]===a.identifier)delete e.touch1}if(e.touch1&&!e.touch0)e.touch0=e.touch1,delete e.touch1;if(e.touch0)e.touch0[1]=this.__zoom.invert(e.touch0[0]);else e.end()}m.filter=function(t){return arguments.length?(e=typeof t==="function"?t:ok(!!t),m):e};m.extent=function(t){return arguments.length?(n=typeof t==="function"?t:ok([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),m):n};m.scaleExtent=function(t){return arguments.length?(r=+t[0],i=+t[1],m):[r,i]};m.translateExtent=function(t){return arguments.length?(a=+t[0][0],o=+t[1][0],s=+t[0][1],u=+t[1][1],m):[[a,s],[o,u]]};m.duration=function(t){return arguments.length?(l=+t,m):l};m.interpolate=function(t){return arguments.length?(c=t,m):c};m.on=function(){var t=h.on.apply(h,arguments);return t===h?m:t};m.clickDistance=function(t){return arguments.length?(y=(t=+t)*t,m):Math.sqrt(y)};return m};t.version=e;t.bisect=o;t.bisectRight=o;t.bisectLeft=s;t.ascending=n;t.bisector=r;t.cross=c;t.descending=f;t.deviation=v;t.extent=d;t.histogram=T;t.thresholdFreedmanDiaconis=N;t.thresholdScott=P;t.thresholdSturges=E;t.max=R;t.mean=F;t.median=O;t.merge=B;t.min=D;t.pairs=u;t.permute=L;t.quantile=C;t.range=x;t.scan=I;t.shuffle=j;t.sum=H;t.ticks=M;t.tickIncrement=z;t.tickStep=S;t.transpose=U;t.variance=p;t.zip=W;t.axisTop=rt;t.axisRight=it;t.axisBottom=at;t.axisLeft=ot;t.brush=Ts;t.brushX=Ss;t.brushY=Es;t.brushSelection=zs;t.chord=Ls;t.ribbon=Qs;t.nest=nu;t.set=lu;t.map=eu;t.keys=cu;t.values=fu;t.entries=hu;t.color=In;t.rgb=qn;t.hsl=Vn;t.lab=sr;t.hcl=vr;t.cubehelix=Mr;t.dispatch=ut;t.drag=xn;t.dragDisable=vn;t.dragEnable=dn;t.dsvFormat=gu;t.csvParse=mu;t.csvParseRows=_u;t.csvFormat=bu;t.csvFormatRows=xu;t.tsvParse=ku;t.tsvParseRows=Au;t.tsvFormat=Mu;t.tsvFormatRows=zu;t.easeLinear=uo;t.easeQuad=fo;t.easeQuadIn=lo;t.easeQuadOut=co;t.easeQuadInOut=fo;t.easeCubic=vo;t.easeCubicIn=ho;t.easeCubicOut=po;t.easeCubicInOut=vo;t.easePoly=_o;t.easePolyIn=yo;t.easePolyOut=mo;t.easePolyInOut=_o;t.easeSin=Ao;t.easeSinIn=wo;t.easeSinOut=ko;t.easeSinInOut=Ao;t.easeExp=So;t.easeExpIn=Mo;t.easeExpOut=zo;t.easeExpInOut=So;t.easeCircle=Co;t.easeCircleIn=Eo;t.easeCircleOut=To;t.easeCircleInOut=Co;t.easeBounce=Uo;t.easeBounceIn=Ho;t.easeBounceOut=Uo;t.easeBounceInOut=qo;t.easeBack=Vo;t.easeBackIn=Go;t.easeBackOut=Yo;t.easeBackInOut=Vo;t.easeElastic=Qo;t.easeElasticIn=Ko;t.easeElasticOut=Qo;t.easeElasticInOut=$o;t.forceCenter=Su;t.forceCollide=tl;t.forceLink=rl;t.forceManyBody=ll;t.forceSimulation=ul;t.forceX=cl;t.forceY=fl;t.formatDefaultLocale=El;t.formatLocale=zl;t.formatSpecifier=wl;t.precisionFixed=Tl;t.precisionPrefix=Cl;t.precisionRound=Nl;t.geoArea=Ac;t.geoBounds=tf;t.geoCentroid=Tf;t.geoCircle=jf;t.geoClipExtent=Zf;t.geoContains=bh;t.geoDistance=fh;t.geoGraticule=kh;t.geoGraticule10=Ah;t.geoInterpolate=Mh;t.geoLength=uh;t.geoPath=Mp;t.geoAlbers=Kp;t.geoAlbersUsa=$p;t.geoAzimuthalEqualArea=rv;t.geoAzimuthalEqualAreaRaw=nv;t.geoAzimuthalEquidistant=av;t.geoAzimuthalEquidistantRaw=iv;t.geoConicConformal=fv;t.geoConicConformalRaw=cv;t.geoConicEqualArea=Zp;t.geoConicEqualAreaRaw=Xp;t.geoConicEquidistant=dv;t.geoConicEquidistantRaw=vv;t.geoEquirectangular=pv;t.geoEquirectangularRaw=hv;t.geoGnomonic=yv;t.geoGnomonicRaw=gv;t.geoIdentity=_v;t.geoProjection=Gp;t.geoProjectionMutator=Yp;t.geoMercator=sv;t.geoMercatorRaw=ov;t.geoOrthographic=xv;t.geoOrthographicRaw=bv;t.geoStereographic=kv;t.geoStereographicRaw=wv;t.geoTransverseMercator=Mv;t.geoTransverseMercatorRaw=Av;t.geoRotation=Df;t.geoStream=fc;t.geoTransform=Fp;t.cluster=Rv;t.hierarchy=Vv;t.pack=md;t.packSiblings=hd;t.packEnclose=ed;t.partition=Ad;t.stratify=Cd;t.tree=Id;t.treemap=Wd;t.treemapBinary=Gd;t.treemapDice=kd;t.treemapSlice=jd;t.treemapSliceDice=Yd;t.treemapSquarify=qd;t.treemapResquarify=Vd;t.interpolate=Xr;t.interpolateArray=jr;t.interpolateBasis=Er;t.interpolateBasisClosed=Tr;t.interpolateDate=Hr;t.interpolateNumber=Ur;t.interpolateObject=qr;t.interpolateRound=Zr;t.interpolateString=Jr;t.interpolateTransformCss=si;t.interpolateTransformSvg=ui;t.interpolateZoom=gi;t.interpolateRgb=Br;t.interpolateRgbBasis=Lr;t.interpolateRgbBasisClosed=Ir;t.interpolateHsl=mi;t.interpolateHslLong=_i;t.interpolateLab=bi;t.interpolateHcl=wi;t.interpolateHclLong=ki;t.interpolateCubehelix=Mi;t.interpolateCubehelixLong=zi;t.quantize=Si;t.path=Ys;t.polygonArea=Jd;t.polygonCentroid=Xd;t.polygonHull=$d;t.polygonContains=tg;t.polygonLength=eg;t.quadtree=Ju;t.queue=cg;t.randomUniform=hg;t.randomNormal=pg;t.randomLogNormal=vg;t.randomBates=gg;t.randomIrwinHall=dg;t.randomExponential=yg;t.request=mg;t.html=wg;t.json=kg;t.text=Ag;t.xml=Mg;t.csv=Eg;t.tsv=Tg;t.scaleBand=Og;t.scalePoint=Dg;t.scaleIdentity=Kg;t.scaleLinear=Zg;t.scaleLog=ay;t.scaleOrdinal=Fg;t.scaleImplicit=Rg;t.scalePow=sy;t.scaleSqrt=uy;t.scaleQuantile=ly;t.scaleQuantize=cy;t.scaleThreshold=fy;t.scaleTime=L_;t.scaleUtc=I_;t.schemeCategory10=H_;t.schemeCategory20b=U_;t.schemeCategory20c=q_;t.schemeCategory20=W_;t.interpolateCubehelixDefault=G_;t.interpolateRainbow=X_;t.interpolateWarm=Y_;t.interpolateCool=V_;t.interpolateViridis=K_;t.interpolateMagma=Q_;t.interpolateInferno=$_;t.interpolatePlasma=tb;t.scaleSequential=eb;t.creator=mt;t.local=bt;t.matcher=Mt;t.mouse=Dt;t.namespace=dt;t.namespaces=vt;t.select=un;t.selectAll=ln;t.selection=sn;t.selector=It;t.selectorAll=Ut;t.style=we;t.touch=cn;t.touches=fn;t.window=ye;t.customEvent=Ft;t.arc=kb;t.area=Tb;t.line=Eb;t.pie=Pb;t.radialArea=Lb;t.radialLine=Db;t.linkHorizontal=Vb;t.linkVertical=Jb;t.linkRadial=Xb;t.symbol=dx;t.symbols=vx;t.symbolCircle=Zb;t.symbolCross=Kb;t.symbolDiamond=tx;t.symbolSquare=ox;t.symbolStar=ax;t.symbolTriangle=ux;t.symbolWye=px;t.curveBasisClosed=xx;t.curveBasisOpen=kx;t.curveBasis=_x;t.curveBundle=Mx;t.curveCardinalClosed=Cx;t.curveCardinalOpen=Px;t.curveCardinal=Ex;t.curveCatmullRomClosed=Dx;t.curveCatmullRomOpen=Ix;t.curveCatmullRom=Ox;t.curveLinearClosed=Hx;t.curveLinear=Mb;t.curveMonotoneX=Xx;t.curveMonotoneY=Zx;t.curveNatural=$x;t.curveStep=ew;t.curveStepAfter=rw;t.curveStepBefore=nw;t.stack=sw;t.stackOffsetExpand=uw;t.stackOffsetDiverging=lw;t.stackOffsetNone=iw;t.stackOffsetSilhouette=cw;t.stackOffsetWiggle=fw;t.stackOrderAscending=hw;t.stackOrderDescending=vw;t.stackOrderInsideOut=dw;t.stackOrderNone=aw;t.stackOrderReverse=gw;t.timeInterval=vy;t.timeMillisecond=dy;t.timeMilliseconds=gy;t.utcMillisecond=dy;t.utcMilliseconds=gy;t.timeSecond=wy;t.timeSeconds=ky;t.utcSecond=wy;t.utcSeconds=ky;t.timeMinute=Ay;t.timeMinutes=My;t.timeHour=zy;t.timeHours=Sy;t.timeDay=Ey;t.timeDays=Ty;t.timeWeek=Ny;t.timeWeeks=Ly;t.timeSunday=Ny;t.timeSundays=Ly;t.timeMonday=Py;t.timeMondays=Iy;t.timeTuesday=Ry;t.timeTuesdays=jy;t.timeWednesday=Fy;t.timeWednesdays=Hy;t.timeThursday=Oy;t.timeThursdays=Uy;t.timeFriday=By;t.timeFridays=qy;t.timeSaturday=Dy;t.timeSaturdays=Wy;t.timeMonth=Gy;t.timeMonths=Yy;t.timeYear=Vy;t.timeYears=Jy;t.utcMinute=Xy;t.utcMinutes=Zy;t.utcHour=Ky;t.utcHours=Qy;t.utcDay=$y;t.utcDays=tm;t.utcWeek=nm;t.utcWeeks=lm;t.utcSunday=nm;t.utcSundays=lm;t.utcMonday=rm;t.utcMondays=cm;t.utcTuesday=im;t.utcTuesdays=fm;t.utcWednesday=am;t.utcWednesdays=hm;t.utcThursday=om;t.utcThursdays=pm;t.utcFriday=sm;t.utcFridays=vm;t.utcSaturday=um;t.utcSaturdays=dm;t.utcMonth=gm;t.utcMonths=ym;t.utcYear=mm;t.utcYears=_m;t.timeFormatDefaultLocale=w_;t.timeFormatLocale=km;t.isoFormat=M_;t.isoParse=S_;t.now=Ii;t.timer=Ui;t.timerFlush=qi;t.timeout=Ji;t.interval=Xi;t.transition=ao;t.active=is;t.interrupt=ca;t.voronoi=ak;t.zoom=gk;t.zoomTransform=ck;t.zoomIdentity=lk;Object.defineProperty(t,"__esModule",{value:true})}))}));var d3$1=getDefaultExportFromCjs(d3);var d3$2=Object.freeze(Object.assign(Object.create(null),d3,{default:d3$1}));var sszvis=createCommonjsModule((function(t,e){
2
+ /*! sszvis v2.6.4, Copyright 2014-present Statistik Stadt Zürich */
3
+ (function(t,n){n(e,d3)})(commonjsGlobal,(function(t,e){var n="default"in e?e["default"]:e;function r(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];throw Error("[Immer] minified error nr: "+t+(n.length?" "+n.join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function i(t){return!!t&&!!t[V]}function a(t){return!!t&&(function(t){if(!t||"object"!=typeof t)return!1;var e=Object.getPrototypeOf(t);return!e||e===Object.prototype}(t)||Array.isArray(t)||!!t[Y]||!!t.constructor[Y]||h(t)||p(t))}function o(t,e,n){void 0===n&&(n=!1),0===s(t)?(n?Object.keys:J)(t).forEach((function(r){n&&"symbol"==typeof r||e(r,t[r],t)})):t.forEach((function(n,r){return e(r,n,t)}))}function s(t){var e=t[V];return e?e.i>3?e.i-4:e.i:Array.isArray(t)?1:h(t)?2:p(t)?3:0}function u(t,e){return 2===s(t)?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function l(t,e){return 2===s(t)?t.get(e):t[e]}function c(t,e,n){var r=s(t);2===r?t.set(e,n):3===r?(t.delete(e),t.add(n)):t[e]=n}function f(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function h(t){return U&&t instanceof Map}function p(t){return q&&t instanceof Set}function v(t){return t.o||t.t}function d(t){if(Array.isArray(t))return t.slice();var e=X(t);delete e[V];for(var n=J(e),r=0;r<n.length;r++){var i=n[r],a=e[i];!1===a.writable&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(e[i]={configurable:!0,writable:!0,enumerable:a.enumerable,value:t[i]})}return Object.create(Object.getPrototypeOf(t),e)}function g(t,e){m(t)||i(t)||!a(t)||(s(t)>1&&(t.set=t.add=t.clear=t.delete=y),Object.freeze(t),e&&o(t,(function(t,e){return g(e,!0)}),!0))}function y(){r(2)}function m(t){return null==t||"object"!=typeof t||Object.isFrozen(t)}function _(t){var e=Z[t];return e||r(19,t),e}function b(t,e){Z[t]=e}function x(){return j}function w(t,e){e&&(_("Patches"),t.u=[],t.s=[],t.v=e)}function k(t){A(t),t.p.forEach(z),t.p=null}function A(t){t===j&&(j=t.l)}function M(t){return j={p:[],l:j,h:t,m:!0,_:0}}function z(t){var e=t[V];0===e.i||1===e.i?e.j():e.g=!0}function S(t,e){e._=e.p.length;var n=e.p[0],i=void 0!==t&&t!==n;return e.h.O||_("ES5").S(e,t,i),i?(n[V].P&&(k(e),r(4)),a(t)&&(t=E(e,t),e.l||C(e,t)),e.u&&_("Patches").M(n[V],t,e.u,e.s)):t=E(e,n,[]),k(e),e.u&&e.v(e.u,e.s),t!==G?t:void 0}function E(t,e,n){if(m(e))return e;var r=e[V];if(!r)return o(e,(function(i,a){return T(t,r,e,i,a,n)}),!0),e;if(r.A!==t)return e;if(!r.P)return C(t,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=4===r.i||5===r.i?r.o=d(r.k):r.o;o(3===r.i?new Set(i):i,(function(e,a){return T(t,r,i,e,a,n)})),C(t,i,!1),n&&t.u&&_("Patches").R(r,n,t.u,t.s)}return r.o}function T(t,e,n,r,o,s){if(i(o)){var l=E(t,o,s&&e&&3!==e.i&&!u(e.D,r)?s.concat(r):void 0);if(c(n,r,l),!i(l))return;t.m=!1}if(a(o)&&!m(o)){if(!t.h.N&&t._<1)return;E(t,o),e&&e.A.l||C(t,o)}}function C(t,e,n){void 0===n&&(n=!1),t.h.N&&t.m&&g(e,n)}function N(t,e){var n=t[V];return(n?v(n):t)[e]}function P(t,e){if(e in t)for(var n=Object.getPrototypeOf(t);n;){var r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=Object.getPrototypeOf(n)}}function R(t){t.P||(t.P=!0,t.l&&R(t.l))}function F(t){t.o||(t.o=d(t.t))}function O(t,e,n){var r=h(e)?_("MapSet").T(e,n):p(e)?_("MapSet").F(e,n):t.O?function(t,e){var n=Array.isArray(t),r={i:n?1:0,A:e?e.A:x(),P:!1,I:!1,D:{},l:e,t:t,k:null,o:null,j:null,C:!1},i=r,a=K;n&&(i=[r],a=Q);var o=Proxy.revocable(i,a),s=o.revoke,u=o.proxy;return r.k=u,r.j=s,u}(e,n):_("ES5").J(e,n);return(n?n.A:x()).p.push(r),r}function B(t){return i(t)||r(22,t),function t(e){if(!a(e))return e;var n,r=e[V],i=s(e);if(r){if(!r.P&&(r.i<4||!_("ES5").K(r)))return r.t;r.I=!0,n=D(e,i),r.I=!1}else n=D(e,i);return o(n,(function(e,i){r&&l(r.t,e)===i||c(n,e,t(i))})),3===i?new Set(n):n}(t)}function D(t,e){switch(e){case 2:return new Map(t);case 3:return Array.from(t)}return d(t)}function L(){function t(t,e){var n=a[t];return n?n.enumerable=e:a[t]=n={configurable:!0,enumerable:e,get:function(){var e=this[V];return K.get(e,t)},set:function(e){var n=this[V];K.set(n,t,e)}},n}function e(t){for(var e=t.length-1;e>=0;e--){var i=t[e][V];if(!i.P)switch(i.i){case 5:r(i)&&R(i);break;case 4:n(i)&&R(i)}}}function n(t){for(var e=t.t,n=t.k,r=J(n),i=r.length-1;i>=0;i--){var a=r[i];if(a!==V){var o=e[a];if(void 0===o&&!u(e,a))return!0;var s=n[a],l=s&&s[V];if(l?l.t!==o:!f(s,o))return!0}}var c=!!e[V];return r.length!==J(e).length+(c?0:1)}function r(t){var e=t.k;if(e.length!==t.t.length)return!0;var n=Object.getOwnPropertyDescriptor(e,e.length-1);return!(!n||n.get)}var a={};b("ES5",{J:function(e,n){var r=Array.isArray(e),i=function(e,n){if(e){for(var r=Array(n.length),i=0;i<n.length;i++)Object.defineProperty(r,""+i,t(i,!0));return r}var a=X(n);delete a[V];for(var o=J(a),s=0;s<o.length;s++){var u=o[s];a[u]=t(u,e||!!a[u].enumerable)}return Object.create(Object.getPrototypeOf(n),a)}(r,e),a={i:r?5:4,A:n?n.A:x(),P:!1,I:!1,D:{},l:n,t:e,k:i,o:null,g:!1,C:!1};return Object.defineProperty(i,V,{value:a,writable:!0}),i},S:function(t,n,a){a?i(n)&&n[V].A===t&&e(t.p):(t.u&&function t(e){if(e&&"object"==typeof e){var n=e[V];if(n){var i=n.t,a=n.k,s=n.D,l=n.i;if(4===l)o(a,(function(e){e!==V&&(void 0!==i[e]||u(i,e)?s[e]||t(a[e]):(s[e]=!0,R(n)))})),o(i,(function(t){void 0!==a[t]||u(a,t)||(s[t]=!1,R(n))}));else if(5===l){if(r(n)&&(R(n),s.length=!0),a.length<i.length)for(var c=a.length;c<i.length;c++)s[c]=!1;else for(var f=i.length;f<a.length;f++)s[f]=!0;for(var h=Math.min(a.length,i.length),p=0;p<h;p++)void 0===s[p]&&t(a[p])}}}}(t.p[0]),e(t.p))},K:function(t){return 4===t.i?n(t):r(t)}})}var I,j,H="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),U="undefined"!=typeof Map,q="undefined"!=typeof Set,W="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,G=H?Symbol.for("immer-nothing"):((I={})["immer-nothing"]=!0,I),Y=H?Symbol.for("immer-draftable"):"__$immer_draftable",V=H?Symbol.for("immer-state"):"__$immer_state",J="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Object.getOwnPropertyNames,X=Object.getOwnPropertyDescriptors||function(t){var e={};return J(t).forEach((function(n){e[n]=Object.getOwnPropertyDescriptor(t,n)})),e},Z={},K={get:function(t,e){if(e===V)return t;var n=v(t);if(!u(n,e))return function(t,e,n){var r,i=P(e,n);return i?"value"in i?i.value:null===(r=i.get)||void 0===r?void 0:r.call(t.k):void 0}(t,n,e);var r=n[e];return t.I||!a(r)?r:r===N(t.t,e)?(F(t),t.o[e]=O(t.A.h,r,t)):r},has:function(t,e){return e in v(t)},ownKeys:function(t){return Reflect.ownKeys(v(t))},set:function(t,e,n){var r=P(v(t),e);if(null==r?void 0:r.set)return r.set.call(t.k,n),!0;if(t.D[e]=!0,!t.P){if(f(n,N(v(t),e))&&(void 0!==n||u(t.t,e)))return!0;F(t),R(t)}return t.o[e]=n,!0},deleteProperty:function(t,e){return void 0!==N(t.t,e)||e in t.t?(t.D[e]=!1,F(t),R(t)):delete t.D[e],t.o&&delete t.o[e],!0},getOwnPropertyDescriptor:function(t,e){var n=v(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r?{writable:!0,configurable:1!==t.i||"length"!==e,enumerable:r.enumerable,value:n[e]}:r},defineProperty:function(){r(11)},getPrototypeOf:function(t){return Object.getPrototypeOf(t.t)},setPrototypeOf:function(){r(12)}},Q={};o(K,(function(t,e){Q[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}})),Q.deleteProperty=function(t,e){return K.deleteProperty.call(this,t[0],e)},Q.set=function(t,e,n){return K.set.call(this,t[0],e,n,t[0])};var $=function(){function t(t){this.O=W,this.N="production"!=="production","boolean"==typeof(null==t?void 0:t.useProxies)&&this.setUseProxies(t.useProxies),"boolean"==typeof(null==t?void 0:t.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),this.produce=this.produce.bind(this),this.produceWithPatches=this.produceWithPatches.bind(this)}var e=t.prototype;return e.produce=function(t,e,n){if("function"==typeof t&&"function"!=typeof e){var i=e;e=t;var o=this;return function(t){var n=this;void 0===t&&(t=i);for(var r=arguments.length,a=Array(r>1?r-1:0),s=1;s<r;s++)a[s-1]=arguments[s];return o.produce(t,(function(t){var r;return(r=e).call.apply(r,[n,t].concat(a))}))}}var s;if("function"!=typeof e&&r(6),void 0!==n&&"function"!=typeof n&&r(7),a(t)){var u=M(this),l=O(this,t,void 0),c=!0;try{s=e(l),c=!1}finally{c?k(u):A(u)}return"undefined"!=typeof Promise&&s instanceof Promise?s.then((function(t){return w(u,n),S(t,u)}),(function(t){throw k(u),t})):(w(u,n),S(s,u))}if(!t||"object"!=typeof t){if((s=e(t))===G)return;return void 0===s&&(s=t),this.N&&g(s,!0),s}r(21,t)},e.produceWithPatches=function(t,e){var n,r,i=this;return"function"==typeof t?function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];return i.produceWithPatches(e,(function(e){return t.apply(void 0,[e].concat(r))}))}:[this.produce(t,e,(function(t,e){n=t,r=e})),n,r]},e.createDraft=function(t){a(t)||r(8),i(t)&&(t=B(t));var e=M(this),n=O(this,t,void 0);return n[V].C=!0,A(e),n},e.finishDraft=function(t,e){var n=t&&t[V];var r=n.A;return w(r,e),S(void 0,r)},e.setAutoFreeze=function(t){this.N=t},e.setUseProxies=function(t){t&&!W&&r(20),this.O=t},e.applyPatches=function(t,e){var n;for(n=e.length-1;n>=0;n--){var r=e[n];if(0===r.path.length&&"replace"===r.op){t=r.value;break}}var a=_("Patches").$;return i(t)?a(t,e):this.produce(t,(function(t){return a(t,e.slice(n+1))}))},t}(),tt=new $;tt.produceWithPatches.bind(tt);var et=tt.setAutoFreeze.bind(tt);tt.setUseProxies.bind(tt);tt.applyPatches.bind(tt);var nt=tt.createDraft.bind(tt),rt=tt.finishDraft.bind(tt);function it(t){var e=this.constructor;return this.then((function(n){return e.resolve(t()).then((function(){return n}))}),(function(n){return e.resolve(t()).then((function(){return e.reject(n)}))}))}var at=setTimeout;function ot(t){return Boolean(t&&typeof t.length!=="undefined")}function st(){}function ut(t,e){return function(){t.apply(e,arguments)}}function lt(t){if(!(this instanceof lt))throw new TypeError("Promises must be constructed via new");if(typeof t!=="function")throw new TypeError("not a function");this._state=0;this._handled=false;this._value=undefined;this._deferreds=[];dt(t,this)}function ct(t,e){while(t._state===3){t=t._value}if(t._state===0){t._deferreds.push(e);return}t._handled=true;lt._immediateFn((function(){var n=t._state===1?e.onFulfilled:e.onRejected;if(n===null){(t._state===1?ft:ht)(e.promise,t._value);return}var r;try{r=n(t._value)}catch(i){ht(e.promise,i);return}ft(e.promise,r)}))}function ft(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&(typeof e==="object"||typeof e==="function")){var n=e.then;if(e instanceof lt){t._state=3;t._value=e;pt(t);return}else if(typeof n==="function"){dt(ut(n,e),t);return}}t._state=1;t._value=e;pt(t)}catch(r){ht(t,r)}}function ht(t,e){t._state=2;t._value=e;pt(t)}function pt(t){if(t._state===2&&t._deferreds.length===0){lt._immediateFn((function(){if(!t._handled){lt._unhandledRejectionFn(t._value)}}))}for(var e=0,n=t._deferreds.length;e<n;e++){ct(t,t._deferreds[e])}t._deferreds=null}function vt(t,e,n){this.onFulfilled=typeof t==="function"?t:null;this.onRejected=typeof e==="function"?e:null;this.promise=n}function dt(t,e){var n=false;try{t((function(t){if(n)return;n=true;ft(e,t)}),(function(t){if(n)return;n=true;ht(e,t)}))}catch(r){if(n)return;n=true;ht(e,r)}}lt.prototype["catch"]=function(t){return this.then(null,t)};lt.prototype.then=function(t,e){var n=new this.constructor(st);ct(this,new vt(t,e,n));return n};lt.prototype["finally"]=it;lt.all=function(t){return new lt((function(e,n){if(!ot(t)){return n(new TypeError("Promise.all accepts an array"))}var r=Array.prototype.slice.call(t);if(r.length===0)return e([]);var i=r.length;function a(t,o){try{if(o&&(typeof o==="object"||typeof o==="function")){var s=o.then;if(typeof s==="function"){s.call(o,(function(e){a(t,e)}),n);return}}r[t]=o;if(--i===0){e(r)}}catch(u){n(u)}}for(var o=0;o<r.length;o++){a(o,r[o])}}))};lt.resolve=function(t){if(t&&typeof t==="object"&&t.constructor===lt){return t}return new lt((function(e){e(t)}))};lt.reject=function(t){return new lt((function(e,n){n(t)}))};lt.race=function(t){return new lt((function(e,n){if(!ot(t)){return n(new TypeError("Promise.race accepts an array"))}for(var r=0,i=t.length;r<i;r++){lt.resolve(t[r]).then(e,n)}}))};lt._immediateFn=typeof setImmediate==="function"&&function(t){setImmediate(t)}||function(t){at(t,0)};lt._unhandledRejectionFn=function t(e){if(typeof console!=="undefined"&&console){console.warn("Possible Unhandled Promise Rejection:",e)}};var gt=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof commonjsGlobal!=="undefined"){return commonjsGlobal}throw new Error("unable to locate global object")}();if(!("Promise"in gt)){gt["Promise"]=lt}else if(!gt.Promise.prototype["finally"]){gt.Promise.prototype["finally"]=it}var yt=function(t){return t}(typeof self!=="undefined"?self:window);var mt={searchParams:"URLSearchParams"in yt,iterable:"Symbol"in yt&&"iterator"in Symbol,blob:"FileReader"in yt&&"Blob"in yt&&function(){try{new Blob;return true}catch(t){return false}}(),formData:"FormData"in yt,arrayBuffer:"ArrayBuffer"in yt};function _t(t){return t&&DataView.prototype.isPrototypeOf(t)}if(mt.arrayBuffer){var bt=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"];var xt=ArrayBuffer.isView||function(t){return t&&bt.indexOf(Object.prototype.toString.call(t))>-1}}function wt(t){if(typeof t!=="string"){t=String(t)}if(/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||t===""){throw new TypeError("Invalid character in header field name")}return t.toLowerCase()}function kt(t){if(typeof t!=="string"){t=String(t)}return t}function At(t){var e={next:function(){var e=t.shift();return{done:e===undefined,value:e}}};if(mt.iterable){e[Symbol.iterator]=function(){return e}}return e}function Mt(t){this.map={};if(t instanceof Mt){t.forEach((function(t,e){this.append(e,t)}),this)}else if(Array.isArray(t)){t.forEach((function(t){this.append(t[0],t[1])}),this)}else if(t){Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}}Mt.prototype.append=function(t,e){t=wt(t);e=kt(e);var n=this.map[t];this.map[t]=n?n+", "+e:e};Mt.prototype["delete"]=function(t){delete this.map[wt(t)]};Mt.prototype.get=function(t){t=wt(t);return this.has(t)?this.map[t]:null};Mt.prototype.has=function(t){return this.map.hasOwnProperty(wt(t))};Mt.prototype.set=function(t,e){this.map[wt(t)]=kt(e)};Mt.prototype.forEach=function(t,e){for(var n in this.map){if(this.map.hasOwnProperty(n)){t.call(e,this.map[n],n,this)}}};Mt.prototype.keys=function(){var t=[];this.forEach((function(e,n){t.push(n)}));return At(t)};Mt.prototype.values=function(){var t=[];this.forEach((function(e){t.push(e)}));return At(t)};Mt.prototype.entries=function(){var t=[];this.forEach((function(e,n){t.push([n,e])}));return At(t)};if(mt.iterable){Mt.prototype[Symbol.iterator]=Mt.prototype.entries}function zt(t){if(t.bodyUsed){return Promise.reject(new TypeError("Already read"))}t.bodyUsed=true}function St(t){return new Promise((function(e,n){t.onload=function(){e(t.result)};t.onerror=function(){n(t.error)}}))}function Et(t){var e=new FileReader;var n=St(e);e.readAsArrayBuffer(t);return n}function Tt(t){var e=new FileReader;var n=St(e);e.readAsText(t);return n}function Ct(t){var e=new Uint8Array(t);var n=new Array(e.length);for(var r=0;r<e.length;r++){n[r]=String.fromCharCode(e[r])}return n.join("")}function Nt(t){if(t.slice){return t.slice(0)}else{var e=new Uint8Array(t.byteLength);e.set(new Uint8Array(t));return e.buffer}}function Pt(){this.bodyUsed=false;this._initBody=function(t){this.bodyUsed=this.bodyUsed;this._bodyInit=t;if(!t){this._bodyText=""}else if(typeof t==="string"){this._bodyText=t}else if(mt.blob&&Blob.prototype.isPrototypeOf(t)){this._bodyBlob=t}else if(mt.formData&&FormData.prototype.isPrototypeOf(t)){this._bodyFormData=t}else if(mt.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)){this._bodyText=t.toString()}else if(mt.arrayBuffer&&mt.blob&&_t(t)){this._bodyArrayBuffer=Nt(t.buffer);this._bodyInit=new Blob([this._bodyArrayBuffer])}else if(mt.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||xt(t))){this._bodyArrayBuffer=Nt(t)}else{this._bodyText=t=Object.prototype.toString.call(t)}if(!this.headers.get("content-type")){if(typeof t==="string"){this.headers.set("content-type","text/plain;charset=UTF-8")}else if(this._bodyBlob&&this._bodyBlob.type){this.headers.set("content-type",this._bodyBlob.type)}else if(mt.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)){this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8")}}};if(mt.blob){this.blob=function(){var t=zt(this);if(t){return t}if(this._bodyBlob){return Promise.resolve(this._bodyBlob)}else if(this._bodyArrayBuffer){return Promise.resolve(new Blob([this._bodyArrayBuffer]))}else if(this._bodyFormData){throw new Error("could not read FormData body as blob")}else{return Promise.resolve(new Blob([this._bodyText]))}};this.arrayBuffer=function(){if(this._bodyArrayBuffer){return zt(this)||Promise.resolve(this._bodyArrayBuffer)}else{return this.blob().then(Et)}}}this.text=function(){var t=zt(this);if(t){return t}if(this._bodyBlob){return Tt(this._bodyBlob)}else if(this._bodyArrayBuffer){return Promise.resolve(Ct(this._bodyArrayBuffer))}else if(this._bodyFormData){throw new Error("could not read FormData body as text")}else{return Promise.resolve(this._bodyText)}};if(mt.formData){this.formData=function(){return this.text().then(Bt)}}this.json=function(){return this.text().then(JSON.parse)};return this}var Rt=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Ft(t){var e=t.toUpperCase();return Rt.indexOf(e)>-1?e:t}function Ot(t,e){e=e||{};var n=e.body;if(t instanceof Ot){if(t.bodyUsed){throw new TypeError("Already read")}this.url=t.url;this.credentials=t.credentials;if(!e.headers){this.headers=new Mt(t.headers)}this.method=t.method;this.mode=t.mode;this.signal=t.signal;if(!n&&t._bodyInit!=null){n=t._bodyInit;t.bodyUsed=true}}else{this.url=String(t)}this.credentials=e.credentials||this.credentials||"same-origin";if(e.headers||!this.headers){this.headers=new Mt(e.headers)}this.method=Ft(e.method||this.method||"GET");this.mode=e.mode||this.mode||null;this.signal=e.signal||this.signal;this.referrer=null;if((this.method==="GET"||this.method==="HEAD")&&n){throw new TypeError("Body not allowed for GET or HEAD requests")}this._initBody(n);if(this.method==="GET"||this.method==="HEAD"){if(e.cache==="no-store"||e.cache==="no-cache"){var r=/([?&])_=[^&]*/;if(r.test(this.url)){this.url=this.url.replace(r,"$1_="+(new Date).getTime())}else{var i=/\?/;this.url+=(i.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}}Ot.prototype.clone=function(){return new Ot(this,{body:this._bodyInit})};function Bt(t){var e=new FormData;t.trim().split("&").forEach((function(t){if(t){var n=t.split("=");var r=n.shift().replace(/\+/g," ");var i=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(i))}}));return e}function Dt(t){var e=new Mt;var n=t.replace(/\r?\n[\t ]+/g," ");n.split(/\r?\n/).forEach((function(t){var n=t.split(":");var r=n.shift().trim();if(r){var i=n.join(":").trim();e.append(r,i)}}));return e}Pt.call(Ot.prototype);function Lt(t,e){if(!e){e={}}this.type="default";this.status=e.status===undefined?200:e.status;this.ok=this.status>=200&&this.status<300;this.statusText="statusText"in e?e.statusText:"";this.headers=new Mt(e.headers);this.url=e.url||"";this._initBody(t)}Pt.call(Lt.prototype);Lt.prototype.clone=function(){return new Lt(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Mt(this.headers),url:this.url})};Lt.error=function(){var t=new Lt(null,{status:0,statusText:""});t.type="error";return t};var It=[301,302,303,307,308];Lt.redirect=function(t,e){if(It.indexOf(e)===-1){throw new RangeError("Invalid status code")}return new Lt(null,{status:e,headers:{location:t}})};var jt=yt.DOMException;if(typeof jt!=="function"){jt=function(t,e){this.message=t;this.name=e;var n=Error(t);this.stack=n.stack};jt.prototype=Object.create(Error.prototype);jt.prototype.constructor=jt}function Ht(t,e){return new Promise((function(n,r){var i=new Ot(t,e);if(i.signal&&i.signal.aborted){return r(new jt("Aborted","AbortError"))}var a=new XMLHttpRequest;function o(){a.abort()}a.onload=function(){var t={status:a.status,statusText:a.statusText,headers:Dt(a.getAllResponseHeaders()||"")};t.url="responseURL"in a?a.responseURL:t.headers.get("X-Request-URL");var e="response"in a?a.response:a.responseText;setTimeout((function(){n(new Lt(e,t))}),0)};a.onerror=function(){setTimeout((function(){r(new TypeError("Network request failed"))}),0)};a.ontimeout=function(){setTimeout((function(){r(new TypeError("Network request failed"))}),0)};a.onabort=function(){setTimeout((function(){r(new jt("Aborted","AbortError"))}),0)};function s(t){try{return t===""&&yt.location.href?yt.location.href:t}catch(e){return t}}a.open(i.method,s(i.url),true);if(i.credentials==="include"){a.withCredentials=true}else if(i.credentials==="omit"){a.withCredentials=false}if("responseType"in a){if(mt.blob){a.responseType="blob"}else if(mt.arrayBuffer&&i.headers.get("Content-Type")&&i.headers.get("Content-Type").indexOf("application/octet-stream")!==-1){a.responseType="arraybuffer"}}i.headers.forEach((function(t,e){a.setRequestHeader(e,t)}));if(i.signal){i.signal.addEventListener("abort",o);a.onreadystatechange=function(){if(a.readyState===4){i.signal.removeEventListener("abort",o)}}}a.send(typeof i._bodyInit==="undefined"?null:i._bodyInit)}))}Ht.polyfill=true;if(!yt.fetch){yt.fetch=Ht;yt.Headers=Mt;yt.Request=Ot;yt.Response=Lt}n.csv=Ut(n.csv);n.json=Ut(n.json);function Ut(t){function e(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++){n[r]=arguments[r]}return function(e){t.apply(void 0,n).then((function(t){e(undefined,t)})).catch(e)}}return function(n,r){return{then:function e(i){return t(n,r).then(i)},get:e(n),row:function t(r){return{get:e(n,r)}}}}}(function(){if(typeof window==="undefined"){return}var t=function t(e,n){var r=e.nodeType;if(r==3){n.push(e.textContent.replace(/&/,"&amp;").replace(/</,"&lt;").replace(">","&gt;"))}else if(r==1){n.push("<",e.tagName);if(e.hasAttributes()){var i=e.attributes;for(var a=0,o=i.length;a<o;++a){var s=i.item(a);n.push(" ",s.name,"='",s.value,"'")}}if(e.hasChildNodes()){n.push(">");var u=e.childNodes;for(var a=0,o=u.length;a<o;++a){t(u.item(a),n)}n.push("</",e.tagName,">")}else{n.push("/>")}}else if(r==8){n.push("\x3c!--",e.nodeValue,"--\x3e")}else{throw"Error serializing XML. Unhandled node of type: "+r}};Object.defineProperty(SVGElement.prototype,"innerHTML",{get:function e(){var n=[];var r=this.firstChild;while(r){t(r,n);r=r.nextSibling}return n.join("")},set:function t(e){while(this.firstChild){this.removeChild(this.firstChild)}try{var n=new DOMParser;n.async=false;var r="<svg xmlns='http://www.w3.org/2000/svg'>"+e+"</svg>";var i=n.parseFromString(r,"text/xml").documentElement;var a=i.firstChild;while(a){this.appendChild(this.ownerDocument.importNode(a,true));a=a.nextSibling}}catch(o){throw new Error("Error parsing XML string")}}});Object.defineProperty(SVGElement.prototype,"innerSVG",{get:function t(){return this.innerHTML},set:function t(e){this.innerHTML=e}})})();Number.isNaN=Number.isNaN||function t(e){return typeof e==="number"&&e!==e};L();et(false);e.selection.prototype.selectDiv=function(t){var e=this.selectAll('[data-d3-selectdiv="'+t+'"]').data((function(t){return[t]}));var n=e.enter().append("div").attr("data-d3-selectdiv",t).style("position","absolute");return e.merge(n)};e.selection.prototype.selectGroup=function(t){var e=this.selectAll('[data-d3-selectgroup="'+t+'"]').data((function(t){return[t]}));var n=e.enter().append("g").attr("data-d3-selectgroup",t);return e.merge(n)};var qt=function t(e){return e};var Wt=function t(e){return Object.prototype.toString.call(e)==="[object String]"};var Gt=function t(n){return n instanceof e.selection};var Yt=function t(e,n){switch(e){case 0:return function(){return n.call(this)};case 1:return function(t){return n.call(this,t)};case 2:return function(t,e){return n.call(this,t,e)};case 3:return function(t,e,r){return n.call(this,t,e,r)};case 4:return function(t,e,r,i){return n.call(this,t,e,r,i)};case 5:return function(t,e,r,i,a){return n.call(this,t,e,r,i,a)};case 6:return function(t,e,r,i,a,o){return n.call(this,t,e,r,i,a,o)};case 7:return function(t,e,r,i,a,o,s){return n.call(this,t,e,r,i,a,o,s)};case 8:return function(t,e,r,i,a,o,s,u){return n.call(this,t,e,r,i,a,o,s,u)};case 9:return function(t,e,r,i,a,o,s,u,l){return n.call(this,t,e,r,i,a,o,s,u,l)};case 10:return function(t,e,r,i,a,o,s,u,l,c){return n.call(this,t,e,r,i,a,o,s,u,l,c)};default:return n}};var Vt=function t(){var e=arguments,n=arguments.length-1;return function(){var t=n;var r=e[t].apply(this,arguments);while(t--){r=e[t].call(this,r)}return r}};var Jt=function t(e,n){return e.indexOf(n)>=0};var Xt=function t(e){return typeof e!=="undefined"&&e!=null&&!Number.isNaN(e)};var Zt=function t(e,n){n||(n=qt);var r=[],i,a,o=[];for(var s=0,u=e.length;s<u;++s){i=e[s];a=n(i,s,e);if(r.indexOf(a)<0){r.push(a);o.push(i)}}return o};var Kt=function t(e,n){for(var r=0;r<n.length;r++){if(!e(n[r])){return false}}return true};var Qt=function t(e,n){var r=new Array(e);for(var i=0;i<e;++i){r[i]=n}return r};var $t=function t(e,n){for(var r=0;r<n.length;r++){if(e(n[r])){return n[r]}}return undefined};var te=function t(e){return e[0]};var ee=function t(e){return Array.prototype.concat.apply([],e)};var ne=function t(e){if(e.touches&&e.touches.length){return e.touches[0]}else if(e.changedTouches&&e.changedTouches.length){return e.changedTouches[0]}return null};var re=function t(e,n){var r=n[e];if(typeof r==="function"){return r()}throw new Error("[foldPattern] No definition provided for key: "+e)};var ie=function t(e,n){n||(n=qt);var r={},i,a=[];for(var o=0,s=e.length;o<s;++o){i=n(e[o],o,e);if(!r[i]){r[i]=true;a.push(i)}}return a};var ae=function t(e){return typeof e=="function"};var oe=function t(e){return e===null};var se=function t(e){return Object.prototype.toString.call(e)==="[object Number]"&&!Number.isNaN(e)};var ue=function t(e){return Object(e)===e};var le=function t(e){return e[e.length-1]};var ce=function t(e){return function(){return!e.apply(this,arguments)}};var fe=function t(e){return function(t){return t[e]}};var he=function t(e,n){return function(t){var r=t!==undefined?t[e]:undefined;return r!==undefined?r:n}};var pe=function t(e,n){n||(n=qt);return e.reduce((function(t,r,i){var a=n(r,i,e);return t.indexOf(a)<0?t.concat(a):t}),[])};var ve=function t(e,n){for(var r=0;r<n.length;r++){if(e(n[r])){return true}}return false};var de=function t(e,n){return e.toString()===n.toString()};var ge=function t(e){return typeof e==="function"?e:function(){return e}};var ye=function t(n,r){if(typeof n!="function"||r!=null&&typeof r!="function"){throw new TypeError("Expected a function")}var i=function t(){var e=arguments,i=r?r.apply(this,e):e[0],a=t.cache;if(a.has(i)){return a.get(i)}var o=n.apply(this,e);t.cache=a.set(i,o)||a;return o};i.cache=e.map();return i};function me(t,e,n){var r=_e(t).selectAll(e+"#"+n).data([0]);var i=r.enter().append(e).attr("id",n);return r.merge(i)}function _e(t){var e=t.selectAll("defs").data([0]);var n=e.enter().append("defs");return e.merge(n)}var be=.6;function xe(t){return function(){var n=e.scaleOrdinal().range(t.map(un));return an(n)}}var we="#3431DE";var ke="#0A8DF6";var Ae="#23C3F1";var Me="#7B4FB7";var ze="#DB247D";var Se="#FB737E";var Ee="#007C78";var Te="#1D942E";var Ce="#99C32E";var Ne="#9A5B01";var Pe="#FF720C";var Re="#FBB900";var Fe=xe([we,ke,Ae,Me,ze,Se,Ee,Te,Ce,Ne,Pe,Re]);var Oe=xe([we,ze,Te,Re,Ae,Pe]);var Be=xe([we,ke,Ae,Me,ze,Se]);var De=xe([Ee,Te,Ce,Ne,Pe,Re]);function Le(t){return function(){var n=e.scaleLinear().range(t.map(un));return on(n)}}var Ie=Le(["#CADEFF","#5B6EFF","#211A8A"]);var je=Le(["#FED2EE","#ED408D","#7D0044"]);var He=Le(["#CFEED8","#34B446","#0C4B1F"]);var Ue=Le(["#FCDDBB","#EA5D00","#611F00"]);function qe(t){return function(){var n=e.scaleQuantize().range(t.map(un));return an(n)}}var We=qe(["#611F00","#A13200","#EA5D00","#FF9A54","#FCDDBB","#CADEFF","#89AFFF","#5B6EFF","#3431DE","#211A8A"]);var Ge=qe(["#782600","#CC4309","#FF720C","#FFBC88","#E4E0DF","#AECBFF","#6B8EFF","#3B51FF","#2F2ABB"]);var Ye=qe(["#7D0044","#C4006A","#ED408D","#FF83B9","#FED2EE","#CFEED8","#81C789","#34B446","#1A7F2D","#0C4B1F"]);var Ve=qe(["#A30059","#DB247D","#FF579E","#FFA8D0","#E4E0DF","#A8DBB1","#55BC5D","#1D942E","#10652A"]);function Je(t){return function(){var n=e.scaleOrdinal().range(t.map(un));return on(n)}}var Xe=Je(["#FAFAFA"]);var Ze=Je(["#EAEAEA"]);var Ke=Je(["#D6D6D6"]);var Qe=Je(["#B8B8B8"]);var $e=Je(["#7C7C7C"]);var tn=Je(["#545454"]);var en=function t(n){return e.hsl(n).darker(.4)};var nn=function t(n){return e.hsl(n).darker(.7)};var rn=function t(n,r){var i=e.rgb(n);return"rgba("+i.r+","+i.g+","+i.b+","+r+")"};function an(t){t.darker=function(){return an(t.copy().range(t.range().map(ln("darker",be))))};t.brighter=function(){return an(t.copy().range(t.range().map(ln("brighter",be))))};t.reverse=function(){return an(t.copy().range(t.range().reverse()))};return t}function on(t){t=sn(t);t.reverse=function(){return on(t.copy().range(t.range().reverse()))};return t}function sn(t){var n=t.domain;t.domain=function(t){if(arguments.length===1){var r=[t[0],e.mean(t),t[1]];return n.call(this,r)}else{return n.apply(this,arguments)}};return t}function un(t){return e.lab(t)}function ln(t){var e=Array.prototype.slice.call(arguments,1);return function(n){return n[t].apply(n,e)}}var cn=function t(e){var n=Xe(),r="#A4A4A4",i=.035,a=.35,o=.65;e.attr("patternUnits","objectBoundingBox").attr("patternContentUnits","objectBoundingBox").attr("x",0).attr("y",0).attr("width",1).attr("height",1);e.append("rect").attr("x",0).attr("y",0).attr("width",1).attr("height",1).attr("fill",n);e.append("line").attr("x1",a).attr("y1",a).attr("x2",o).attr("y2",o).attr("stroke-width",i).attr("stroke",r);e.append("line").attr("x1",o).attr("y1",a).attr("x2",a).attr("y2",o).attr("stroke-width",i).attr("stroke",r)};var fn=function t(e){var n=14,r=14,i="#FAFAFA",a="#CCCCCC";e.attr("patternUnits","userSpaceOnUse").attr("patternContentUnits","userSpaceOnUse").attr("x",0).attr("y",0).attr("width",n).attr("height",r);e.append("rect").attr("x",0).attr("y",0).attr("width",n).attr("height",r).attr("fill",i);e.append("line").attr("x1",1).attr("y1",10).attr("x2",5).attr("y2",14).attr("stroke",a);e.append("line").attr("x1",5).attr("y1",10).attr("x2",1).attr("y2",14).attr("stroke",a);e.append("line").attr("x1",8).attr("y1",3).attr("x2",12).attr("y2",7).attr("stroke",a);e.append("line").attr("x1",12).attr("y1",3).attr("x2",8).attr("y2",7).attr("stroke",a)};var hn=function t(e){var n=6;var r=6;var i=.5;e.attr("patternUnits","userSpaceOnUse").attr("patternContentUnits","userSpaceOnUse").attr("x",0).attr("y",0).attr("width",n).attr("height",r);e.append("rect").attr("x",0).attr("y",0).attr("width",n).attr("height",r).attr("fill","#fff");e.append("line").attr("x1",0).attr("y1",r*i).attr("x2",n*i).attr("y2",0).attr("stroke","#ddd").attr("stroke-linecap","square");e.append("line").attr("x1",n*i).attr("y1",r).attr("x2",n).attr("y2",r*i).attr("stroke","#ddd").attr("stroke-linecap","square")};var pn=function t(e){e.attr("x1",0).attr("y1",0).attr("x2",.55).attr("y2",1).attr("id","lake-fade-gradient");e.append("stop").attr("offset",.74).attr("stop-color","white").attr("stop-opacity",1);e.append("stop").attr("offset",.97).attr("stop-color","white").attr("stop-opacity",0)};var vn=function t(e){e.attr("maskContentUnits","objectBoundingBox");e.append("rect").attr("fill","url(#lake-fade-gradient)").attr("width",1).attr("height",1)};var dn=function t(e){var n=6;var r=6;var i=.5;e.attr("patternUnits","userSpaceOnUse").attr("patternContentUnits","userSpaceOnUse").attr("x",0).attr("y",0).attr("width",n).attr("height",r);e.append("line").attr("x1",0).attr("y1",r*i).attr("x2",n*i).attr("y2",0).attr("stroke","#e6e6e6").attr("stroke-width",1.1);e.append("line").attr("x1",n*i).attr("y1",r).attr("x2",n).attr("y2",r*i).attr("stroke","#e6e6e6").attr("stroke-width",1.1)};function gn(){var t={};var e=null;var n=mn;function r(r){if(e){r.props=function(){return bn(t)};e.apply(r,_n(arguments))}r.each((function(){this.__props__=bn(t);n.apply(this,_n(arguments))}))}r.prop=function(e,n){n||(n=mn);r[e]=yn(t,e,n.bind(r)).bind(r);return r};r.delegate=function(t,e){r[t]=function(){var n=e[t].apply(e,_n(arguments));return arguments.length===0?n:r};return r};r.renderSelection=function(t){e=t;return r};r.render=function(t){n=t;return r};return r}e.selection.prototype.props=function(){if(arguments.length)throw new Error("selection.props() does not accept any arguments");if(this.size()!=1)throw new Error("only one group is supported");if(this._groups[0].length!=1)throw new Error("only one node is supported");var t=this._groups[0];var e=t[0];return e.__props__||{}};function yn(t,e,n){n||(n=mn);return function(){if(!arguments.length)return t[e];t[e]=n.apply(null,_n(arguments));return this}}function mn(t){return t}function _n(t){return Array.prototype.slice.call(t)}function bn(t){var e={};for(var n in t){if({}.hasOwnProperty.call(t,n))e[n]=t[n]}return e}function xn(){return gn().prop("x",ge).prop("y",ge).prop("r",ge).prop("dx",ge).prop("dy",ge).prop("caption",ge).render((function(t){var n=e.select(this);var r=n.props();me(n,"pattern","data-area-pattern").call(dn);var i=n.selectAll(".sszvis-dataareacircle").data(t);var a=i.enter().append("circle").classed("sszvis-dataareacircle",true);i=i.merge(a);i.attr("cx",r.x).attr("cy",r.y).attr("r",r.r).attr("fill","url(#data-area-pattern)");if(r.caption){var o=n.selectAll(".sszvis-dataareacircle__caption").data(t);var s=o.enter().append("text").classed("sszvis-dataareacircle__caption",true);o=o.merge(s);o.attr("x",r.x).attr("y",r.y).attr("dx",r.dx).attr("dy",r.dy).text(r.caption)}}))}function wn(){return gn().prop("x1").prop("x2").prop("y1").prop("y2").prop("xScale").prop("yScale").prop("dx",ge).dx(0).prop("dy",ge).dy(0).prop("caption",ge).render((function(t){var n=e.select(this);var r=n.props();var i=r.xScale(r.x1);var a=r.yScale(r.y1);var o=r.xScale(r.x2);var s=r.yScale(r.y2);var u=n.selectAll(".sszvis-referenceline").data(t);u.exit().remove();var l=u.enter().append("line").classed("sszvis-referenceline",true);u=u.merge(l);u.attr("x1",i).attr("y1",a).attr("x2",o).attr("y2",s);if(r.caption){var c=n.selectAll(".sszvis-referenceline__caption").data([0]);c.exit().remove();var f=c.enter().append("text").classed("sszvis-referenceline__caption",true);c=c.merge(f);c.attr("transform",(function(){var t=o-i;var e=s-a;var n=Math.atan2(e,t)*180/Math.PI;return"translate("+(i+o)/2+","+(a+s)/2+") rotate("+n+")"})).attr("dx",r.dx).attr("dy",r.dy).text(r.caption)}}))}var kn=function t(e){return Math.floor(e)+.5};var An=function t(e){var n=Vt(Math.floor,Number);return e.replace(/(translate\()\s*([0-9., ]+)\s*(\))/i,(function(t,e,r,i){var a=r.replace(","," ").replace(/\s+/," ").split(" ").map(n).join(",");return e+a+i}))};var Mn=function t(e){var n=Vt(Math.floor,Number);var r=e.match(/(translate\()\s*([0-9.,\- ]+)\s*(\))/i);var i=r[2].replace(","," ").replace(/\s+/," ").split(" ").map(Number);if(i.length===1)i.push([0]);var a=i.map(n);return[i[0]-a[0],i[1]-a[1]]};function zn(t,e){return"translate("+t+","+e+")"}function Sn(){return gn().prop("position").position(ge([0,0])).prop("debug").render((function(n){var r=e.select(this);var i=r.props();var a=r.selectAll("[data-tooltip-anchor]").data(n);var o=a.enter().append("rect").attr("height",1).attr("width",1).attr("fill","none").attr("stroke","none").attr("visibility","none").attr("data-tooltip-anchor","");a.exit().remove();a=a.merge(o);a.attr("transform",Vt(t,i.position));if(i.debug){var s=r.selectAll("[data-tooltip-anchor-debug]").data(n);var u=s.enter().append("circle").attr("data-tooltip-anchor-debug","");s.exit().remove();s=s.merge(u);s.attr("r",2).attr("fill","#fff").attr("stroke","#f00").attr("stroke-width",1.5).attr("transform",Vt(t,i.position))}}));function t(t){return zn.apply(null,t)}}function En(){return gn().prop("x",ge).prop("y0",ge).prop("y1",ge).render((function(t){var n=e.select(this);var r=n.props();var i=Vt(kn,r.x);var a=Vt(kn,r.y0);var o=Vt(kn,r.y1);n.selectAll(".sszvis-rangeFlag__mark.bottom").data(t).call(Tn("bottom",i,a));n.selectAll(".sszvis-rangeFlag__mark.top").data(t).call(Tn("top",i,o));var s=Sn().position((function(t){return[i(t),kn((r.y0(t)+r.y1(t))/2)]}));n.call(s)}))}function Tn(t,e,n){return function(r){var i=r.enter().append("circle").classed("sszvis-rangeFlag__mark",true).classed(t,true);r.exit().remove();r=r.merge(i);r.attr("r",3.5).attr("cx",e).attr("cy",n)}}var Cn={decimal:".",thousands:" ",grouping:[3],currency:["CHF ",""],dateTime:"%a. %e. %B %X %Y",date:"%d.%m.%Y",time:"%H:%M:%S",periods:[],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]};var Nn=e.timeFormatLocale(Cn).format;var Pn=e.formatLocale(Cn).format;var Rn=function t(e){return String(Math.round(e))};var Fn=function t(e){var n=[[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%H:%M",function(t){return t.getMinutes()}],["%H Uhr",function(t){return t.getHours()}],["%a., %d.",function(t){return t.getDay()&&t.getDate()!=1}],["%e. %b",function(t){return t.getDate()!=1}],["%B",function(t){return t.getMonth()}],["%Y",function(){return true}]];for(var r=0;r<n.length;++r){if(n[r][1](e)){return Nn(n[r][0])(e)}}};var On=Vt((function(t){return t.toUpperCase()}),Nn("%b"));var Bn=Nn("%Y");var Dn=function t(){return""};var Ln=function t(e){var n;var r=Math.abs(e);if(e==null||isNaN(e)){return"–"}else if(r>=1e4){return Pn(",.0f")(e)}else if(r>=100){n=Math.min(1,qn(e));return Wn(Pn("."+n+"f")(e))}else if(r>0){n=Math.min(2,qn(e));return Wn(Pn("."+n+"f")(e))}else{return Pn(".0f")(0)}};var In=function t(e,n){if(arguments.length>1)return t(e)(n);return function(t){var n=Math.abs(t);if(n>=100&&n<1e4){return Pn("."+e+"f")(t)}else{return Pn(",."+e+"f")(t)}}};var jn=function t(e){return Ln(e)+" %"};var Hn=function t(e){return Ln(e*100)+" %"};var Un=function t(e){return String(e)};function qn(t){return(String(Math.abs(t)).split(".")[1]||"").length}function Wn(t){return t.replace(/(\.[0-9]*[1-9])0+$|\.0*$/,"$1")}function Gn(){return gn().prop("x",ge).prop("y0",ge).prop("y1",ge).prop("top").prop("bottom").prop("label").prop("removeStroke").label(ge("")).prop("total").prop("flip",ge).flip(false).render((function(t){var n=e.select(this);var r=n.props();var i=Vt(kn,r.x);var a=Vt(kn,r.y0);var o=Vt(kn,r.y1);var s=function t(e){return kn((r.y0(e)+r.y1(e))/2)};var u=1.5;var l=n.selectAll(".sszvis-rangeRuler__rule").data([0]);var c=l.enter().append("line").classed("sszvis-rangeRuler__rule",true);l.exit().remove();l=l.merge(c);l.attr("x1",i).attr("y1",r.top).attr("x2",i).attr("y2",r.bottom);var f=n.selectAll(".sszvis-rangeRuler--mark").data(t);var h=f.enter().append("g").classed("sszvis-rangeRuler--mark",true);f.exit().remove();f=f.merge(h);h.append("circle").classed("sszvis-rangeRuler__p1",true);h.append("circle").classed("sszvis-rangeRuler__p2",true);h.append("text").classed("sszvis-rangeRuler__label-contour",true);h.append("text").classed("sszvis-rangeRuler__label",true);f.selectAll(".sszvis-rangeRuler__p1").data((function(t){return[t]})).attr("cx",i).attr("cy",a).attr("r",u);f.selectAll(".sszvis-rangeRuler__p2").data((function(t){return[t]})).attr("cx",i).attr("cy",o).attr("r",u);f.selectAll(".sszvis-rangeRuler__label").data((function(t){return[t]})).attr("x",(function(t){var e=r.flip(t)?-10:10;return i(t)+e})).attr("y",s).attr("dy","0.35em").style("text-anchor",(function(t){return r.flip(t)?"end":"start"})).text(Vt(Ln,r.label));f.selectAll(".sszvis-rangeRuler__label-contour").data((function(t){return[t]})).attr("x",(function(t){var e=r.flip(t)?-10:10;return i(t)+e})).attr("y",s).attr("dy","0.35em").style("text-anchor",(function(t){return r.flip(t)?"end":"start"})).text(Vt(Ln,r.label));n.selectAll("g.sszvis-rangeRuler--mark").each((function(){var t=e.select(this);var n=t.select("text").node();var a=t.select(".sszvis-rangeRuler__label-contour");if(a.empty()){a=e.select(n.cloneNode()).classed("sszvis-rangeRuler__label-contour",true).classed("sszvis-rangeRuler__label",false);this.insertBefore(a.node(),n)}else{a.attr("x",(function(t){var e=r.flip(t)?-10:10;return i(t)+e})).attr("y",s).attr("dy","0.35em").style("text-anchor",(function(t){return r.flip(t)?"end":"start"}))}a.text(n.textContent)}));if(!r.removeStroke){f.attr("stroke","white").attr("stroke-width",.5).attr("stroke-opacity",.75)}var p=n.selectAll(".sszvis-rangeRuler__total").data([le(t)]);var v=p.enter().append("text").classed("sszvis-rangeRuler__total",true);p.exit().remove();p=p.merge(v);p.attr("x",(function(t){var e=r.flip(t)?-10:10;return i(t)+e})).attr("y",r.top-10).style("text-anchor",(function(t){return r.flip(t)?"end":"start"})).text("Total "+Ln(r.total));var d=p.node();var g=n.select(".sszvis-rangeRuler__total-contour");if(g.empty()){g=e.select(d.cloneNode()).classed("sszvis-rangeRuler__total-contour",true).classed("sszvis-rangeRuler__total",false);this.insertBefore(g.node(),d)}else{g.attr("x",(function(t){var e=r.flip(t)?-10:10;return i(t)+e})).attr("y",r.top-10).style("text-anchor",(function(t){return r.flip(t)?"end":"start"}))}g.text(d.textContent);if(!r.removeStroke){p.attr("stroke","white").attr("stroke-width",.5).attr("stroke-opacity",.75)}}))}function Yn(){return gn().prop("x",ge).prop("y",ge).prop("width",ge).prop("height",ge).prop("dx",ge).prop("dy",ge).prop("caption",ge).render((function(t){var n=e.select(this);var r=n.props();me(n,"pattern","data-area-pattern").call(dn);var i=n.selectAll(".sszvis-dataarearectangle").data(t);var a=i.enter().append("rect").classed("sszvis-dataarearectangle",true);i=i.merge(a);i.attr("x",r.x).attr("y",r.y).attr("width",r.width).attr("height",r.height).attr("fill","url(#data-area-pattern)");if(r.caption){var o=n.selectAll(".sszvis-dataarearectangle__caption").data(t);var s=o.enter().append("text").classed("sszvis-dataarearectangle__caption",true);o=o.merge(s);o.attr("x",(function(t,e){return r.x(t,e)+r.width(t,e)/2})).attr("y",(function(t,e){return r.y(t,e)+r.height(t,e)/2})).attr("dx",r.dx).attr("dy",r.dy).text(r.caption)}}))}function Vn(){return gn().prop("top").prop("bottom").prop("x",ge).prop("y",ge).prop("label").label(ge("")).prop("color").prop("flip",ge).flip(false).prop("labelId",ge).prop("reduceOverlap").reduceOverlap(true).render((function(t){var n=e.select(this);var r=n.props();var i=r.labelId||function(t){return r.x(t)+"_"+r.y(t)};var a=n.selectAll(".sszvis-ruler__rule").data(t,i);var o=a.enter().append("line").classed("sszvis-ruler__rule",true);a.exit().remove();a=a.merge(o);a.attr("x1",Vt(kn,r.x)).attr("y1",r.y).attr("x2",Vt(kn,r.x)).attr("y2",r.bottom);var s=n.selectAll(".sszvis-ruler__dot").data(t,i);var u=s.enter().append("circle").classed("sszvis-ruler__dot",true);s.exit().remove();s=s.merge(u);s.attr("cx",Vt(kn,r.x)).attr("cy",Vt(kn,r.y)).attr("r",3.5).attr("fill",r.color);var l=n.selectAll(".sszvis-ruler__label-outline").data(t,i);var c=l.enter().append("text").classed("sszvis-ruler__label-outline",true);l.exit().remove();l=l.merge(c);var f=n.selectAll(".sszvis-ruler__label").data(t,i);var h=f.enter().append("text").classed("sszvis-ruler__label",true);f.exit().remove();f=f.merge(h);var p=Vt(kn,r.x);var v=Vt(kn,r.y);var d=n.selectAll(".sszvis-ruler__label, .sszvis-ruler__label-outline").attr("transform",(function(t){var e=p(t);var n=v(t);var i=r.flip(t)?-10:10;var a=n<r.top+a?2*a:n>r.bottom-a?0:5;return zn(e+i,n+a)})).style("text-anchor",(function(t){return r.flip(t)?"end":"start"})).html(r.label);if(r.reduceOverlap){var g=2;var y=10;var m=[];var _={};d.attr("y","");f.each((function(t){var e=this.getBoundingClientRect();var n={top:e.top,bottom:e.bottom,dy:0};m.push(n);_[i(t)]=n}));m.sort((function(t,n){return e.ascending(t.top,n.top)}));while(y--){m.forEach((function(t,e){m.slice(e+1).forEach((function(e){var n=t.bottom-e.top;if(n>=g){var r=n/2;t.bottom-=r;t.top-=r;t.dy-=r;e.bottom+=r;e.top+=r;e.dy+=r}}))}))}d.attr("y",(function(t){var e=_[i(t)];return e.dy}))}}))}var Jn=3;var Xn=4;var Zn=6;var Kn=5;function Qn(){var t=$n();return gn().delegate("header",t).delegate("body",t).delegate("orientation",t).delegate("dx",t).delegate("dy",t).delegate("opacity",t).prop("renderInto").prop("visible",ge).visible(false).renderSelection((function(e){var n=e.props();var r=n.renderInto.node().getBoundingClientRect();var i=[];e.each((function(t){if(n.visible(t)){var e=this.getBoundingClientRect();var a=[e.left-r.left,e.top-r.top];i.push({datum:t,x:a[0],y:a[1]})}}));n.renderInto.datum(i).call(t)}))}var $n=function t(){return gn().prop("header").prop("body").prop("orientation",ge).orientation("bottom").prop("dx",ge).dx(1).prop("dy",ge).dy(1).prop("opacity",ge).opacity(1).renderSelection((function(t){var n=t.datum();var r=t.props();var i=Xt;var a=i(r.header)&&!i(r.body)||!i(r.header)&&i(r.body);var o=t.selectAll(".sszvis-tooltip").data(n);o.exit().remove();var s=o.enter().append("div");o=o.merge(s);o.style("pointer-events","none").style("opacity",r.opacity).style("padding-top",(function(t){return r.orientation(t)==="top"?Zn+"px":null})).style("padding-right",(function(t){return r.orientation(t)==="right"?Zn+"px":null})).style("padding-bottom",(function(t){return r.orientation(t)==="bottom"?Zn+"px":null})).style("padding-left",(function(t){return r.orientation(t)==="left"?Zn+"px":null})).classed("sszvis-tooltip",true);var u=s.append("svg").attr("class","sszvis-tooltip__background").attr("height",0).attr("width",0);var l=u.append("path");if(nr()){var c=u.append("filter").attr("id","sszvisTooltipShadowFilter").attr("height","150%");c.append("feGaussianBlur").attr("in","SourceAlpha").attr("stdDeviation",2);c.append("feComponentTransfer").append("feFuncA").attr("type","linear").attr("slope",.2);var f=c.append("feMerge");f.append("feMergeNode");f.append("feMergeNode").attr("in","SourceGraphic");l.attr("filter","url(#sszvisTooltipShadowFilter)")}else{u.classed("sszvis-tooltip__background--fallback",true)}var h=s.append("div").classed("sszvis-tooltip__content",true);h.append("div").classed("sszvis-tooltip__header",true);h.append("div").classed("sszvis-tooltip__body",true);o.select(".sszvis-tooltip__header").datum(fe("datum")).html(r.header||ge(""));o.select(".sszvis-tooltip__body").datum(fe("datum")).html((function(t){var e=r.body?ge(r.body)(t):"";return Array.isArray(e)?tr(e):e}));t.selectAll(".sszvis-tooltip").classed("sszvis-tooltip--small",a).each((function(t){var n=e.select(this);var i=n.node().getBoundingClientRect();var o=r.orientation.apply(this,arguments);switch(o){case"top":n.style("left",t.x-i.width/2+"px").style("top",t.y+r.dy(t)+"px");break;case"bottom":n.style("left",t.x-i.width/2+"px").style("top",t.y-r.dy(t)-i.height+"px");break;case"left":n.style("left",t.x+r.dx(t)+"px").style("top",t.y-i.height/2+"px");break;case"right":n.style("left",t.x-r.dx(t)-i.width+"px").style("top",t.y-i.height/2+"px");break}var s=i.height+2*Kn;var u=i.width+2*Kn;n.select(".sszvis-tooltip__background").attr("height",s).attr("width",u).style("left",-Kn+"px").style("top",-Kn+"px").select("path").attr("d",er([Kn,Kn],[u-Kn,s-Kn],o,a?Jn:Xn))}))}))};function tr(t){var e=t.map((function(t){return"<tr>"+t.map((function(t){return"<td>"+t+"</td>"})).join("")+"</tr>"})).join("");return'<table class="sszvis-tooltip__body__table">'+e+"</table>"}function er(t,e,n,r){switch(n){case"top":t[1]=t[1]+Zn;break;case"bottom":e[1]=e[1]-Zn;break;case"left":t[0]=t[0]+Zn;break;case"right":e[0]=e[0]-Zn;break}function i(t){return t[0]}function a(t){return t[1]}function o(t,e,n,r,i,a,o){var s=n+(i-n)/2;var u=r+(a-r)/2;var l=["Q",t,e,n,r];var c=[];if(o&&r===a){if(n<i){c=["L",s-Zn,u,"L",s,u-Zn,"L",s+Zn,u]}else{c=["L",s+Zn,u,"L",s,u+Zn,"L",s-Zn,u]}}else if(o&&n===i){if(r<a){c=["L",s,u-Zn,"L",s+Zn,u,"L",s,u+Zn]}else{c=["L",s,u+Zn,"L",s-Zn,u,"L",s,u-Zn]}}var f=["L",i,a];return[].concat(l,c,f)}return[["M",i(t),a(t)+r],o(i(t),a(t),i(t)+r,a(t),i(e)-r,a(t),n==="top"),o(i(e),a(t),i(e),a(t)+r,i(e),a(e)-r,n==="right"),o(i(e),a(e),i(e)-r,a(e),i(t)+r,a(e),n==="bottom"),o(i(t),a(e),i(t),a(e)-r,i(t),a(t)+r,n==="left")].map((function(t){return t.join(" ")})).join(" ")}function nr(){return window["SVGFEColorMatrixElement"]!==undefined&&SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE==2}function rr(t,e){var n=Math.min(e.innerWidth*1/4,100);var r=Math.max(e.innerWidth*3/4,e.innerWidth-100);return function(e){var i=e.x;return i>r?"right":i<n?"left":t}}var ir=function t(){var e=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;return!e};var ar=function t(){var e=!!document.createElement("canvas").getContext;return!e};var or=function t(n,r){r||(r={});r.src||(r.src="fallback.png");var i=Gt(n)?n:e.select(n);i.append("img").attr("class","sszvis-fallback-image").attr("src",r.src)};var sr=function(t,e,n){var r=0,i;arguments.length<3&&(n=true);return function(){var a=arguments;var o=this;i=function(){t.apply(o,a);r=(new Date).getTime()+e;i=null;n&&setTimeout((function(){i&&i()}),e)};if((new Date).getTime()>r)i()}};var ur={resize:[]};if(typeof window!=="undefined"){e.select(window).on("resize",sr((function(){fr("resize")}),500))}var lr=function t(e,n){if(!ur[e]){ur[e]=[]}ur[e]=ur[e].filter((function(t){return t!==n})).concat(n);return this};var cr=function t(e,n){if(!ur[e]){return this}ur[e]=ur[e].filter((function(t){return t!==n}));return this};var fr=function t(e){var n=Array.prototype.slice.call(arguments,1);if(ur[e]){ur[e].forEach((function(t){t.apply(null,n)}))}return this};var hr={on:lr,off:cr,trigger:fr};var pr=function t(e){var n=e.init,r=e.render,i=e.actions,a=i===void 0?{}:i,o=e.fallback;var s;var u;vr(dr(n),'An "init" function returning a Promise must be provided.');vr(dr(r),'A "render" function must be provided.');var l=Object.keys(a).reduce((function(t,e){t[e]=function(t){f(e,t)};return t}),{});function c(t){if(!s){s=true;requestAnimationFrame((function(){r(u,l);s=false}))}if(dr(t))t(f)}function f(t,e){vr(a[t]!=null,'Action "'.concat(t,'" is not defined, add it to "actions".'));var n=nt(u);var r=a[t](n,e);u=rt(n);c(r)}var h=nt({});n(h).then((function(t){u=rt(h);c(t);hr.on("resize",c)})).catch((function(t){vr(false,t);o&&or(o.element,{src:o.src})}))};function vr(t,e){if(!t){throw new Error("[sszvis.app] ".concat(e))}}function dr(t){return typeof t==="function"}function gr(t,e){var n=Ar(e);return $t((function(t){return mr(t,n)}),t)}function yr(t,e){var n=function t(n){return n.name===e};return $t(n,t)}function mr(t,e){var n=t.measurement;var r=Ar(e);return r.width<=n.width&&r.screenHeight<=n.screenHeight}function _r(t,e){var n=Ar(e);return t.filter((function(t){return mr(t,n)}))}function br(t){return t.map(Mr).concat(Mr({name:"_"}))}var xr=function(){var t=br([{name:"palm",width:540},{name:"lap",width:749}]);return function(){return t}}();var wr=zr("palm");var kr=zr("lap");function Ar(t){var e=he("width",Infinity);var n=he("screenHeight",Infinity);return{width:e(t),screenHeight:n(t)}}function Mr(t){var e;if(Xt(t.measurement)){e=Ar(t.measurement)}else{e=Ar({width:t.width,screenHeight:t.screenHeight})}return{name:t.name,measurement:e}}function zr(t){return function(e){return mr(yr(xr(),t),e)}}function Sr(t,e){var n=t/e;return function(t){return t/n}}var Er=Sr(4,3);var Tr=Sr(16,10);var Cr=500;var Nr=function t(e){return Math.min(Sr(12,5)(e),Cr)};Nr.MAX_HEIGHT=Cr;var Pr=420;var Rr=function t(e){return Math.min(Sr(1,1)(e),Pr)};Rr.MAX_HEIGHT=Pr;var Fr=600;var Or=function t(e){return Math.min(Sr(4,5)(e),Fr)};Or.MAX_HEIGHT=Fr;var Br={palm:Er,lap:Tr,_:Nr};var Dr=function t(e){var n=gr(xr(),e);var r=Br[n.name];return r(e.width)};var Lr=jr("warn");var Ir=jr("error");function jr(t){return function(){if(console&&console[t]){Hr(arguments).forEach((function(e){console[t](e)}))}}}function Hr(t){return Array.prototype.slice.call(t)}var Ur=function t(e){return e.rangeExtent?e.rangeExtent():qr(e.range())};function qr(t){var e=t[0],n=t[t.length-1];return e<n?[e,n]:[n,e]}function Wr(t,n,r,i){r=r||5;i=(i||5)-2;var a=n;n=n-r*2;var o=[];t.each((function(){var t=e.select(this);var s=t.text().split(/[ \f\n\r\t\v]+/).reverse();var u;var l=[];var c=0;var f=1.1;var h;var p=t.attr("y");var v=parseFloat(t.attr("dy"));var d=1;var g=t.style("text-anchor")||"start";if(isNaN(v))v=0;var y=e.select(t.node().parentNode).classed("tick");if(y){switch(g){case"start":h=-n/2;break;case"middle":h=0;break;case"end":h=n/2;break}}else{switch(g){case"start":h=r;break;case"middle":h=a/2;break;case"end":h=a-r;break}}p=+(null===p?i:p);var m=t.text(null).append("tspan").attr("x",h).attr("y",p).attr("dy",v+"em");while(s.length>0){u=s.pop();l.push(u);m.text(l.join(" "));if(m.node().getComputedTextLength()>n&&l.length>1){l.pop();m.text(l.join(" "));l=[u];m=t.append("tspan").attr("x",h).attr("y",p).attr("dy",++c*f+v+"em").text(u);++d}}o.push(d)}));return o}var Gr=8;var Yr=12;var Vr=10;var Jr=function t(){var n=gn().prop("scale").prop("orient").prop("ticks").prop("tickValues").prop("tickSize").prop("tickSizeInner").prop("tickSizeOuter").prop("tickPadding").prop("tickFormat").prop("_scale").prop("orient").orient("bottom").prop("alignOuterLabels").alignOuterLabels(false).prop("contour").prop("hideBorderTickThreshold").hideBorderTickThreshold(Gr).prop("hideLabelThreshold").hideLabelThreshold(Vr).prop("highlightTick",ge).prop("showZeroY").showZeroY(false).prop("slant").prop("textWrap").prop("tickLength").prop("title").prop("titleAnchor").prop("titleCenter").prop("dxTitle").prop("dyTitle").prop("titleVertical").prop("vertical").vertical(false).prop("yOffset").yOffset(0).render((function(){var t=e.select(this);var n=t.props();var r=!n.vertical&&n.orient==="bottom";var i=function(){switch(n.orient){case"bottom":return e.axisBottom();case"top":return e.axisTop();case"left":return e.axisLeft();case"right":return e.axisRight()}}();["scale","ticks","tickValues","tickSizeInner","tickSizeOuter","tickPadding","tickFormat","tickSize"].forEach((function(t){if(n[t]!==undefined){if(i[t]===undefined){throw new Error('axis: "'+t+'" not available')}i[t](n[t])}}));if(n._scale){i.scale(n._scale)}var a=t.selectGroup("sszvis-axis").classed("sszvis-axis",true).classed("sszvis-axis--top",!n.vertical&&n.orient==="top").classed("sszvis-axis--bottom",r).classed("sszvis-axis--vertical",n.vertical).attr("transform",zn(0,n.yOffset)).call(i);a.attr("fill",null).attr("font-size",null).attr("font-family",null);var o=i.scale();var s=a.selectAll("g.tick");var u=s.selectAll("text");s.each((function(){var t=Mn(this.getAttribute("transform"));var n=kn(0)-t[0];var i=kn(r?2:0)+t[1];e.select(this).select("line").attr("transform",zn(n,i))}));u.each((function(){if(n.orient==="top"||n.orient==="bottom"){e.select(this).attr("dx","-0.5")}if(n.orient==="left"||n.orient==="right"){e.select(this).attr("y","-0.5")}}));a.selectAll("path.domain");var l=Ur(o);s.selectAll("line").each((function(t){var r=o(t),i=e.select(this);i.classed("hidden",!i.classed("sszvis-axis__longtick")&&(Qr(r,l[0])<n.hideBorderTickThreshold||Qr(r,l[1])<n.hideBorderTickThreshold))}));if(Xt(n.tickLength)){var c=e.extent(o.domain());var f=s.filter((function(t){return!de(t,c[0])&&!de(t,c[1])}));var h=n.orient;var p=2;if(h==="left"||h==="right"){f.selectAll("text").each((function(){p=Math.max(this.getBoundingClientRect().width,p)}));p+=2}var v=f.selectAll("line.sszvis-axis__longtick").data([0]);if(n.tickLength>p){var d=v.enter().append("line").classed("sszvis-axis__longtick",true);v=v.merge(d);if(h==="top"){v.attr("y1",p).attr("y2",n.tickLength)}else if(h==="bottom"){v.attr("y1",-p).attr("y2",-n.tickLength)}else if(h==="left"){v.attr("x1",-p).attr("x2",-n.tickLength)}else if(h==="right"){v.attr("x1",p).attr("x2",n.tickLength)}}else{v.remove()}}if(n.alignOuterLabels){var g=Ur(o);var y=g[0];var m=g[1];u.style("text-anchor",(function(t){var e=o(t);if(Qr(e,y)<Yr){return"start"}else if(Qr(e,m)<Yr){return"end"}return"middle"}))}if(Xt(n.textWrap)){u.call(Wr,n.textWrap)}if(n.slant){u.call(ti[n.orient][n.slant])}if(n.highlightTick){var _=[];var b=[];u.classed("hidden",false).classed("active",n.highlightTick);if(n.hideLabelThreshold>0&&!n.slant){u.each((function(t){var e=this.getBoundingClientRect();var r={node:this,bounds:{top:e.top,right:e.right,bottom:e.bottom,left:e.left}};if(n.highlightTick(t)){r.bounds.left-=n.hideLabelThreshold;r.bounds.right+=n.hideLabelThreshold;_.push(r)}else{b.push(r)}}));_.forEach((function(t){b.forEach((function(n){e.select(n.node).classed("hidden",$r(n.bounds,t.bounds))}))}))}}if(n.title){var x=a.selectAll(".sszvis-axis__title").data([n.title]);var w=x.enter().append("text").classed("sszvis-axis__title",true);x.exit().remove();x.merge(w).text((function(t){return t})).attr("transform",(function(){var t=n.orient,e=Ur(o),r;if(n.titleCenter){r={left:t==="left"||t==="right"?0:t==="top"||t==="bottom"?(e[0]+e[1])/2:0,top:t==="left"||t==="right"?(e[0]+e[1])/2:t==="top"?0:t==="bottom"?32:0}}else{r={left:t==="left"||t==="right"||t==="top"?0:t==="bottom"?e[1]:0,top:t==="left"||t==="right"||t==="top"?0:t==="bottom"?32:0}}r.vertical=!!n.titleVertical;r.left+=n.dxTitle||0;r.top+=n.dyTitle||0;return"translate("+r.left+", "+r.top+") rotate("+(r.vertical?"-90":"0")+")"})).style("text-anchor",(function(){var t=n.orient;if(typeof n.titleAnchor!=="undefined"){return n.titleAnchor}else if(t==="left"){return"end"}else if(t==="right"){return"start"}else if(t==="top"||t==="bottom"){return"end"}}))}if(n.contour&&n.slant){Lr("Can't apply contour to slanted labels")}else if(n.contour){s.each((function(){var t=e.select(this);var n=t.select("text").node();var r=t.select(".sszvis-axis__label-contour");if(r.empty()){r=e.select(n.cloneNode()).classed("sszvis-axis__label-contour",true);this.insertBefore(r.node(),n)}r.text(n.textContent)}))}}));return n};var Xr=function t(e){var n=this.scale().domain(),r=[],i=Math.round(n.length/e);if(typeof n[0]!=="undefined")r.push(n[0]);for(var a=i,o=n.length;a<o-1;a+=i){if(typeof n[a]!=="undefined")r.push(n[a])}if(typeof n[n.length-1]!=="undefined")r.push(n[n.length-1]);this.tickValues(r);return e};var Zr=function t(){return Jr().yOffset(2).ticks(3).tickSizeInner(4).tickSizeOuter(6.5).tickPadding(6).tickFormat(Yt(1,Ln))};Zr.time=function(){return Zr().tickFormat(Fn).alignOuterLabels(true)};Zr.ordinal=function(){return Zr().prop("ticks",Xr).tickFormat(Un)};Zr.pyramid=function(){return Zr().ticks(10).prop("scale",(function(t){var e=t.copy(),n=e.domain(),r=e.range();e.domain([-n[1],n[1]]).range([r[0]-r[1],r[0]+r[1]]);this._scale(e);return e})).tickFormat((function(t){return Ln(Math.abs(t))}))};var Kr=function t(){var e=Jr().ticks(6).tickSize(0,0).tickPadding(0).tickFormat((function(t){return 0===t&&!e.showZeroY()?null:Ln(t)})).vertical(true);return e};Kr.time=function(){return Kr().tickFormat(Fn)};Kr.ordinal=function(){return Kr().prop("ticks",Xr).tickFormat(Un)};function Qr(t,e){return Math.abs(t-e)}function $r(t,e){return!(e.left>t.right||e.right<t.left||e.top>t.bottom||e.bottom<t.top)}var ti={top:{horizontal:function t(e){e.style("text-anchor","middle").attr("dx","-0.5").attr("dy","0.71em").attr("transform",null)},vertical:function t(e){e.style("text-anchor","start").attr("dx","0em").attr("dy","0.35em").attr("transform","rotate(-90)")},diagonal:function t(e){e.style("text-anchor","start").attr("dx","0.1em").attr("dy","0.1em").attr("transform","translate(-0.5) rotate(-45)")}},bottom:{horizontal:function t(e){e.style("text-anchor","middle").attr("dx","-0.5").attr("dy","0.71em").attr("transform",null)},vertical:function t(e){e.style("text-anchor","end").attr("dx","-1em").attr("dy","-0.75em").attr("transform","rotate(-90)")},diagonal:function t(e){e.style("text-anchor","end").attr("dx","-0.8em").attr("dy","0em").attr("transform","rotate(-45)")}}};function ei(){var t=e.dispatch("start","move","drag","end");var n=gn().prop("debug").prop("xScale").prop("yScale").prop("draggable").prop("cancelScrolling",ge).cancelScrolling(false).prop("fireOnPanOnly",ge).fireOnPanOnly(false).prop("padding",(function(t){var e={top:0,left:0,bottom:0,right:0};for(var n in t){e[n]=t[n]}return e})).padding({}).render((function(){var n=e.select(this);var r=n.props();var i=Ur(r.xScale).sort(e.ascending);var a=Ur(r.yScale).sort(e.ascending);i[0]-=r.padding.left;i[1]+=r.padding.right;a[0]-=r.padding.top;a[1]+=r.padding.bottom;var o=n.selectAll("[data-sszvis-behavior-move]").data([0]);var s=o.enter().append("rect").attr("data-sszvis-behavior-move","").attr("class","sszvis-interactive");o=o.merge(s);if(r.draggable){o.classed("sszvis-interactive--draggable",true)}o.attr("x",i[0]).attr("y",a[0]).attr("width",i[1]-i[0]).attr("height",a[1]-a[0]).attr("fill","transparent").on("mouseover",(function(){t.apply("start",this,arguments)})).on("mousedown",(function(){var n=this;var i=e.select(document);var a=e.select(window);var o=function i(){var a=e.mouse(n);var o=ni(r.xScale,a[0]);var s=ni(r.yScale,a[1]);e.event.preventDefault();t.apply("drag",this,[o,s])};var s=function t(){n.__dragging__=true;o()};var u=function e(){n.__dragging__=false;a.on("mouseup.sszvis-behavior-move",null);a.on("mousemove.sszvis-behavior-move",null);i.on("mouseout.sszvis-behavior-move",null);t.apply("end",this,arguments)};a.on("mousemove.sszvis-behavior-move",o);a.on("mouseup.sszvis-behavior-move",u);i.on("mouseout.sszvis-behavior-move",(function(){var t=e.event.relatedTarget||e.event.toElement;if(!t||t.nodeName==="HTML"){u()}}));s()})).on("mousemove",(function(){var n=this;var i=e.mouse(this);var a=ni(r.xScale,i[0]);var o=ni(r.yScale,i[1]);if(!n.__dragging__){t.apply("move",this,[a,o])}})).on("mouseout",(function(){t.apply("end",this,[])})).on("touchstart",(function(){var n=te(e.touches(this));var i=ni(r.xScale,n[0]);var a=ni(r.yScale,n[1]);var o=r.cancelScrolling(i,a);if(o){e.event.preventDefault()}if(!r.fireOnPanOnly()||o){t.apply("start",this,[i,a]);t.apply("drag",this,[i,a]);t.apply("move",this,[i,a]);var s=function n(){var i=te(e.touches(this));var a=ni(r.xScale,i[0]);var o=ni(r.yScale,i[1]);var s=r.cancelScrolling(a,o);if(s){e.event.preventDefault()}if(!r.fireOnPanOnly()||s){t.apply("drag",this,[a,o]);t.apply("move",this,[a,o])}else{t.apply("end",this,[])}};var u=function n(){t.apply("end",this,[]);e.select(this).on("touchmove",null).on("touchend",null)};e.select(this).on("touchmove",s).on("touchend",u)}}));if(r.debug){o.attr("fill","rgba(255,0,0,0.2)")}}));n.on=function(){var e=t.on.apply(t,arguments);return e===t?n:e};return n}function ni(t,e){var n=t.invert?"Linear":t.paddingInner?"Band":"Point";switch(n){case"Linear":{return t.invert(e)}case"Band":return ri(t,e);case"Point":return ii(t,e);default:{throw new Error("Unknown scale type, could not invert")}}}function ri(t,e){var n=t.step();var r=t.paddingOuter()*n;var i=t.paddingInner()*n;var a=t.bandwidth();var o=t.range();var s=t.domain();if(s.length===1){if(o[0]<=e&&o[1]>=e){return s[0]}return null}var u=s.map((function(t,e){if(e===0){return[o[0],o[0]+r+a+i/2]}else if(e===s.length-1){return[o[1]-(r+a+i/2),o[1]]}else{return[o[0]+r+e*n-i/2,o[0]+r+(e+1)*n-i/2]}}));for(var l=0,c=u.length;l<c;l++){if(u[l][0]<e&&e<=u[l][1]){return s[l]}}return null}function ii(t,e){var n=t.step();var r=t.padding()*n;var i=t.range();var a=t.domain();if(a.length===1){if(i[0]<=e&&i[1]>=e){return a[0]}return null}var o=a.map((function(t,e){if(e===0){return[i[0],i[0]+r+n/2]}else if(e===a.length-1){return[i[1]-(r+n/2),i[1]]}else{return[i[0]+r+e*n-n/2,i[0]+r+e*n+n/2]}}));for(var s=0,u=o.length;s<u;s++){if(o[s][0]<e&&e<=o[s][1]){return a[s]}}return null}var ai=function t(e){if(!oe(e)&&Xt(e)){return document.elementFromPoint(e.clientX,e.clientY)}return null};var oi=function t(n){if(!oe(n)){var r=e.select(n);if(!oe(r.attr("data-sszvis-behavior-pannable"))){var i=r.datum();if(Xt(i)){return i}}}return null};var si=function t(e){return oi(ai(e))};function ui(){var t=e.dispatch("start","pan","end");var n=gn().prop("elementSelector").render((function(){var n=e.select(this);var r=n.props();var i=n.selectAll(r.elementSelector);i.attr("data-sszvis-behavior-pannable","").classed("sszvis-interactive",true).on("mouseenter",(function(){t.apply("start",this,arguments)})).on("mousemove",(function(){t.apply("pan",this,arguments)})).on("mouseleave",(function(){t.apply("end",this,arguments)})).on("touchstart",(function(){e.event.preventDefault();t.apply("start",this,arguments)})).on("touchmove",(function(){e.event.preventDefault();var n=si(ne(e.event));if(n!==null){t.apply("pan",this,arguments)}else{t.apply("end",this,arguments)}})).on("touchend",(function(){t.apply("end",this,arguments)}))}));n.on=function(){var e=t.on.apply(t,arguments);return e===t?n:e};return n}function li(){var t=e.dispatch("over","out");var n=gn().prop("x").prop("y").prop("bounds").prop("debug").render((function(n){var r=e.select(this);var i=r.props();if(!i.bounds){Ir("behavior.voronoi - requires bounds");return false}var a=e.voronoi().x(i.x).y(i.y).extent(i.bounds);var o=r.selectAll("[data-sszvis-behavior-voronoi]").data(a.polygons(n));var s=o.enter().append("path").attr("data-sszvis-behavior-voronoi","").attr("data-sszvis-behavior-pannable","").attr("class","sszvis-interactive");o.exit().remove();o=o.merge(s);o.attr("d",(function(t){return"M"+t.join("L")+"Z"})).attr("fill","transparent").on("mouseover",(function(n){var r=this.parentNode.getBoundingClientRect();if(fi(e.event,[r.left+i.x(n.data),r.top+i.y(n.data)])){t.apply("over",this,[n.data])}})).on("mousemove",(function(n){var r=this.parentNode.getBoundingClientRect();if(fi(e.event,[r.left+i.x(n.data),r.top+i.y(n.data)])){t.apply("over",this,[n.data])}else{t.apply("out",this,[])}})).on("mouseout",(function(){t.apply("out",this,[])})).on("touchstart",(function(n){var r=this.parentNode.getBoundingClientRect();if(fi(ne(e.event),[r.left+i.x(n.data),r.top+i.y(n.data)])){e.event.preventDefault();t.apply("over",this,[n.data]);var a=function n(){var r=ne(e.event);var a=ai(r);var o=oi(a);if(o!==null){var s=a.parentNode.getBoundingClientRect();if(fi(r,[s.left+i.x(o.data),s.top+i.y(o.data)])){if(e.event.cancelable){e.event.preventDefault()}t.apply("over",this,[o.data])}else{t.apply("out",this,[])}}else{t.apply("out",this,[])}};var o=function n(){t.apply("out",this,[]);e.select(this).on("touchmove",null).on("touchend",null)};e.select(this).on("touchmove",a).on("touchend",o)}}));if(i.debug){o.attr("stroke","#f00")}}));n.on=function(){var e=t.on.apply(t,arguments);return e===t?n:e};return n}var ci=Math.pow(15,2);function fi(t,e){var n=t.clientX-e[0];var r=t.clientY-e[1];return n*n+r*r<ci}var hi=function t(n){var r;if(Wt(n)){r=e.select(n).node()}else if(Gt(n)){r=n.node()}else{r=n}return{width:r?r.getBoundingClientRect().width:undefined,screenWidth:window.innerWidth,screenHeight:window.innerHeight}};var pi=function(){var t=document.createElement("canvas");var e=t.getContext("2d");var n={};return function(t,r,i){var a=[t,r,i].join("-");e.font=t+"px "+r;return n[a]||(n[a]=e.measureText(i).width)}}();var vi=function t(e){return pi(10,"Arial, sans-serif",e)};var di=function t(e){return pi(12,"Arial, sans-serif",e)};var gi=516;function yi(t,n){var r=null,i=null;if(arguments.length===0){r={}}else if(arguments.length===1){if(ue(t)){r=t}else if(Gt(t)){r={};i=t}else{r={};i=e.select(t)}}else{r=t;if(Gt(n)){i=n}else{i=e.select(n)}}var a={top:_i(r.top,0),right:_i(r.right,1),bottom:_i(r.bottom,0),left:_i(r.left,1)};var o=Xt(i)?hi(i):{width:gi};var s=_i(r.width,o.width);var u=Dr(o);var l=_i(r.height,u+a.top+a.bottom);return{innerHeight:l-a.top-a.bottom,innerWidth:s-a.left-a.right,padding:a,height:l,width:s,screenWidth:o.screenWidth,screenHeight:o.screenHeight}}var mi=16/9;function _i(t,e){return typeof t==="undefined"?e:t}function bi(t,e){var n={},r;for(var i=0,a=t.length,o;i<a;++i){o=t[i];r=e(o);n[r]?n[r].push(o):n[r]=[o]}return n}function xi(t,e){for(var n in t){e(t[n],n)}}function wi(t,e){for(var n=0,r=t.length;n<r;++n){e(t[n],n)}}function ki(){var t={},e=[],n=[],r;function i(t,a){if(a>=e.length){if(r)t.sort(r);return t}var o=n[a];var s=e[a++];var u=bi(t,s.func);if(s.type==="obj"){var l={};xi(u,(function(t,e){l[e]=i(t,a)}));return l}else if(s.type==="arr"){var c=[];if(o){var f=Object.keys(u).sort(o);wi(f,(function(t){c.push(i(u[t],a))}))}else{xi(u,(function(t){c.push(i(t,a))}))}return c}}t.apply=function(t){return i(t,0)};t.objectBy=function(n){e.push({type:"obj",func:n});return t};t.arrayBy=function(r,i){e.push({type:"arr",func:r});if(i)n[e.length-1]=i;return t};t.sort=function(e){r=e;return t};return t}var Ai=e.easePolyOut;var Mi=function t(){return e.transition().ease(Ai).duration(300)};var zi=function t(){return e.transition().ease(Ai).duration(50)};var Si=function t(){return e.transition().ease(Ai).duration(500)};function Ei(t){return isNaN(t)?0:t}function Ti(){return gn().prop("x",ge).prop("y",ge).prop("width",ge).prop("height",ge).prop("fill",ge).prop("stroke",ge).prop("centerTooltip").prop("tooltipAnchor").prop("transition").transition(true).render((function(t){var n=e.select(this);var r=n.props();var i=Vt(Ei,r.x);var a=Vt(Ei,r.y);var o=Vt(Ei,r.width);var s=Vt(Ei,r.height);var u=n.selectAll(".sszvis-bar").data(t);u.exit().remove();u.enter().append("rect").classed("sszvis-bar",true).attr("x",i).attr("y",a).attr("width",o).attr("height",s).merge(u).attr("fill",r.fill).attr("stroke",r.stroke);if(r.transition){u=u.transition(Mi())}u.attr("x",i).attr("y",a).attr("width",o).attr("height",s);var l;if(r.centerTooltip){l=function t(e){return[i(e)+o(e)/2,a(e)+s(e)/2]}}else if(r.tooltipAnchor){var c=r.tooltipAnchor.map(parseFloat);l=function t(e){return[i(e)+c[0]*o(e),a(e)+c[1]*s(e)]}}else{l=function t(e){return[i(e)+o(e)/2,a(e)]}}var f=Sn().position(l);n.call(f)}))}function Ci(){return gn().prop("x",ge).prop("y",ge).prop("radius").prop("stroke").prop("fill").prop("transition").transition(true).render((function(t){var n=e.select(this);var r=n.props();var i=n.selectAll(".sszvis-circle").data(t);i.exit().remove();i.enter().append("circle").classed("sszvis-circle",true).attr("cx",r.x).attr("cy",r.y).attr("r",r.radius).merge(i).attr("stroke",r.stroke).attr("fill",r.fill);if(r.transition){i=i.transition(Mi())}i.attr("cx",r.x).attr("cy",r.y).attr("r",r.radius);var a=Sn().position((function(t){return[r.x(t),r.y(t)]}));n.call(a)}))}function Ni(){return gn().prop("groupScale").prop("groupSize").prop("groupWidth").prop("groupSpace").groupSpace(.05).prop("y",ge).prop("height").prop("fill").prop("stroke").prop("defined",ge).defined(true).render((function(t){var n=e.select(this);var r=n.props();var i=e.scaleBand().domain(e.range(r.groupSize)).padding(r.groupSpace).paddingOuter(0).rangeRound([0,r.groupWidth]);var a=n.selectAll("g.sszvis-bargroup").data(t);var o=a.enter().append("g").classed("sszvis-bargroup",true);a.exit().remove();a=a.merge(o);var s=a.selectAll("g.sszvis-barunit").data((function(t){return t}));var u=s.enter().append("g").classed("sszvis-barunit",true);s.exit().remove();s=s.merge(u);s.each((function(t,e){t.__sszvisGroupedBarIndex__=e}));var l=s.filter(r.defined);l.selectAll("*").remove();l.attr("transform",(function(){return zn(0,0)}));l.append("rect").classed("sszvis-bar",true).attr("fill",r.fill).attr("x",(function(t){return r.groupScale(t)+i(t.__sszvisGroupedBarIndex__)})).attr("y",r.y).attr("width",i.bandwidth()).attr("height",r.height);var c=s.filter(ce(r.defined));c.selectAll("*").remove();c.attr("transform",(function(t,e){return zn(r.groupScale(t)+i(t.__sszvisGroupedBarIndex__)+i.bandwidth()/2,r.y(t,e))}));c.append("line").classed("sszvis-bar--missing line1",true).attr("x1",-4).attr("y1",-4).attr("x2",4).attr("y2",4);c.append("line").classed("sszvis-bar--missing line2",true).attr("x1",4).attr("y1",-4).attr("x2",-4).attr("y2",4);var f=Sn().position((function(t){var e=0;var n=Infinity;t.forEach((function(t,a){e+=r.groupScale(t)+i(t.__sszvisGroupedBarIndex__)+i.bandwidth()/2;n=Math.min(n,r.y(t,a))}));var a=e/t.length;return[a,n]}));n.call(f)}))}function Pi(){return gn().prop("x").prop("y").prop("stroke").prop("strokeWidth").prop("defined").prop("key").key((function(t,e){return e})).prop("valuesAccessor").valuesAccessor(qt).prop("transition").transition(true).render((function(t){var n=e.select(this);var r=n.props();var i=e.line().defined(r.defined!==undefined?r.defined:Vt(ce(isNaN),r.y)).x(r.x).y(r.y);var a=n.selectAll(".sszvis-line").data(t,r.key);var o=a.enter().append("path").classed("sszvis-line",true).style("stroke",r.stroke);a=a.merge(o);a.exit().remove();a.order();if(r.transition){a=a.transition(Mi())}a.attr("d",Vt(i,r.valuesAccessor)).style("stroke",r.stroke).style("stroke-width",r.strokeWidth)}))}function Ri(){return gn().prop("radius").prop("fill").prop("stroke").prop("angle",ge).render((function(t){var n=e.select(this);var r=n.props();var i=r.stroke||"#FFFFFF";var a=0;t.forEach((function(t){t._a0=a;if(isNaN(t.a0))t.a0=a;a+=r.angle(t);t._a1=a;if(isNaN(t.a1))t.a1=a}));var o=e.arc().innerRadius(4).outerRadius(r.radius).startAngle((function(t){return t.a0})).endAngle((function(t){return t.a1}));var s=n.selectAll(".sszvis-path").each((function(e,n){if(t[n]){t[n].a0=e.a0;t[n].a1=e.a1}})).data(t);var u=s.enter().append("path").classed("sszvis-path",true).attr("transform","translate("+r.radius+","+r.radius+")").attr("fill",r.fill).attr("stroke",i);s.exit().remove();s=s.merge(u);s.transition(Mi()).attr("transform","translate("+r.radius+","+r.radius+")").attrTween("d",(function(t){var n=e.interpolate(t.a0,t._a0);var r=e.interpolate(t.a1,t._a1);return function(e){t.a0=n(e);t.a1=r(e);return o(t)}})).attr("fill",r.fill).attr("stroke",i);var l=Sn().position((function(t){var e=t.a0+Math.abs(t.a1-t.a0)/2-Math.PI/2;var n=r.radius*2/3;return[r.radius+Math.cos(e)*n,r.radius+Math.sin(e)*n]}));n.datum(t).call(l)}))}var Fi=.5;function Oi(){return gn().prop("barHeight",ge).prop("barWidth",ge).prop("barPosition",ge).prop("barFill",ge).barFill("#000").prop("tooltipAnchor").tooltipAnchor([.5,.5]).prop("leftAccessor").prop("rightAccessor").prop("leftRefAccessor").prop("rightRefAccessor").render((function(t){var n=e.select(this);var r=n.props();var i=Ti().x((function(t){return-Fi-r.barWidth(t)})).y(r.barPosition).height(r.barHeight).width(r.barWidth).fill(r.barFill).tooltipAnchor(r.tooltipAnchor);var a=Ti().x(Fi).y(r.barPosition).height(r.barHeight).width(r.barWidth).fill(r.barFill).tooltipAnchor(r.tooltipAnchor);var o=Bi().barPosition(r.barPosition).barWidth(r.barWidth).mirror(true);var s=Bi().barPosition(r.barPosition).barWidth(r.barWidth);n.selectGroup("left").datum(r.leftAccessor(t)).call(i);n.selectGroup("right").datum(r.rightAccessor(t)).call(a);n.selectGroup("leftReference").datum(r.leftRefAccessor?[r.leftRefAccessor(t)]:[]).call(o);n.selectGroup("rightReference").datum(r.rightRefAccessor?[r.rightRefAccessor(t)]:[]).call(s)}))}function Bi(){return gn().prop("barPosition").prop("barWidth").prop("mirror").mirror(false).render((function(t){var n=e.select(this);var r=n.props();var i=e.line().x(r.barWidth).y(r.barPosition);var a=n.selectAll(".sszvis-pyramid__referenceline").data(t);a.exit().remove();var o=a.enter().append("path").attr("class","sszvis-pyramid__referenceline");a=a.merge(o);a.attr("transform",r.mirror?"scale(-1, 1)":"").transition(Mi()).attr("d",i)}))}function Di(){return gn().prop("sizeScale").prop("columnPosition").prop("nodeThickness").prop("nodePadding").prop("columnPadding",ge).prop("columnLabel",ge).columnLabel("").prop("columnLabelOffset",ge).columnLabelOffset(0).prop("linkCurvature").linkCurvature(.5).prop("nodeColor",ge).prop("linkColor",ge).prop("linkSort",ge).linkSort((function(t,e){return t.value-e.value})).prop("labelSide",ge).labelSide("left").prop("labelSideSwitch").prop("labelOpacity",ge).labelOpacity(1).prop("labelHitBoxSize").labelHitBoxSize(0).prop("nameLabel").nameLabel(qt).prop("linkSourceLabels").linkSourceLabels([]).prop("linkTargetLabels").linkTargetLabels([]).prop("linkLabel",ge).render((function(t){var n=e.select(this);var r=n.props();var i=fe("id");var a=function t(e){return Math.floor(r.columnPadding(e.columnIndex)+r.sizeScale(e.valueOffset)+r.nodePadding*e.nodeIndex)};var o=function t(e){return r.columnPosition(e.columnIndex)};var s=function t(e){return a(e)};var u=function t(){return Math.max(r.nodeThickness,1)};var l=function t(e){return Math.ceil(Math.max(r.sizeScale(e.value),1))};var c=function t(e,n,r,i,a,o){return"M"+e+","+a+"C"+n+","+a+" "+r+","+o+" "+i+","+o};var f=function t(e,n,r,i){return[e,n,r,i]};var h=1;var p=Ti().x(o).y(s).width(u).height(l).fill(r.nodeColor);var v=n.selectGroup("nodes").datum(t.nodes);v.call(p);var d=Sn().position((function(t){return[o(t)+u()/2,s(t)+l(t)/2]}));v.call(d);var g=function t(e){return r.columnPosition(e)+r.nodeThickness/2};var y=-24;var m=v.selectAll(".sszvis-sankey-column-label").data(t.columnLengths);var _=m.enter().append("text").attr("class","sszvis-sankey-label sszvis-sankey-weak-label sszvis-sankey-column-label");m=m.merge(_);m.exit().remove();m.attr("transform",(function(t,e){return zn(g(e)+r.columnLabelOffset(t,e),y)})).text((function(t,e){return r.columnLabel(e)}));var b=v.selectAll(".sszvis-sankey-column-label-tick").data(t.columnLengths);var x=b.enter().append("line").attr("class","sszvis-sankey-column-label-tick");b=b.merge(x);b.exit().remove();b.attr("x1",(function(t,e){return kn(g(e))})).attr("x2",(function(t,e){return kn(g(e))})).attr("y1",kn(y+8)).attr("y2",kn(y+12));var w=function t(e){var n=r.columnPosition(e.src.columnIndex)+r.nodeThickness+h,i=r.columnPosition(e.tgt.columnIndex)-h,o=a(e.src)+r.sizeScale(e.srcOffset)+r.sizeScale(e.value)/2,s=a(e.tgt)+r.sizeScale(e.tgtOffset)+r.sizeScale(e.value)/2;return[n,i,o,s]};var k=function t(n){var i=w(n),a=e.interpolateNumber(i[0],i[1]),o=a(r.linkCurvature),s=a(1-r.linkCurvature);return c(i[0],o,s,i[1],i[2],i[3])};var A=function t(e){var n=w(e);return f(n[0],n[1],n[2],n[3])};var M=function t(e){return Math.max(r.sizeScale(e.value),1)};var z=n.selectGroup("links");var S=z.selectAll(".sszvis-link").data(t.links,i);var E=S.enter().append("path").attr("class","sszvis-link");S=S.merge(E);S.exit().remove();S.attr("fill","none").attr("d",k).attr("stroke-width",M).attr("stroke",r.linkColor).sort(r.linkSort);z.datum(t.links);var T=Sn().position((function(t){var e=A(t);return[(e[0]+e[1])/2,(e[2]+e[3])/2]}));z.call(T);var C=n.selectGroup("linklabels");var N=C.selectAll(".sszvis-sankey-link-source-label").data(r.linkSourceLabels);var P=N.enter().append("text").attr("class","sszvis-sankey-label sszvis-sankey-strong-label sszvis-sankey-link-source-label");N=N.merge(P);N.exit().remove();N.attr("transform",(function(t){var e=A(t);return zn(e[0]+6,e[2])})).text(r.linkLabel);var R=C.selectAll(".sszvis-sankey-link-target-label").data(r.linkTargetLabels);var F=R.enter().append("text").attr("class","sszvis-sankey-label sszvis-sankey-strong-label sszvis-sankey-link-target-label");R=R.merge(F);R.exit().remove();R.attr("transform",(function(t){var e=A(t);return zn(e[1]-6,e[3])})).text(r.linkLabel);var O=function t(e){var n=r.labelSide(e);if(r.labelSideSwitch){n=n==="left"?"right":"left"}return n};var B=n.selectGroup("nodelabels");var D=B.selectAll(".sszvis-sankey-node-label").data(t.nodes);var L=D.enter().append("text").attr("class","sszvis-sankey-label sszvis-sankey-weak-label sszvis-sankey-node-label");D=D.merge(L);D.exit().remove();D.text((function(t){return r.nameLabel(t.id)})).attr("text-align","middle").attr("text-anchor",(function(t){return O(t.columnIndex)==="left"?"end":"start"})).attr("x",(function(t){return O(t.columnIndex)==="left"?o(t)-6:o(t)+r.nodeThickness+6})).attr("y",(function(t){return s(t)+l(t)/2})).style("opacity",r.labelOpacity);var I=B.selectAll(".sszvis-sankey-hitbox").data(t.nodes);var j=I.enter().append("rect").attr("class","sszvis-sankey-hitbox");I=I.merge(j);I.exit().remove();I.attr("fill","transparent").attr("x",(function(t){return o(t)+(O(t.columnIndex)==="left"?-r.labelHitBoxSize:0)})).attr("y",(function(t){return s(t)-r.nodePadding/2})).attr("width",r.labelHitBoxSize+r.nodeThickness).attr("height",(function(t){return l(t)+r.nodePadding}))}))}function Li(){return gn().prop("x").prop("y0").prop("y1").prop("fill").prop("stroke").prop("defined").prop("key").key((function(t,e){return e})).prop("transition").transition(true).render((function(t){var n=e.select(this);var r=n.props();var i=function t(){return Vt(ce(isNaN),r.y0)&&Vt(ce(isNaN),r.y1)};var a=e.area().defined(r.defined!==undefined?r.defined:i).x(r.x).y0(r.y0).y1(r.y1);var o=n.selectAll("path.sszvis-path").data(t,r.key);var s=o.enter().append("path").classed("sszvis-path",true);o.exit().remove();o=o.merge(s);if(r.transition){o=o.transition(Mi())}o.attr("d",a).attr("fill",r.fill).attr("stroke",r.stroke||"#ffffff")}))}function Ii(){return gn().prop("x").prop("y0").prop("y1").prop("fill").prop("stroke").prop("defined").prop("key").key((function(t,e){return e})).prop("valuesAccessor").valuesAccessor(qt).prop("transition").transition(true).render((function(t){var n=e.select(this);var r=n.props();t=t.slice().reverse();var i=function t(){return Vt(ce(isNaN),r.y0)&&Vt(ce(isNaN),r.y1)};var a=e.area().defined(r.defined!==undefined?r.defined:i).x(r.x).y0(r.y0).y1(r.y1);var o=n.selectAll("path.sszvis-path").data(t,r.key);var s=o.enter().append("path").classed("sszvis-path",true);o.exit().remove();o=s.merge(o);if(r.transition){o=o.transition(Mi())}o.attr("d",Vt(a,r.valuesAccessor)).attr("fill",r.fill).attr("stroke",r.stroke)}))}var ji=fe("stack");var Hi=fe("0");var Ui=fe("1");function qi(t){return function(n,r,i){return function(a){var o=ki().arrayBy(n).objectBy(r).apply(a);var s=o.reduce((function(t,e){return pe(t.concat(Object.keys(e)))}),[]);var u=e.stack().keys(s).value((function(t,e){return i(t[e][0])})).order(t)(o);u.forEach((function(t){t.forEach((function(e){e.series=t.key;e.data=e.data[t.key][0];e.stack=n(e.data)}))}));u.keys=s;u.maxValue=e.max(u,(function(t){return e.max(t,(function(t){return t[1]}))}));return u}}}var Wi=qi(e.stackOrderNone);var Gi=qi(e.stackOrderReverse);function Yi(t){return gn().prop("xScale",ge).prop("width",ge).prop("yScale",ge).prop("height",ge).prop("fill").prop("stroke").render((function(n){var r=e.select(this);var i=r.props();var a=Ti().x(t.x(i)).y(t.y(i)).width(t.width(i)).height(t.height(i)).fill(i.fill).stroke(i.stroke||"#FFFFFF");var o=r.selectAll(".sszvis-stack").data(n);var s=o.enter().append("g").classed("sszvis-stack",true);o.exit().remove();o=o.merge(s);o.call(a)}))}var Vi={x:function t(e){return Vt(e.xScale,Hi)},y:function t(e){return Vt(e.yScale,ji)},width:function t(e){return function(t){return e.xScale(t[1])-e.xScale(t[0])}},height:function t(e){return e.height}};var Ji=function t(){return Yi(Vi)};var Xi={x:function t(e){return Vt(e.xScale,ji)},y:function t(e){return Vt(e.yScale,Ui)},width:function t(e){return e.width},height:function t(e){return function(t){return e.yScale(t[0])-e.yScale(t[1])}}};var Zi=function t(){return Yi(Xi)};var Ki=.5;var Qi=fe("data");var $i=fe("row");function ta(t,n,r,i){return function(a){var o=ki().arrayBy(t).arrayBy(n).objectBy(r).apply(a).map((function(n){var r=Object.keys(n[0]);var a=t(n[0][r[0]][0]);var o=e.stack().keys(r).value((function(t,e){return i(t[e][0])}))(n);o.forEach((function(t,e){t.forEach((function(t,n){t.data=t.data[r[e]][0];t.series=r[e];t.side=a;t.row=n;t.value=i(t.data);return t}))}));return o}));o.maxValue=e.max(o,(function(t){return e.max(t,(function(t){return e.max(t,(function(t){return t[1]}))}))}));return o}}function ea(){return gn().prop("barHeight",ge).prop("barWidth",ge).prop("barPosition",ge).prop("barFill",ge).barFill("#000").prop("tooltipAnchor").tooltipAnchor([.5,.5]).prop("leftAccessor").prop("rightAccessor").prop("leftRefAccessor").prop("rightRefAccessor").render((function(t){var n=e.select(this);var r=n.props();var i=Ti().x((function(t){return-Ki-r.barWidth(t[1])})).y(Vt(r.barPosition,$i)).height(r.barHeight).width((function(t){return r.barWidth(t[1])-r.barWidth(t[0])})).fill(Vt(r.barFill,Qi)).tooltipAnchor(r.tooltipAnchor);var a=Ti().x((function(t){return Ki+r.barWidth(t[0])})).y(Vt(r.barPosition,$i)).height(r.barHeight).width((function(t){return r.barWidth(t[1])-r.barWidth(t[0])})).fill(Vt(r.barFill,Qi)).tooltipAnchor(r.tooltipAnchor);var o=na().stackElement(i);var s=na().stackElement(a);var u=ra().barPosition(r.barPosition).barWidth(r.barWidth).mirror(true);var l=ra().barPosition(r.barPosition).barWidth(r.barWidth);n.selectGroup("leftStack").datum(r.leftAccessor(t)).call(o);n.selectGroup("rightStack").datum(r.rightAccessor(t)).call(s);n.selectGroup("leftReference").datum(r.leftRefAccessor?[r.leftRefAccessor(t)]:[]).call(u);n.selectGroup("rightReference").datum(r.rightRefAccessor?[r.rightRefAccessor(t)]:[]).call(l)}))}function na(){return gn().prop("stackElement").renderSelection((function(t){var n=t.datum();var r=t.props();var i=t.selectAll("[data-sszvis-stack]").data(n);var a=i.enter().append("g").attr("data-sszvis-stack","");i.exit().remove();i=i.merge(a);i.each((function(t){e.select(this).datum(t).call(r.stackElement)}))}))}function ra(){return gn().prop("barPosition").prop("barWidth").prop("mirror").mirror(false).render((function(t){var n=e.select(this);var r=n.props();var i=e.line().x(r.barWidth).y(r.barPosition);var a=n.selectAll(".sszvis-path").data(t);a.exit().remove();var o=a.enter().append("path").attr("class","sszvis-path").attr("fill","none").attr("stroke","#aaa").attr("stroke-width",2).attr("stroke-dasharray","3 3");a=a.merge(o);a.attr("transform",r.mirror?"scale(-1, 1)":"").transition(Mi()).attr("d",i)}))}var ia=2*Math.PI;function aa(){return gn().prop("angleScale").angleScale(e.scaleLinear().range([0,2*Math.PI])).prop("radiusScale").prop("centerRadius").prop("fill").prop("stroke").stroke("white").render((function(t){var n=e.select(this);var r=n.props();function i(t){if(t.data.isSunburstRoot){return"transparent"}else if(!t.parent){Lr("Data passed to sszvis.component.sunburst does not have the expected tree structure. You should prepare it using sszvis.format.sunburst.prepareData");return e.hsl(r.fill(t.data.key))}else if(t.parent.data.isSunburstRoot){return e.hsl(r.fill(t.data.key))}else{var n=i(t.parent);n.l*=1.15;return n}}var a=function t(e){return Math.max(0,Math.min(ia,r.angleScale(e.x0)))};var o=function t(e){return Math.max(0,Math.min(ia,r.angleScale(e.x1)))};var s=function t(e){return r.centerRadius+Math.max(0,r.radiusScale(e.y0))};var u=function t(e){return r.centerRadius+Math.max(0,r.radiusScale(e.y1))};var l=e.arc().startAngle(a).endAngle(o).innerRadius(s).outerRadius(u);t.forEach((function(t){t._x0=t.x0;t._x1=t.x1}));var c=n.selectAll(".sszvis-sunburst-arc").each((function(e,n){if(t[n]){t[n].x0=e.x0;t[n].x1=e.x1}})).data(t);var f=c.enter().append("path").attr("class","sszvis-sunburst-arc");c.exit().remove();c=c.merge(f);c.attr("stroke",r.stroke).attr("fill",i);c.transition(Mi()).attrTween("d",(function(t){var n=e.interpolate(t.x0,t._x0);var r=e.interpolate(t.x1,t._x1);return function(e){t.x0=n(e);t.x1=r(e);return l(t)}}));var h=Sn().position((function(t){var e=a(t);var n=o(t);var r=e+Math.abs(n-e)/2-Math.PI/2;var i=(s(t)+u(t))/2;return[Math.cos(r)*i,Math.sin(r)*i]}));n.call(h)}))}function oa(){return gn().prop("values").prop("current").prop("width").width(300).prop("change").change(qt).render((function(){var t=e.select(this);var n=t.props();var r=n.width/n.values.length;var i=t.selectAll(".sszvis-control-optionSelectable").data(["sszvis-control-buttonGroup"],(function(t){return t}));var a=i.enter().append("div").classed("sszvis-control-optionSelectable",true).classed("sszvis-control-buttonGroup",true);i.exit().remove();i=i.merge(a);i.style("width",n.width+"px");var o=i.selectAll(".sszvis-control-buttonGroup__item").data(n.values);var s=o.enter().append("div").classed("sszvis-control-buttonGroup__item",true);o.exit().remove();o=o.merge(s);o.style("width",r+"px").classed("selected",(function(t){return t===n.current})).text((function(t){return t})).on("click",n.change)}))}function sa(){return gn().prop("x",ge).prop("y",ge).prop("top").prop("bottom").prop("label").label(ge("")).prop("color").prop("flip",ge).flip(false).render((function(t){var n=e.select(this);var r=n.props();var i=Vt(kn,r.x);var a=Vt(kn,r.y);var o=r.bottom-4;var s=10;var u=24;var l=r.top-u;var c=n.selectAll(".sszvis-handleRuler__group").data([0]);var f=c.enter().append("g").classed("sszvis-handleRuler__group",true);c.exit().remove();c=c.merge(f);f.append("line").classed("sszvis-ruler__rule",true);f.append("rect").classed("sszvis-handleRuler__handle",true);f.append("line").classed("sszvis-handleRuler__handle-mark",true);c.selectAll(".sszvis-ruler__rule").attr("x1",i).attr("y1",kn(r.top)).attr("x2",i).attr("y2",kn(o));c.selectAll(".sszvis-handleRuler__handle").attr("x",(function(t){return i(t)-s/2})).attr("y",kn(l)).attr("width",s).attr("height",u).attr("rx",2).attr("ry",2);c.selectAll(".sszvis-handleRuler__handle-mark").attr("x1",i).attr("y1",kn(l+u*.15)).attr("x2",i).attr("y2",kn(l+u*.85));var h=c.selectAll(".sszvis-ruler__dot").data(t);var p=h.enter().append("circle").classed("sszvis-ruler__dot",true);h.exit().remove();h=h.merge(p);h.attr("cx",i).attr("cy",a).attr("r",3.5).attr("fill",r.color);var v=n.selectAll(".sszvis-ruler__label-outline").data(t);var d=v.enter().append("text").classed("sszvis-ruler__label-outline",true);v.exit().remove();v=v.merge(d);var g=n.selectAll(".sszvis-ruler__label").data(t);var y=g.enter().append("text").classed("sszvis-ruler__label",true);g.exit().remove();g=g.merge(y);n.selectAll(".sszvis-ruler__label, .sszvis-ruler__label-outline").attr("transform",(function(t){var e=Vt(kn,r.x)(t);var n=Vt(kn,r.y)(t);var i=r.flip(t)?-10:10;var a=n<r.top+a?2*a:n>r.bottom-a?0:5;return zn(e+i,n+a)})).style("text-anchor",(function(t){return r.flip(t)?"end":"start"})).html(r.label)}))}function ua(){return gn().prop("values").prop("current").prop("width").width(300).prop("change").change(qt).render((function(){var t=e.select(this);var n=t.props();var r=t.selectAll(".sszvis-control-optionSelectable").data(["sszvis-control-select"],(function(t){return t}));var i=r.enter().append("div").classed("sszvis-control-optionSelectable",true).classed("sszvis-control-select",true);r.exit().remove();r=r.merge(i);r.style("width",n.width+"px");var a=r.selectDiv("selectMetrics").classed("sszvis-control-select__metrics",true);var o=r.selectAll(".sszvis-control-select__element").data([1]);var s=o.enter().append("select").classed("sszvis-control-select__element",true).on("change",(function(){var t=e.select(this).property("value");n.change(n.values[t]);setTimeout((function(){window.focus()}),0)}));o=o.merge(s);o.style("width",n.width+30+"px");var u=o.selectAll("option").data(n.values);var l=u.enter().append("option");u.exit().remove();u.merge(l).attr("selected",(function(t){return t===n.current?"selected":null})).attr("value",(function(t,e){return e})).text((function(t){return la(a,n.width-40,t)}))}))}function la(t,e,n){var r=1e3;var i=function n(i,a){t.text(i);var o=Math.ceil(t.node().clientWidth);if(a<r&&o>e){return n(i.slice(0,i.length-2)+"…",a+1)}else{return i}};return i(n,0)}function ca(t,e){return e.indexOf(t)>=0}function fa(){return gn().prop("scale").prop("value").prop("onchange").prop("minorTicks").minorTicks([]).prop("majorTicks").majorTicks([]).prop("tickLabels",ge).tickLabels(qt).prop("label",ge).label(qt).render((function(){var t=e.select(this);var n=t.props();var r=28;var i=12;var a=kn(18);var o=10;var s=23;var u=6;var l=u/2;var c=o/2+.5;var f=n.scale.domain();var h=Ur(n.scale);var p=n.scale.copy().range([h[0]+c,h[1]-c]);var v=t.selectAll("g.sszvis-control-slider__backgroundgroup").data([1]);var d=v.enter().append("g").classed("sszvis-control-slider__backgroundgroup",true);v=v.merge(d);v.exit().remove();var g=Zr().scale(p).orient("bottom").hideBorderTickThreshold(0).tickSize(i).tickPadding(6).tickValues(pe([].concat(n.majorTicks,n.minorTicks))).tickFormat((function(t){return ca(t,n.majorTicks)?n.tickLabels(t):""}));var y=v.selectAll("g.sszvis-axisGroup").data([1]);var m=y.enter().append("g").classed("sszvis-axisGroup sszvis-axis sszvis-axis--bottom sszvis-axis--slider",true);y=y.merge(m);y.attr("transform",zn(0,r)).call(g);y.selectAll(".tick line").filter((function(t){return!ca(t,n.majorTicks)})).attr("y2",4);var _=y.selectAll(".tick text").filter((function(t){return ca(t,n.majorTicks)}));var b=_.size();_.style("text-anchor",(function(t,e){return e===0?"start":e===b-1?"end":"middle"}));var x=v.selectAll("g.sszvis-slider__background").data([1]);var w=x.enter().append("g").classed("sszvis-slider__background",true);x=x.merge(w);x.attr("transform",zn(0,a));var k=x.selectAll(".sszvis-slider__background__bg1").data([1]);var A=k.enter().append("line").classed("sszvis-slider__background__bg1",true).style("stroke-width",u).style("stroke","#888").style("stroke-linecap","round");k=k.merge(A);k.attr("x1",Math.ceil(h[0]+l)).attr("x2",Math.floor(h[1]-l));var M=x.selectAll(".sszvis-slider__background__bg2").data([1]);var z=M.enter().append("line").classed("sszvis-slider__background__bg2",true).style("stroke-width",u-1).style("stroke","#fff").style("stroke-linecap","round");M=M.merge(z);M.attr("x1",Math.ceil(h[0]+l)).attr("x2",Math.floor(h[1]-l));var S=x.selectAll(".sszvis-slider__backgroundshadow").data([n.value]);var E=S.enter().append("line").attr("class","sszvis-slider__backgroundshadow").attr("stroke-width",u-1).style("stroke","#E0E0E0").style("stroke-linecap","round");S=S.merge(E);S.attr("x1",Math.ceil(h[0]+l)).attr("x2",Vt(Math.floor,p));var T=t.selectAll("g.sszvis-control-slider__handle").data([n.value]);T.exit().remove();var C=T.enter().append("g").classed("sszvis-control-slider__handle",true);T=T.merge(C);T.attr("transform",(function(t){return zn(kn(p(t)),.5)}));C.append("text").classed("sszvis-control-slider--label",true);T.selectAll(".sszvis-control-slider--label").data((function(t){return[t]})).text(n.label).style("text-anchor",(function(t){return de(t,f[0])?"start":de(t,f[1])?"end":"middle"})).attr("dx",(function(t){return de(t,f[0])?-(o/2):de(t,f[1])?o/2:0}));C.append("rect").classed("sszvis-control-slider__handlebox",true).attr("x",-(o/2)).attr("y",a-s/2).attr("width",o).attr("height",s).attr("rx",2).attr("ry",2);var N=s/2-4;C.append("line").classed("sszvis-control-slider__handleline",true).attr("y1",a-N).attr("y2",a+N);var P=ei().xScale(n.scale).yScale(e.scaleLinear().range([-11,r+i])).draggable(true).on("drag",n.onchange);t.selectGroup("sliderInteraction").classed("sszvis-control-slider--interactionLayer",true).attr("transform",zn(0,4)).call(P)}))}function ha(t,n,r){n||(n=yi());r||(r={});var i=r.key||"default";var a="data-sszvis-html-"+i;var o=Gt(t)?t:e.select(t);o.classed("sszvis-outer-container",true);var s=o.selectAll("[data-sszvis-html-layer]["+a+"]").data([0]);var u=s.enter().append("div").classed("sszvis-html-layer",true).attr("data-sszvis-html-layer","").attr(a,"");s=s.merge(u);s.style("position","absolute").style("left",n.padding.left+"px").style("top",n.padding.top+"px");return s}function pa(t,n,r){n||(n=yi());r||(r={});var i=r.key||"default";var a="data-sszvis-svg-"+i;var o=r.title||"";var s=r.description||"";var u=Gt(t)?t:e.select(t);var l=u.selectAll("svg["+a+"]").data([0]);var c=l.enter().append("svg");c.classed("sszvis-svg-layer",true).attr(a,"").attr("role","img").attr("aria-label",o+" – "+s);c.append("title").text(o);c.append("desc").text(s).classed("sszvis-svg-layer",true).attr(a,"").attr("role","img");l.merge(c).attr("height",n.height).attr("width",n.width);var f=l.merge(c).selectAll("[data-sszvis-svg-layer]").data((function(){return[0]}));var h=f.enter().append("g").attr("data-sszvis-svg-layer","");f.merge(h).attr("transform","translate("+n.padding.left+","+n.padding.top+")");return f.merge(h)}var va=21;function da(){return gn().prop("scale").prop("rowHeight").rowHeight(va).prop("columnWidth").columnWidth(200).prop("rows").rows(3).prop("columns").columns(3).prop("verticallyCentered").verticallyCentered(false).prop("orientation").prop("reverse").reverse(false).prop("rightAlign").rightAlign(false).prop("horizontalFloat").horizontalFloat(false).prop("floatPadding").floatPadding(20).prop("floatWidth").floatWidth(600).render((function(){var t=e.select(this);var n=t.props();var r=n.scale.domain();if(n.reverse){r=r.slice().reverse()}var i,a;if(n.orientation==="horizontal"){a=Math.ceil(n.columns);i=Math.ceil(r.length/a)}else if(n.orientation==="vertical"){i=Math.ceil(n.rows);a=Math.ceil(r.length/i)}var o=t.selectAll(".sszvis-legend--entry").data(r);var s=o.enter().append("g").classed("sszvis-legend--entry",true);o.exit().remove();var u=o.merge(s).selectAll(".sszvis-legend__mark").data((function(t){return[t]}));var l=u.enter().append("circle").classed("sszvis-legend__mark",true);u.exit().remove();u.merge(l).attr("cx",n.rightAlign?-6:6).attr("cy",kn(n.rowHeight/2)).attr("r",5).attr("fill",(function(t){return n.scale(t)})).attr("stroke",(function(t){return n.scale(t)})).attr("stroke-width",1);var c=o.merge(s).selectAll(".sszvis-legend__label").data((function(t){return[t]}));var f=c.enter().append("text").classed("sszvis-legend__label",true);c.exit().remove();c.merge(f).text((function(t){return t})).attr("dy","0.35em").style("text-anchor",(function(){return n.rightAlign?"end":"start"})).attr("transform",(function(){var t=n.rightAlign?-18:18;var e=kn(n.rowHeight/2);return zn(t,e)}));var h="";if(n.verticallyCentered){h="translate(0,"+String(-(r.length*n.rowHeight/2))+") "}if(n.horizontalFloat){var p=0,v=0;o.merge(s).attr("transform",(function(){var t=this.getBoundingClientRect().width;if(v+t>n.floatWidth){p+=n.rowHeight;v=0}var e=zn(v,p);v+=t+n.floatPadding;return h+e}))}else{o.merge(s).attr("transform",(function(t,e){if(n.orientation==="horizontal"){return h+"translate("+e%a*n.columnWidth+","+Math.floor(e/a)*n.rowHeight+")"}else if(n.orientation==="vertical"){return h+"translate("+Math.floor(e/i)*n.columnWidth+","+e%i*n.rowHeight+")"}}))}}))}var ga=2;var ya=40;function ma(t,e){var n=t.legendLabels,r=t.axisLabels,i=r===void 0?[]:r,a=t.slant,o=a===void 0?"horizontal":a;var s=hi(e).width;var u=_a(n,s);var l=n.length>6?Fe().domain(n):Oe().domain(n);var c=da().scale(l).horizontalFloat(u.horizontalFloat).rows(u.rows).columnWidth(u.columnWidth).orientation(u.orientation);var f=ba(o,i);var h=u.rows*va;return{axisLabelPadding:f,legendPadding:h,bottomPadding:f+h,legendWidth:u.legendWidth,legend:c,scale:l}}function _a(t,n){var r=t.length;var i=e.max(t,xa);var a=e.sum(t,xa);var o=r<=4?1:wa(n,i,ga);var s=o===1&&a<=n;return{columns:o,rows:s?1:Math.ceil(r/o),columnWidth:o===1?null:i,legendWidth:o*i,horizontalFloat:s,orientation:s?null:"vertical"}}function ba(t,n){switch(t){case"vertical":return 40+e.max(n,vi);case"diagonal":return 40+Math.sqrt(2*Math.pow(e.max(n,vi)/2,2));default:return 60}}function xa(t){return di(t)+ya}function wa(t,e,n){return n<=1?1:e<=t/n?n:wa(t,e,n-1)}function ka(t,e,n,r,i){i||(i={});i.top||(i.top=0);i.right||(i.right=0);i.bottom||(i.bottom=0);i.left||(i.left=0);var a=30,o=t-i.left-i.right,s=Math.min((o-e*(n-1))/n,a),u=s+e,l=1-s/u,c=n*u-e,f=r*u-e;return{side:s,paddedSide:u,padRatio:l,width:c,height:f,centeredOffset:Math.max((o-c)/2,0)}}function Aa(t){var e=24,n=20,r=e,i=t-1,a=n,o=1-r/(r+a),s=r*t+a*i,u=0;return{barHeight:r,padHeight:a,padRatio:o,outerRatio:u,axisOffset:-(r/2)-10,barGroupHeight:s,totalHeight:s+u*(r+a)*2}}function Ma(t,e){var n=480;var r=2;var i=Math.min(Or(t),n);var a=1;var o=e-1;var s=a*o;var u=Math.round((i-s)/e);u=Math.max(u,r);var l=e*u+s;var c=l-u,f=u+a,h=[];while(c>=0){h.push(c);c-=f}var p=Math.min(t/2,Or.MAX_HEIGHT*(4/5)/2);var v=Math.max((t-2*p)/2,1);return{barHeight:u,padding:a,totalHeight:l,positions:h,maxBarLength:p,chartPadding:v}}var za=function(){var t=0;return function(){return++t}}();var Sa=function t(){var n=qt;var r=qt;var i=qt;var a=[];var o=fe("value");var s=function t(n,r){return e.ascending(o(n),o(r))};var u=function t(n,r){return e.descending(o(n),o(r))};var l=u;var c=function t(s){var c=a.reduce((function(t,e,n){e.forEach((function(e){if(t.has(e)){Lr("Duplicate column member id passed to sszvis.layout.sankey.prepareData.column:",e,"The existing value will be overwritten")}var r={id:e,columnIndex:n,nodeIndex:0,value:0,valueOffset:0,linksFrom:[],linksTo:[]};t.set(e,r)}));return t}),e.map());var f=s.map((function(t){var e=n(t);var a=r(t);var o=+i(t)||0;var s=c.get(e);var u=c.get(a);if(!s){Lr("Found invalid source column id:",e);return null}if(!u){Lr("Found invalid target column id:",a);return null}var l={id:za(),value:o,src:s,srcOffset:0,tgt:u,tgtOffset:0};s.linksFrom.push(l);u.linksTo.push(l);return l}));var h=c.values();var p=h.reduce((function(t,n){var r=e.sum(n.linksFrom,o);var i=e.sum(n.linksTo,o);n.value=Math.max(0,r,i);t[n.columnIndex]+=n.value;return t}),Qt(a.length,0));var v=a.map((function(t){return t.length}));h.sort(l);f.sort(u);h.reduce((function(t,e){e.valueOffset=t[0][e.columnIndex];e.nodeIndex=t[1][e.columnIndex];t[0][e.columnIndex]+=e.value;t[1][e.columnIndex]+=1;return t}),[Qt(a.length,0),Qt(a.length,0)]);h.forEach((function(t){t.linksFrom.sort((function(t,e){return t.tgt.nodeIndex-e.tgt.nodeIndex}));t.linksTo.sort((function(t,e){return t.src.nodeIndex-e.src.nodeIndex}));t.linksFrom.reduce((function(t,e){e.srcOffset=t;return t+o(e)}),0);t.linksTo.reduce((function(t,e){e.tgtOffset=t;return t+o(e)}),0)}));return{nodes:h,links:f,columnTotals:p,columnLengths:v}};c.apply=function(t){return c(t)};c.source=function(t){n=t;return c};c.target=function(t){r=t;return c};c.value=function(t){i=t;return c};c.descendingSort=function(){l=u;return c};c.ascendingSort=function(){l=s;return c};c.idLists=function(t){a=t;return c};return c};var Ea=function t(n,r,i,a){var o=.15;var s=12;var u=50;var l=1;var c=e.min(n.map((function(t){var e=i*o/(t-1);return Math.max(s,Math.min(u,e))})));var f=e.min(n.map((function(t,e){var n=Math.max(l,i-(t-1)*c);return n/r[e]})));var h=c/f;var p=c;var v=e.max(r);var d=n.map((function(t,e){return r[e]*f+(t-1)*p}));var g=e.max(d);var y=n.map((function(t,e){return(g-d[e])/2}));var m=[0,v];var _=[0,v*f];var b=20;var x=n.length;var w=(a-b)/(x-1);var k=[0,1];var A=[0,w];return{valuePadding:h,nodePadding:p,columnPaddings:y,valueDomain:m,valueRange:_,nodeThickness:b,columnDomain:k,columnRange:A}};function Ta(){return gn().prop("width").prop("height").prop("paddingX").prop("paddingY").prop("rows").prop("cols").render((function(t){var n=e.select(this);var r=n.props();var i=(r.width-r.paddingX*(r.cols-1))/r.cols;var a=(r.height-r.paddingY*(r.rows-1))/r.rows;var o=i/2;var s=a/2;var u=n.selectAll("g.sszvis-multiple").data(t);var l=u.enter().append("g").classed("sszvis-g sszvis-multiple",true);u.exit().remove();u=u.merge(l);var c=u.selectAll("g.sszvis-multiple-chart").data((function(t){return[t.values]}));var f=c.enter().append("g").classed("sszvis-multiple-chart",true);c.exit().remove();c=c.merge(f);u.datum((function(t,e){t.gx=e%r.cols*(i+r.paddingX);t.gw=i;t.cx=o;t.gy=Math.floor(e/r.cols)*(a+r.paddingY);t.gh=a;t.cy=s;return t})).attr("transform",(function(t){return"translate("+t.gx+","+t.gy+")"}))}))}function Ca(t,e,n){n||(n=.1);var r=t/(e-n),i=r*(1-n),a=i,o=[];while(a-t<1){o.push(a);a+=r}return{range:o,bandHeight:i,padHeight:r*n}}var Na=function t(){var n=e.nest();var r=qt;var i=function t(){return 0};function a(t){n.rollup(te);var a=e.hierarchy({isSunburstRoot:true,values:n.entries(t)},fe("values")).sort(i).sum((function(t){return t.value?r(t.value):0}));e.partition()(a);function o(t){return[].concat.apply([t],(t.children||[]).map(o))}return o(a).filter((function(t){return!t.data.isSunburstRoot}))}a.calculate=function(t){return a(t)};a.layer=function(t){n.key(t);return a};a.value=function(t){r=t;return a};a.sort=function(t){i=t;return a};return a};var Pa=60;var Ra=Pa;var Fa=10;var Oa=Fa;var Ba=function t(e,n){var r=n/2;var i=r/3;var a=Math.max(Oa,Math.min(Ra,(r-i)/e));return{centerRadius:i,numLayers:e,ringWidth:a}};var Da=function t(n){return[e.min(n,(function(t){return t.y0})),e.max(n,(function(t){return t.y1}))]};function La(t,e){var n=48,r=2,i=100,a=.7,o=1-a,s=e-1,u=t*o/(o*s+a*e),l=(t-u*s)/e;if(l>n){l=n;u=(t-l*e)/s}if(u<r)u=r;if(u>i)u=i;var c=1-l/(l+u),f=l*e+u*s,h=(t-f)/2/(l+u);return{barWidth:l,padWidth:u,padRatio:c,outerRatio:h,barGroupWidth:f,totalWidth:t}}function Ia(){return gn().prop("scale").prop("displayValues").prop("endpoints").prop("width").width(200).prop("labelFormat").labelFormat(qt).render((function(){var t=e.select(this);var n=t.props();if(!n.scale)return Ir("legend.binnedColorScale - a scale must be specified.");if(!n.displayValues)return Ir("legend.binnedColorScale - display values must be specified.");if(!n.endpoints)return Ir("legend.binnedColorScale - endpoints must be specified");var r=10;var i=r/2;var a=[0,n.width-2*i];var o=e.scaleLinear().domain(n.endpoints).range(a);var s=0;var u=[];var l=n.endpoints[0];n.displayValues.forEach((function(t){var e=o(t)-s;var r=s%1;u.push({x:Math.floor(i+s),w:e+r,c:n.scale(l),p:t});s+=e;l=t}));u.push({x:Math.floor(i+s),w:a[1]-s,c:n.scale(l)});var c=t.selectAll("circle.sszvis-legend__circle").data(n.endpoints);var f=c.enter().append("circle").classed("sszvis-legend__circle",true);c=c.merge(f);c.exit().remove();c.attr("r",i).attr("cy",i).attr("cx",(function(t,e){return e===0?i:n.width-i})).attr("fill",n.scale);var h=t.selectAll("rect.sszvis-legend__crispmark").data(u);var p=h.enter().append("rect").classed("sszvis-legend__crispmark",true);h=h.merge(p);h.exit().remove();h.attr("x",(function(t){return t.x})).attr("y",0).attr("width",(function(t){return t.w})).attr("height",r).attr("fill",(function(t){return t.c}));var v=u.slice(0,-1);var d=t.selectAll("line.sszvis-legend__crispmark").data(v);var g=d.enter().append("line").classed("sszvis-legend__crispmark",true);d.merge(g);d.exit().remove();d.attr("x1",(function(t){return kn(t.x+t.w)})).attr("x2",(function(t){return kn(t.x+t.w)})).attr("y1",r+1).attr("y2",r+6).attr("stroke","#B8B8B8");var y=t.selectAll(".sszvis-legend__axislabel").data(v);var m=y.enter().append("text").classed("sszvis-legend__axislabel",true);y=y.merge(m);y.exit().remove();y.style("text-anchor","middle").attr("transform",(function(t){return"translate("+(t.x+t.w)+","+(r+20)+")"})).text((function(t){return n.labelFormat(t.p)}))}))}function ja(){return gn().prop("scale").prop("displayValues").displayValues([]).prop("width").width(200).prop("segments").segments(8).prop("labelText").prop("labelFormat").labelFormat(qt).render((function(){var t=e.select(this);var n=t.props();if(!n.scale){Ir("legend.linearColorScale - a scale must be specified.");return false}var r=n.scale.domain();var i=n.displayValues;if(!i.length&&n.scale.ticks){i=n.scale.ticks(n.segments-1)}i.push(le(r));var a=i.length>0?n.width/i.length:0;var o=10;var s=t.selectAll("rect.sszvis-legend__mark").data(i);var u=s.enter().append("rect").classed("sszvis-legend__mark",true);s.exit().remove();s=s.merge(u);s.attr("x",(function(t,e){return e*a-1})).attr("y",0).attr("width",a+1).attr("height",o).attr("fill",(function(t){return n.scale(t)}));var l=[te(r),le(r)];var c=n.labelText||l;var f=t.selectAll("circle.ssvis-legend--mark").data(l);var h=f.enter().append("circle").attr("class","ssvis-legend--mark");f.exit().remove();f=f.merge(h);f.attr("cx",(function(t,e){return e*n.width})).attr("cy",o/2).attr("r",o/2).attr("fill",(function(t){return n.scale(t)}));var p=t.selectAll(".sszvis-legend__label").data(c);var v=p.enter().append("text").classed("sszvis-legend__label",true);p.exit().remove();p=p.merge(v);var d=16;p.style("text-anchor",(function(t,e){return e===0?"end":"start"})).attr("dy","0.35em").attr("transform",(function(t,e){return"translate("+(e*n.width+(e===0?-1:1)*d)+", "+o/2+")"})).text((function(t,e){var r=n.labelFormat(t,e);return r}))}))}function Ha(){return gn().prop("scale").prop("tickFormat").tickFormat(qt).prop("tickValues").render((function(){var t=e.select(this);var n=t.props();var r=n.scale.domain();var i=n.tickValues||[r[1],n.scale.invert(e.mean(n.scale.range())),r[0]];var a=Ur(n.scale)[1];var o=t.selectAll("g.sszvis-legend__elementgroup").data([0]);var s=o.enter().append("g").attr("class","sszvis-legend__elementgroup");o=o.merge(s);o.attr("transform",zn(kn(a),kn(a)));var u=o.selectAll("circle.sszvis-legend__greyline").data(i);var l=u.enter().append("circle").classed("sszvis-legend__greyline",true);u.exit().remove();u=u.merge(l);function c(t){return a-n.scale(t)}function f(t){return a-2*n.scale(t)}u.attr("r",n.scale).attr("stroke-width",1).attr("cy",c);var h=o.selectAll("line.sszvis-legend__dashedline").data(i);var p=h.enter().append("line").classed("sszvis-legend__dashedline",true);h.exit().remove();h=h.merge(p);h.attr("x1",0).attr("y1",f).attr("x2",a+15).attr("y2",f);var v=o.selectAll(".sszvis-legend__label").data(i);var d=v.enter().append("text").attr("class","sszvis-legend__label sszvis-legend__label--small");v.exit().remove();v=v.merge(d);v.attr("dx",a+18).attr("y",f).attr("dy","0.35em").text(n.tickFormat)}))}var Ua=function t(e){Ir(e)};var qa="zurichStadtKreise";var Wa="zurichStatistischeQuartiere";var Ga="zurichStatistischeZonen";var Ya="zurichWahlKreise";var Va="zurichAgglomeration2012";var Ja="switzerland";var Xa=ye((function(t,n,r){var i=e.geoMercator().fitSize([t,n],r);return i}),(function(t,e,n,r){return""+t+","+e+","+r}));var Za=function t(n,r,i,a){var o=e.geoPath().projection(Xa(n,r,i,a));return o};var Ka=function t(e,n,r){var i=6367475;var a=Math.PI*2*i;var o=r/a*360;var s=o/2;var u=[[n[0]-s,n[1]-s],[n[0]+s,n[1]+s]];var l=u.map(e);var c=Math.abs(l[1][0]-l[0][0]);var f=Math.abs(l[1][1]-l[0][1]);var h=(c+f)/2;return h};var Qa="geoId";var $a=function t(e,n,r){r||(r=Qa);var i=Array.isArray(e)?e.reduce((function(t,e){t[e[r]]=e;return t}),{}):{};var a=n.features.map((function(t){return{geoJson:t,datum:i[t.id]}}));return a};var to=function t(n){if(!n.properties.cachedCenter){var r=n.properties.center;if(r){n.properties.cachedCenter=r.split(",").map(parseFloat)}else{n.properties.cachedCenter=e.geoCentroid(n)}}return n.properties.cachedCenter};var eo=function t(e){return Math.min(Math.max(.8,e/400),1.1)};var no=fe("datum");function ro(){var t=e.dispatch("over","out","click");var n=gn().prop("mergedData").prop("mapPath").prop("radius",ge).prop("fill",ge).prop("strokeColor",ge).strokeColor("#ffffff").prop("strokeWidth",ge).strokeWidth(1).prop("transition").transition(true).render((function(){var n=e.select(this);var r=n.props();var i=Vt(r.radius,no);var a=n.selectGroup("anchoredCircles").selectAll(".sszvis-anchored-circle").data(r.mergedData,(function(t){return t.geoJson.id}));a.enter().append("circle").attr("class","sszvis-anchored-circle sszvis-anchored-circle--entering").attr("r",i).on("mouseover",(function(e){t.call("over",this,e.datum)})).on("mouseout",(function(e){t.call("out",this,e.datum)})).on("click",(function(e){t.call("click",this,e.datum)})).merge(a).attr("transform",(function(t){var e=r.mapPath.projection()(to(t.geoJson));return zn(e[0],e[1])})).style("fill",(function(t){return r.fill(t.datum)})).style("stroke",(function(t){return r.strokeColor(t.datum)})).style("stroke-width",(function(t){return r.strokeWidth(t.datum)})).sort((function(t,e){return r.radius(e.datum)-r.radius(t.datum)}));a.classed("sszvis-anchored-circle--entering",false);if(r.transition){var o=Mi();a.exit().transition(o).attr("r",0).remove();a.transition(o).attr("r",i)}else{a.exit().remove();a.attr("r",i)}}));n.on=function(){var e=t.on.apply(t,arguments);return e===t?n:e};return n}function io(){return gn().prop("mergedData").prop("geoJson").prop("mapPath").prop("defined",ge).defined(true).prop("fill",ge).fill((function(){return"black"})).prop("transitionColor").transitionColor(true).render((function(){var t=e.select(this);var n=t.props();me(t,"pattern","missing-pattern").call(fn);function r(t){return n.defined(t.datum)?n.fill(t.datum):"url(#missing-pattern)"}var i=t.selectAll(".sszvis-map__area").data(n.mergedData);var a=i.enter().append("path").classed("sszvis-map__area",true).classed("sszvis-map__area--entering",true).attr("data-event-target","").attr("fill",r);i.classed("sszvis-map__area--entering",false);i.exit().remove();i=i.merge(a);t.selectAll(".sszvis-map__area--undefined").attr("fill",r);i.classed("sszvis-map__area--undefined",(function(t){return!Xt(t.datum)||!n.defined(t.datum)})).attr("d",(function(t){return n.mapPath(t.geoJson)}));if(n.transitionColor){i.transition().call(Si).attr("fill",r)}else{i.attr("fill",r)}var o=Sn().position((function(t){return n.mapPath.projection()(to(t.geoJson))}));var s=t.selectGroup("tooltipAnchors").datum(n.mergedData);s.call(o)}))}function ao(){var t=e.dispatch("over","out","click");var n=gn().prop("dataKeyName").dataKeyName(Qa).prop("geoJsonKeyName").geoJsonKeyName("id").prop("geoJson").prop("mapPath").prop("defined",ge).defined(true).prop("fill",ge).fill("black").prop("stroke",ge).stroke("black").prop("strokeWidth",ge).strokeWidth(1.25).prop("transitionColor").transitionColor(true).render((function(n){var r=e.select(this);var i=r.props();me(r,"pattern","missing-pattern").call(fn);var a=fe(i.dataKeyName);var o=fe(i.geoJsonKeyName);var s=n.reduce((function(t,e){t[a(e)]=e;return t}));var u=i.geoJson.features.map((function(t){return{geoJson:t,datum:s[o(t.properties)]}}));function l(t){return Xt(t.datum)&&i.defined(t.datum)?i.fill(t.datum):"url(#missing-pattern)"}function c(t){return Xt(t.datum)&&i.defined(t.datum)?i.stroke(t.datum):""}var f=r.selectAll(".sszvis-map__geojsonelement").data(u);var h=f.enter().append("path").classed("sszvis-map__geojsonelement",true).attr("data-event-target","").attr("fill",l);f.exit().remove();f=f.merge(h);r.selectAll(".sszvis-map__geojsonelement--undefined").attr("fill",l);f.classed("sszvis-map__geojsonelement--undefined",(function(t){return!Xt(t.datum)||!i.defined(t.datum)})).attr("d",(function(t){return i.mapPath(t.geoJson)}));if(i.transitionColor){f.transition().call(Si).attr("fill",l)}else{f.attr("fill",l)}f.attr("stroke",c).attr("stroke-width",i.strokeWidth);r.selectAll("[data-event-target]").on("mouseover",(function(e){t.over(e.datum)})).on("mouseout",(function(e){t.out(e.datum)})).on("click",(function(e){t.click(e.datum)}));var p=Sn().position((function(t){t.geoJson.properties||(t.geoJson.properties={});var n=t.geoJson.properties.sphericalCentroid;if(!n){t.geoJson.properties.sphericalCentroid=n=e.geoCentroid(t.geoJson)}return i.mapPath.projection()(n)}));var v=r.selectGroup("tooltipAnchors").datum(u);v.call(p)}));n.on=function(){var e=t.on.apply(t,arguments);return e===t?n:e};return n}function oo(){return gn().prop("keyName").keyName(Qa).prop("geoJson").prop("mapPath").prop("highlight").highlight([]).prop("highlightStroke",ge).highlightStroke("white").prop("highlightStrokeWidth",ge).highlightStrokeWidth(2).render((function(){var t=e.select(this);var n=t.props();var r=t.selectAll(".sszvis-map__highlight");if(!n.highlight.length){r.remove();return true}var i=n.geoJson.features.reduce((function(t,e){t[e.id]=e;return t}),{});var a=n.highlight.reduce((function(t,e){if(e){t.push({geoJson:i[e[n.keyName]],datum:e})}return t}),[]);r=r.data(a);var o=r.enter().append("path").classed("sszvis-map__highlight",true);r.exit().remove();r=r.merge(o);r.attr("d",(function(t){return n.mapPath(t.geoJson)})).style("stroke",(function(t){return n.highlightStroke(t.datum)})).style("stroke-width",(function(t){return n.highlightStrokeWidth(t.datum)}))}))}function so(){return gn().prop("projection").prop("src").prop("geoBounds").prop("opacity").opacity(1).render((function(){var t=e.select(this);var n=t.props();var r=t.selectAll(".sszvis-map__image").data([0]);var i=r.enter().append("img").classed("sszvis-map__image",true);r.exit().remove();r=r.merge(i);var a=n.projection(n.geoBounds[0]);var o=n.projection(n.geoBounds[1]);r.attr("src",n.src).style("left",Math.round(a[0])+"px").style("top",Math.round(a[1])+"px").style("width",Math.round(o[0]-a[0])+"px").style("height",Math.round(o[1]-a[1])+"px").style("opacity",n.opacity)}))}function uo(){return gn().prop("geoJson").prop("mapPath").prop("borderColor").borderColor("white").prop("strokeWidth").strokeWidth(1.25).render((function(){var t=e.select(this);var n=t.props();var r=t.selectAll(".sszvis-map__border").data([n.geoJson]);var i=r.enter().append("path").classed("sszvis-map__border",true);r.exit().remove();r=r.merge(i);r.attr("d",n.mapPath).style("stroke",n.borderColor).style("stroke-width",n.strokeWidth)}))}function lo(){return gn().prop("mapPath").prop("lakeFeature").prop("lakeBounds").prop("lakePathColor").prop("fadeOut").fadeOut(true).render((function(){var t=e.select(this);var n=t.props();me(t,"pattern","lake-pattern").call(hn);if(n.fadeOut){me(t,"linearGradient","lake-fade-gradient").call(pn);me(t,"mask","lake-fade-mask").call(vn)}var r=t.selectAll(".sszvis-map__lakezurich").data([n.lakeFeature]);var i=r.enter().append("path").classed("sszvis-map__lakezurich",true);r.exit().remove();r=r.merge(i);r.attr("d",n.mapPath).attr("fill","url(#lake-pattern)");if(n.fadeOut){r.attr("mask","url(#lake-fade-mask)")}var a=t.selectAll(".sszvis-map__lakepath").data([n.lakeBounds]);var o=a.enter().append("path").classed("sszvis-map__lakepath",true);a.exit().remove();a=a.merge(o);a.attr("d",n.mapPath);if(n.lakePathColor){a.style("stroke",n.lakePathColor)}}))}function co(){return gn().prop("debug").debug(false).prop("width").prop("height").prop("position").prop("cellSide").cellSide(2).prop("fill",ge).prop("opacity").opacity(1).render((function(t){var n=e.select(this);var r=n.props();var i=n.selectAll(".sszvis-map__rasterimage").data([0]);var a=i.enter().append("canvas").classed("sszvis-map__rasterimage",true);i.exit().remove();i=i.merge(a);i.attr("width",r.width).attr("height",r.height).style("opacity",r.opacity);var o=i.node().getContext("2d");o.clearRect(0,0,r.width,r.height);if(r.debug){o.fillStyle="rgba(255, 0, 0, 0.2)";o.fillRect(0,0,r.width,r.height)}var s=r.cellSide/2;t.forEach((function(t){var e=r.position(t);o.fillStyle=r.fill(t);o.fillRect(e[0]-s,e[1]-s,r.cellSide,r.cellSide)}))}))}function fo(){var t=e.dispatch("over","out","click");var n=io();var r=uo();var i=lo();var a=oo();var o=gn().prop("width").prop("height").prop("keyName").keyName(Qa).prop("withLake").withLake(true).prop("anchoredShape").prop("features").prop("borders").prop("lakeFeatures").prop("lakeBorders").prop("lakeFadeOut").lakeFadeOut(false).delegate("defined",n).delegate("fill",n).delegate("transitionColor",n).delegate("borderColor",r).delegate("strokeWidth",r).delegate("highlight",a).delegate("highlightStroke",a).delegate("highlightStrokeWidth",a).delegate("lakePathColor",i).render((function(o){var s=e.select(this);var u=s.props();var l=Za(u.width,u.height,u.features,"zurichStadtfeatures");var c=$a(o,u.features,u.keyName);n.geoJson(u.features).mergedData(c).mapPath(l);r.geoJson(u.borders).mapPath(l);i.lakeFeature(u.lakeFeatures).lakeBounds(u.lakeBorders).mapPath(l).fadeOut(u.lakeFadeOut);a.geoJson(u.features).keyName(u.keyName).mapPath(l);s.call(n).call(r);if(u.withLake){s.call(i)}s.call(a);if(u.anchoredShape){u.anchoredShape.mergedData(c).mapPath(l);s.call(u.anchoredShape)}s.selectAll("[data-event-target]").on("mouseover",(function(e){t.call("over",this,e.datum)})).on("mouseout",(function(e){t.call("out",this,e.datum)})).on("click",(function(e){t.call("click",this,e.datum)}))}));o.on=function(){var e=t.on.apply(t,arguments);return e===t?o:e};return o}var ho=e.timeFormatLocale(Cn).parse;var po=ho("%d.%m.%Y");var vo=function t(e){return po(e)};var go=ho("%Y");var yo=function t(e){return go(e)};var mo=function t(e){return e.trim()===""?NaN:+e};function _o(){var t=xr();var e={};function n(n){if(!ue(n)||!bo(n)){Lr("Could not determine the current breakpoint, returning the default props");return Object.keys(e).reduce((function(t,e,n){t[n]=e._;return t}),{})}var r=_r(t,n);return Object.keys(e).reduce((function(i,a){var o=e[a];if(!wo(o,t)){Lr('responsiveProps was given an invalid propSpec for property: "'+a+'". The spec: ',o);return i}var s=$t((function(t){return Xt(o[t.name])}),r);i[a]=o[s.name](n.width);return i}),{})}n.prop=function(t,r){e[t]=xo(r);return n};n.breakpoints=function(e){if(arguments.length===0){return t}t=br(e);return n};return n}function bo(t){return Xt(t)&&Xt(t.width)&&Xt(t.screenWidth)&&Xt(t.screenHeight)}function xo(t){return Object.keys(t).reduce((function(e,n){e[n]=ge(t[n]);return e}),{})}function wo(t,e){if(!Xt(t._)){return false}for(var n in t){if({}.hasOwnProperty.call(t,n)){if(n!=="_"&&!Xt(yr(e,n))){return false}}}return true}function ko(){var t={plain:function t(e){return e},italic:function t(e){return"<em>"+e+"</em>"},bold:function t(e){return"<strong>"+e+"</strong>"}};return function(e,n){return e.lines().map((function(e){return e.map((function(e){return t[e.style].call(null,e.text(n))})).join(" ")})).join("<br/>")}}function Ao(){var t={plain:function t(e){return"<tspan>"+e+"</tspan>"},italic:function t(e){return'<tspan style="font-style:italic">'+e+"</tspan>"},bold:function t(e){return'<tspan style="font-weight:bold">'+e+"</tspan>"}};return function(e,n){return e.lines().reduce((function(e,r,i){var a=r.map((function(e){return t[e.style].call(null,e.text(n))})).join(" ");var o=i===0?0:"1.2em";return e+'<tspan x="0" dy="'+o+'">'+a+"</tspan>"}),"")}}function Mo(){var t=[[]];return{addLine:function e(){t.push([])},addWord:function e(n,r){le(t).push({text:ge(r),style:n})},lines:function e(){return t}}}function zo(t){return function(){var e=Mo();function n(n){return t(e,n)}n.newline=function(){e.addLine();return n};["bold","italic","plain"].forEach((function(t){n[t]=function(r){e.addWord(t,r);return n}}));return n}}var So=zo(ko());var Eo=zo(Ao());t.AGGLOMERATION_2012_KEY=Va;t.DEFAULT_LEGEND_COLOR_ORDINAL_ROW_HEIGHT=va;t.DEFAULT_WIDTH=gi;t.GEO_KEY_DEFAULT=Qa;t.RATIO=mi;t.STADT_KREISE_KEY=qa;t.STATISTISCHE_QUARTIERE_KEY=Wa;t.STATISTISCHE_ZONEN_KEY=Ga;t.SWITZERLAND_KEY=Ja;t.WAHL_KREISE_KEY=Ya;t.annotationCircle=xn;t.annotationLine=wn;t.annotationRangeFlag=En;t.annotationRangeRuler=Gn;t.annotationRectangle=Yn;t.annotationRuler=Vn;t.app=pr;t.arity=Yt;t.aspectRatio=Sr;t.aspectRatio12to5=Nr;t.aspectRatio16to10=Tr;t.aspectRatio4to3=Er;t.aspectRatioAuto=Dr;t.aspectRatioPortrait=Or;t.aspectRatioSquare=Rr;t.axisX=Zr;t.axisY=Kr;t.bar=Ti;t.bounds=yi;t.breakpointCreateSpec=br;t.breakpointDefaultSpec=xr;t.breakpointFind=gr;t.breakpointFindByName=yr;t.breakpointLap=kr;t.breakpointMatch=_r;t.breakpointPalm=wr;t.breakpointTest=mr;t.buttonGroup=oa;t.cascade=ki;t.choropleth=fo;t.colorLegendDimensions=_a;t.colorLegendLayout=ma;t.compose=Vt;t.contains=Jt;t.createHtmlLayer=ha;t.createSvgLayer=pa;t.dataAreaPattern=dn;t.defaultTransition=Mi;t.defined=Xt;t.derivedSet=Zt;t.dimensionsHeatTable=ka;t.dimensionsHorizontalBarChart=Aa;t.dimensionsVerticalBarChart=La;t.dot=Ci;t.ensureDefsElement=me;t.every=Kt;t.fallbackCanvasUnsupported=ar;t.fallbackRender=or;t.fallbackUnsupported=ir;t.fastTransition=zi;t.filledArray=Qt;t.find=$t;t.first=te;t.firstTouch=ne;t.fitTooltip=rr;t.flatten=ee;t.foldPattern=re;t.formatAge=Rn;t.formatAxisTimeFormat=Fn;t.formatFractionPercent=Hn;t.formatMonth=On;t.formatNone=Dn;t.formatNumber=Ln;t.formatPercent=jn;t.formatPreciseNumber=In;t.formatText=Un;t.formatYear=Bn;t.functor=ge;t.getGeoJsonCenter=to;t.groupedBars=Ni;t.halfPixel=kn;t.handleRuler=sa;t.hashableSet=ie;t.heatTableMissingValuePattern=cn;t.identity=qt;t.isFunction=ae;t.isNull=oe;t.isNumber=se;t.isObject=ue;t.isSelection=Gt;t.isString=Wt;t.last=le;t.layoutPopulationPyramid=Ma;t.layoutSmallMultiples=Ta;t.layoutStackedAreaMultiples=Ca;t.legendColorBinned=Ia;t.legendColorLinear=ja;t.legendColorOrdinal=da;t.legendRadius=Ha;t.line=Pi;t.loadError=Ua;t.locale=Cn;t.mapLakeFadeGradient=pn;t.mapLakeGradientMask=vn;t.mapLakePattern=hn;t.mapMissingValuePattern=fn;t.mapRendererBase=io;t.mapRendererBubble=ro;t.mapRendererGeoJson=ao;t.mapRendererHighlight=oo;t.mapRendererImage=so;t.mapRendererMesh=uo;t.mapRendererPatternedLakeOverlay=lo;t.mapRendererRaster=co;t.measureAxisLabel=vi;t.measureDimensions=hi;t.measureLegendLabel=di;t.measureText=pi;t.memoize=ye;t.modularTextHTML=So;t.modularTextSVG=Eo;t.move=ei;t.muchDarker=nn;t.not=ce;t.panning=ui;t.parseDate=vo;t.parseNumber=mo;t.parseYear=yo;t.pie=Ri;t.pixelsFromGeoDistance=Ka;t.prepareMergedGeoData=$a;t.prop=fe;t.propOr=he;t.pyramid=Oi;t.range=Ur;t.responsiveProps=_o;t.roundTransformString=An;t.sankey=Di;t.sankeyLayout=Ea;t.sankeyPrepareData=Sa;t.scaleDeepGry=tn;t.scaleDimGry=Qe;t.scaleDivNtr=Ye;t.scaleDivNtrGry=Ve;t.scaleDivVal=We;t.scaleDivValGry=Ge;t.scaleGry=Ke;t.scaleLightGry=Xe;t.scaleMedGry=$e;t.scalePaleGry=Ze;t.scaleQual12=Fe;t.scaleQual6=Oe;t.scaleQual6a=Be;t.scaleQual6b=De;t.scaleSeqBlu=Ie;t.scaleSeqBrn=Ue;t.scaleSeqGrn=He;t.scaleSeqRed=je;t.selectMenu=ua;t.set=pe;t.slider=fa;t.slightlyDarker=en;t.slowTransition=Si;t.some=ve;t.stackedArea=Li;t.stackedAreaMultiples=Ii;t.stackedBarHorizontal=Ji;t.stackedBarHorizontalData=Wi;t.stackedBarVertical=Zi;t.stackedBarVerticalData=Gi;t.stackedPyramid=ea;t.stackedPyramidData=ta;t.stringEqual=de;t.sunburst=aa;t.sunburstGetRadiusExtent=Da;t.sunburstLayout=Ba;t.sunburstPrepareData=Na;t.swissMapPath=Za;t.swissMapProjection=Xa;t.textWrap=Wr;t.tooltip=Qn;t.tooltipAnchor=Sn;t.transformTranslateSubpixelShift=Mn;t.translateString=zn;t.viewport=hr;t.voronoi=li;t.widthAdaptiveMapPathStroke=eo;t.withAlpha=rn;Object.defineProperty(t,"__esModule",{value:true})}))}));var sszvis$1=getDefaultExportFromCjs(sszvis);var sszvis$2=Object.freeze(Object.assign(Object.create(null),sszvis,{default:sszvis$1}));function identity(t){return t}function transform(t){if(t==null)return identity;var e,n,r=t.scale[0],i=t.scale[1],a=t.translate[0],o=t.translate[1];return function(t,s){if(!s)e=n=0;var u=2,l=t.length,c=new Array(l);c[0]=(e+=t[0])*r+a;c[1]=(n+=t[1])*i+o;while(u<l)c[u]=t[u],++u;return c}}function bbox(t){var e=transform(t.transform),n,r=Infinity,i=r,a=-r,o=-r;function s(t){t=e(t);if(t[0]<r)r=t[0];if(t[0]>a)a=t[0];if(t[1]<i)i=t[1];if(t[1]>o)o=t[1]}function u(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(u);break;case"Point":s(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(s);break}}t.arcs.forEach((function(t){var n=-1,s=t.length,u;while(++n<s){u=e(t[n],n);if(u[0]<r)r=u[0];if(u[0]>a)a=u[0];if(u[1]<i)i=u[1];if(u[1]>o)o=u[1]}}));for(n in t.objects){u(t.objects[n])}return[r,i,a,o]}function reverse(t,e){var n,r=t.length,i=r-e;while(i<--r)n=t[i],t[i++]=t[r],t[r]=n}function feature(t,e){if(typeof e==="string")e=t.objects[e];return e.type==="GeometryCollection"?{type:"FeatureCollection",features:e.geometries.map((function(e){return feature$1(t,e)}))}:feature$1(t,e)}function feature$1(t,e){var n=e.id,r=e.bbox,i=e.properties==null?{}:e.properties,a=object(t,e);return n==null&&r==null?{type:"Feature",properties:i,geometry:a}:r==null?{type:"Feature",id:n,properties:i,geometry:a}:{type:"Feature",id:n,bbox:r,properties:i,geometry:a}}function object(t,e){var n=transform(t.transform),r=t.arcs;function i(t,e){if(e.length)e.pop();for(var i=r[t<0?~t:t],a=0,o=i.length;a<o;++a){e.push(n(i[a],a))}if(t<0)reverse(e,o)}function a(t){return n(t)}function o(t){var e=[];for(var n=0,r=t.length;n<r;++n)i(t[n],e);if(e.length<2)e.push(e[0]);return e}function s(t){var e=o(t);while(e.length<4)e.push(e[0]);return e}function u(t){return t.map(s)}function l(t){var e=t.type,n;switch(e){case"GeometryCollection":return{type:e,geometries:t.geometries.map(l)};case"Point":n=a(t.coordinates);break;case"MultiPoint":n=t.coordinates.map(a);break;case"LineString":n=o(t.arcs);break;case"MultiLineString":n=t.arcs.map(o);break;case"Polygon":n=u(t.arcs);break;case"MultiPolygon":n=t.arcs.map(u);break;default:return null}return{type:e,coordinates:n}}return l(e)}function stitch(t,e){var n={},r={},i={},a=[],o=-1;e.forEach((function(n,r){var i=t.arcs[n<0?~n:n],a;if(i.length<3&&!i[1][0]&&!i[1][1]){a=e[++o],e[o]=n,e[r]=a}}));e.forEach((function(t){var e=s(t),n=e[0],a=e[1],o,u;if(o=i[n]){delete i[o.end];o.push(t);o.end=a;if(u=r[a]){delete r[u.start];var l=u===o?o:o.concat(u);r[l.start=o.start]=i[l.end=u.end]=l}else{r[o.start]=i[o.end]=o}}else if(o=r[a]){delete r[o.start];o.unshift(t);o.start=n;if(u=i[n]){delete i[u.end];var c=u===o?o:u.concat(o);r[c.start=u.start]=i[c.end=o.end]=c}else{r[o.start]=i[o.end]=o}}else{o=[t];r[o.start=n]=i[o.end=a]=o}}));function s(e){var n=t.arcs[e<0?~e:e],r=n[0],i;if(t.transform)i=[0,0],n.forEach((function(t){i[0]+=t[0],i[1]+=t[1]}));else i=n[n.length-1];return e<0?[i,r]:[r,i]}function u(t,e){for(var r in t){var i=t[r];delete e[i.start];delete i.start;delete i.end;i.forEach((function(t){n[t<0?~t:t]=1}));a.push(i)}}u(i,r);u(r,i);e.forEach((function(t){if(!n[t<0?~t:t])a.push([t])}));return a}function mesh(t){return object(t,meshArcs.apply(this,arguments))}function meshArcs(t,e,n){var r,i,a;if(arguments.length>1)r=extractArcs(t,e,n);else for(i=0,r=new Array(a=t.arcs.length);i<a;++i)r[i]=i;return{type:"MultiLineString",arcs:stitch(t,r)}}function extractArcs(t,e,n){var r=[],i=[],a;function o(t){var e=t<0?~t:t;(i[e]||(i[e]=[])).push({i:t,g:a})}function s(t){t.forEach(o)}function u(t){t.forEach(s)}function l(t){t.forEach(u)}function c(t){switch(a=t,t.type){case"GeometryCollection":t.geometries.forEach(c);break;case"LineString":s(t.arcs);break;case"MultiLineString":case"Polygon":u(t.arcs);break;case"MultiPolygon":l(t.arcs);break}}c(e);i.forEach(n==null?function(t){r.push(t[0].i)}:function(t){if(n(t[0].g,t[t.length-1].g))r.push(t[0].i)});return r}function planarRingArea(t){var e=-1,n=t.length,r,i=t[n-1],a=0;while(++e<n)r=i,i=t[e],a+=r[0]*i[1]-r[1]*i[0];return Math.abs(a)}function merge(t){return object(t,mergeArcs.apply(this,arguments))}function mergeArcs(t,e){var n={},r=[],i=[];e.forEach(a);function a(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(a);break;case"Polygon":o(t.arcs);break;case"MultiPolygon":t.arcs.forEach(o);break}}function o(t){t.forEach((function(e){e.forEach((function(e){(n[e=e<0?~e:e]||(n[e]=[])).push(t)}))}));r.push(t)}function s(e){return planarRingArea(object(t,{type:"Polygon",arcs:[e]}).coordinates[0])}r.forEach((function(t){if(!t._){var e=[],r=[t];t._=1;i.push(e);while(t=r.pop()){e.push(t);t.forEach((function(t){t.forEach((function(t){n[t<0?~t:t].forEach((function(t){if(!t._){t._=1;r.push(t)}}))}))}))}}}));r.forEach((function(t){delete t._}));return{type:"MultiPolygon",arcs:i.map((function(e){var r=[],i;e.forEach((function(t){t.forEach((function(t){t.forEach((function(t){if(n[t<0?~t:t].length<2){r.push(t)}}))}))}));r=stitch(t,r);if((i=r.length)>1){for(var a=1,o=s(r[0]),u,l;a<i;++a){if((u=s(r[a]))>o){l=r[0],r[0]=r[a],r[a]=l,o=u}}}return r})).filter((function(t){return t.length>0}))}}function bisect(t,e){var n=0,r=t.length;while(n<r){var i=n+r>>>1;if(t[i]<e)n=i+1;else r=i}return n}function neighbors(t){var e={},n=t.map((function(){return[]}));function r(t,n){t.forEach((function(t){if(t<0)t=~t;var r=e[t];if(r)r.push(n);else e[t]=[n]}))}function i(t,e){t.forEach((function(t){r(t,e)}))}function a(t,e){if(t.type==="GeometryCollection")t.geometries.forEach((function(t){a(t,e)}));else if(t.type in o)o[t.type](t.arcs,e)}var o={LineString:r,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach((function(t){i(t,e)}))}};t.forEach(a);for(var s in e){for(var u=e[s],l=u.length,c=0;c<l;++c){for(var f=c+1;f<l;++f){var h=u[c],p=u[f],v;if((v=n[h])[s=bisect(v,p)]!==p)v.splice(s,0,p);if((v=n[p])[s=bisect(v,h)]!==h)v.splice(s,0,h)}}}return n}function untransform(t){if(t==null)return identity;var e,n,r=t.scale[0],i=t.scale[1],a=t.translate[0],o=t.translate[1];return function(t,s){if(!s)e=n=0;var u=2,l=t.length,c=new Array(l),f=Math.round((t[0]-a)/r),h=Math.round((t[1]-o)/i);c[0]=f-e,e=f;c[1]=h-n,n=h;while(u<l)c[u]=t[u],++u;return c}}function quantize(t,e){if(t.transform)throw new Error("already quantized");if(!e||!e.scale){if(!((o=Math.floor(e))>=2))throw new Error("n must be ≥2");u=t.bbox||bbox(t);var n=u[0],r=u[1],i=u[2],a=u[3],o;e={scale:[i-n?(i-n)/(o-1):1,a-r?(a-r)/(o-1):1],translate:[n,r]}}else{u=t.bbox}var s=untransform(e),u,l,c=t.objects,f={};function h(t){return s(t)}function p(t){var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(p)};break;case"Point":e={type:"Point",coordinates:h(t.coordinates)};break;case"MultiPoint":e={type:"MultiPoint",coordinates:t.coordinates.map(h)};break;default:return t}if(t.id!=null)e.id=t.id;if(t.bbox!=null)e.bbox=t.bbox;if(t.properties!=null)e.properties=t.properties;return e}function v(t){var e=0,n=1,r=t.length,i,a=new Array(r);a[0]=s(t[0],0);while(++e<r)if((i=s(t[e],e))[0]||i[1])a[n++]=i;if(n===1)a[n++]=[0,0];a.length=n;return a}for(l in c)f[l]=p(c[l]);return{type:"Topology",bbox:u,transform:e,objects:f,arcs:t.arcs.map(v)}}var topojson=Object.freeze({__proto__:null,bbox:bbox,feature:feature,mesh:mesh,meshArcs:meshArcs,merge:merge,mergeArcs:mergeArcs,neighbors:neighbors,quantize:quantize,transform:transform,untransform:untransform});var stzhChartCss='@charset "UTF-8";:host{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}:host[hidden]{display:none}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}.sszvis-outer-container{clear:both;position:relative}.sszvis-svg-layer{position:relative}.sszvis-html-layer{position:absolute}.sszvis-fallback-image{display:block;margin:0 auto;max-width:32.25rem;width:100%}.sszvis-interactive{cursor:default;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);-webkit-touch-callout:none}.sszvis-interactive.sszvis-interactive--draggable{cursor:pointer;cursor:grab;cursor:-webkit-grab}.sszvis-interactive.sszvis-interactive--draggable:active{cursor:grabbing;cursor:-webkit-grabbing}:root{--stzh-font:var(--stzh-font-family-regular, "Helvetica Neue", Helvetica, Arial, sans-serif)}.sszvis-axis text{color:#737373;fill:#737373;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-axis path,.sszvis-axis line{fill:none;stroke:#b8b8b8;shape-rendering:crispEdges}.sszvis-axis .tick text.active{fill:#545454}.sszvis-axis .tick text.hidden{display:none}.sszvis-axis .tick line.hidden{display:none}.sszvis-axis.sszvis-axis--top path{display:none}.sszvis-axis.sszvis-axis--vertical path{display:none}.sszvis-axis.sszvis-axis--slider path{stroke:none}.sszvis-axis__label-contour{fill:#ffffff;opacity:0.8;stroke:#ffffff;stroke-width:3}.sszvis-bar--missing{stroke:#a4a4a4}.sszvis-line{fill:none;stroke-width:1.1}.sszvis-pyramid__referenceline{fill:none;stroke:#aaa;stroke-width:2;stroke-dasharray:3 3}.sszvis-sankey-label{alignment-baseline:central;dominant-baseline:central;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-sankey-strong-label{fill:#545454}.sszvis-sankey-weak-label{fill:#767676}.sszvis-sankey-column-label{text-anchor:middle}.sszvis-sankey-column-label-tick{stroke:#b8b8b8}.sszvis-sankey-link-source-label{text-anchor:start}.sszvis-sankey-link-target-label{text-anchor:end}.sszvis-map__area{stroke:none}.sszvis-map__border{fill:none;pointer-events:none;stroke-linejoin:round;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__highlight{fill:none;pointer-events:none;stroke-linejoin:round;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__lakezurich{pointer-events:none;stroke:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__lakepath{fill:none;pointer-events:none;stroke:#d3d3d3;stroke-width:1.25;stroke-dasharray:3 3;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__geojsonelement{pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__image{display:block;position:absolute;pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-map__rasterimage{display:block;position:absolute;pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-control-buttonGroup{display:inline-block;position:absolute;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-control-buttonGroup__item{background-color:#ffffff;border:0.0625rem solid #0f05a0;border-left:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:#0f05a0;cursor:pointer;display:table-cell;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.75rem;line-height:normal;padding:0.5625rem 0.75rem;text-align:center;vertical-align:middle;-webkit-transition:all 0.3s;transition:all 0.3s}.sszvis-control-buttonGroup__item:hover,.sszvis-control-buttonGroup__item.selected:hover{background-color:#070250;color:#fff}.sszvis-control-buttonGroup__item.selected{background-color:#0f05a0;color:#ffffff}.sszvis-control-buttonGroup__item:first-child{border-left:0.0625rem solid #0f05a0}.sszvis-control-select{border:0.0625rem solid #0f05a0;border-radius:0.125rem;background-color:#ffffff;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAgKADAAQAAAABAAAAgAAAAABrRiZNAAAJ6klEQVR4Ae2d3VNTdxrHQaRgIQQCIVTCawkv4VWxqLQUXEqtFnZ1Sr3ozF509h/wButle7cz3jCzet37vdnRbbe67tbZ3RlrZ1qrnW3VVggEDO95IeTtEMieH/h1YyDkJJxfck7ydMZ58nLye/k8fD8nxnKSlUX/EQEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEikAEELl++XMv+ZMBWVbXFRPtyQFW7pMVGIRDKXlwsyIvy5J4PZ+/5bNiTY2NjXc/v3vnum/J8z1ruo/6hZw+vXLnycdhhdDPJBMbGPvn85vWq3mAwu/7M76yenIObA2wJYl8eSFnKQSkHhR/Dmn//W32++NgR8Y/kH6DwMei2XARC2TevX+u1Wgob2YhfXa8u6Oufz9OW+QNSZ4jZwIsXLxazwXJzc+/c+7eh4sf7ZRXhgze1Oh+IJnhAJginwv82ko/mY0bDYZ/7/fPTllCWv589Nj4+7sRzu1XJBtit+WzAJz8V49Sw2/j0GBcCLPlXXyQ/fIoF2yHNl3+pqetsdedXNtr84c/tdjuqAWIlP3IwMkEkET73t5NvFJuv2dJ+tFmkmiCmAaIlP3JiMkEkER73kfy9m89mlmqCHQaIN/mR2yQTRBKR5/528itPWi1FTfGMGMsEUQ0gNfmRiyETRBKR4z5L/p/ibj6bOZYJdnwQxN7tf/+N8VHku/14tsF+CHq6xn8QPzv4PJ7X0bE7CbDkdzRdexRv8sNHYj8ED3/S/JKdlf+v8MfZ7R0GSDT5kQOTCSKJJHI/lH3rxrWT05OFcWl/t5lgAmPWnw/NZl3w4Zgc3Lh06dKnXueFTx//V9eGx/ZbV5byKzo7Bs599Pv2E3fv3r2+3/Ey6fUs+WsrT/4oR/PBzePOzXtV7/no4z+06+99+5+v2eM7DICD5apkgkRIsuRfPSFn87EKrydH53TlFuD+i/cAgiCM9w9ZznV2ryzgSbkqvSeQTnL7nH/15+lJTbP0V0k7sqBgQzBUut8uLnF9hlfsMMCJtxfm2ZMPvy814CA5KplAGsVbNyrF5PNoflAY/tAy8WqBxxq+kqifA9y/V/VY7h8CNjF9ThCO//+32d+Ybt2oEptfJHvyCwuDQmmFp/s3py2zkf82sMMAWBKZACSSU//+12ouyS8sXBdGLkw9zT/kmd1tJzsMgIPwiSCZAET4VJZ81vypCfm1rylaD+grfEf7hyZtkcnHbqIaAAeQCUCCT+XZ/JEPpyby8j22vVYe1QB4EZkAJOStLPm3v6g+bnmqaZF35KwsTZEQMBxe7eobnJ2PlnzMGdMAOJBMABLyVF7NL9KuB4ZHp1nyt/42F2u1MQ2AAcgEILG/yjP5RVrBrytzd556b2YxVvKxC8kGwAvIBCCRWOWVfG3xun941DLxSp5vMZ6VSTYABiUTgER8dTv5RvGcr5X9nF9ULPhLy5wdA6dtS1KTj9XHbQC8kEwAEtLq7S/4NF9bIvhHxOTnvuJbkraSl4+K2wB4OZkAJPauW8n/sqrH8muRee8j439WWxLw68tdbX3v2FbiTT5mS9gAGIBMABK719ucml+sE3zDH0xNislf2X1maY8mbAAMTyYAiZcrz+QX6wK+8nJ725uDC/ZEk4/V7tsAGIhMABLblVfyS0oDvpHRqYmcgz77yzMmdm/fBsC0ZIJtEjyTX1Lq99XW+sxdJ6ad+00++iabATBgpptATP4bPN7w6coC3pHR6ckDOb49f9ULfZBaZTMAJsxUEzxPPmt+K1jIVXVlfm9d3Zq5o2fWJVfysTbZDYCBM80E//jbVvJlb36p3u9l7/YP5PhdYCtnld0AWFymmIAlnzV/8hf5k8+a39DgaTYfnXHLnXz0iZsBMAFfE4QwTcoqr+brywOe4dGpyaxsv5vn5rgZAIvmbwKHeH0CW9KvT8Az+fpyv8dkcjU3dc2t8Uo++sPdAJiInwlKUnJ9Am7JN/g97JwvJn8N7HhW7gbA4tPFBCz5//zKeGziiVa236ACI73B6zG3uBvrW+e8vJOPOZNmAEyodhPwan55hW9t+AMru7SLF6ySUZNmAGxGrSbgmfzyCu9au9nRWN2y5EtW8tGPpBsAE6vNBLySb3jNu5X8zZD/xW/sglEyatINgE2pxQQs+V/fNB57+lj+c35Fpc/dYXY3sos5JTv56EPKDIAFKN0E/JrvdZ89L57zQ/6YV/ICKx41ZQbAZpRqgufJ7xaT3461ylVfM3rdje0OU339UiBVycdeUm4ALERpJhCTz6n5HveZc+KFHEOC5Kt5ghGPmnIDYFNKMQHP5B+u8qya2p411td7U558cFeMAbCgVJuAV/JZ88+en5na2JB+HV8w4VkVYwBsMlUm4Jv8tdXmzmVTTY1TSPU5H5xRFWcALCzZJrhzy3iUxxs+Y7XH9d456/TGhiBgb0qqijMA4CTLBGw+1vxfH2k7MLdctarG42o5MmuqrPStKy352KNiDYAF8jbB5mb2AR7Nr65dc737263kr2MvSqyKNQBg8TYB5pGzis13th1bNhkMzqBSk4/9Kt4AWCgvE2B8uWpNnds5NDJjFc/5QbnG5DmO4g2AzavBBLX1bmfncVuDTufbUHrywVU1BsCClWqC2tfdjqHhmZlgUNjAWtVQVWMAwFSiCeoa3I7u3skGjSa0qZbkg6fqDICFK8UEtQ2rjnfen7UGg6FNrE1NVXUGAFwlmKDOtGrvPmkxqTH54KhaA2ADqTJBfeOqffDMrHjOV2fywU+1BsAGUmGChiaXvadvriEvzx9S2zkf3FBVbwBsJFkmEJu/MnjWNisIgdT/WhI2v4+qegNg78kwganZtfLGW3OmdEg+uKWNAbAhXiZoNDuXT52ee5YuyQevtDEANsTDBOJ3HCz3DkyZ2BxqP+eDE+qLr4zBA+lSmQnk+PqbplbH8sC7tmfpwiVyH2lnAGxQDhM0tTmXevuntr6jN92SD05pawBsMFETtLQ7lgaGbHteax9zqLmmrQHQlERMYO5wLB3vm07r5INP2hsAG5VqAnOHfbFvcC7tkw8uaW8AbFSKCVq77Is9b1q3vqY1Xc/54IGaMQbAhqOZoO3IyuJbp+bncFym1IwxABq6mwnaj9oXjp20bn1fX6YkHzzS7pNAbCxWZSZgx2yKn+j39i/MK/P/2o+1i/0/n3EGADKYAPczLfnYd8a9B8DGqRIBIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAE1Evgf5wNNavES9lPAAAAAElFTkSuQmCC");background-position:96% 51%;background-repeat:no-repeat;background-size:0.75rem 0.75rem;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;height:2.125rem;overflow:hidden;color:#0f05a0;-webkit-transition:all 0.3s;transition:all 0.3s}.sszvis-control-select:hover{border-color:#070250}.sszvis-control-select__element:hover{color:#070250;cursor:pointer}.sszvis-control-select__element{background:transparent;border:0.0625rem solid #ffffff;color:#0f05a0;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:1rem;height:2.125rem;outline:0;-webkit-transition:all 0.3s;transition:all 0.3s;padding-left:0.3125rem}.sszvis-control-select__element:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.sszvis-control-select__metrics{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.75rem;height:auto;position:absolute;visibility:hidden;width:auto;white-space:nowrap}.sszvis-control-slider__handle{cursor:pointer}.sszvis-control-slider--label{fill:#545454;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.625rem;text-anchor:middle}.sszvis-control-slider__handlebox{fill:#fff;stroke:#545454}.sszvis-control-slider__handleline{stroke:#545454}.sszvis-handleRuler__handle{fill:#ffffff;stroke:#808184}.sszvis-handleRuler__handle-mark{stroke:#a6a8ab}.sszvis-ruler__rule{shape-rendering:crispEdges;stroke:#cccccc}.sszvis-ruler__dot{stroke:#ffffff;stroke-width:1.5}.sszvis-ruler__label,.sszvis-ruler__label-outline{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.75rem;font-style:normal;font-weight:normal}.sszvis-ruler__label{fill:#545454}.sszvis-ruler__label-outline{stroke:#ffffff;stroke-width:3}.sszvis-rangeFlag__mark{fill:#efefef;stroke:#7c7c7c;stroke-width:1.5}.sszvis-rangeRuler__rule{opacity:0.25;shape-rendering:crispEdges;stroke:#000000}.sszvis-rangeRuler__p1,.sszvis-rangeRuler__p2{fill:#000000;opacity:0.25}.sszvis-rangeRuler__label,.sszvis-rangeRuler__total{stroke:none;font-size:0.625rem;fill:#737373;color:#737373;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-style:normal}.sszvis-rangeRuler__label-contour,.sszvis-rangeRuler__total-contour{font-size:0.625rem;fill:#737373;color:#737373;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-style:normal;stroke:#ffffff;stroke-width:3;stroke-opacity:0.8}.sszvis-tooltip{min-width:3.75rem;position:absolute}.sszvis-tooltip__background{position:absolute}.sszvis-tooltip__background path{fill:rgba(255, 255, 255, 0.9)}.sszvis-tooltip__background.sszvis-tooltip__background--fallback path{stroke:#ddd;stroke-width:1}.sszvis-tooltip__content{font-family:Arial;padding:0.625rem 0.625rem 0.4375rem 0.625rem;position:relative;white-space:nowrap;z-index:1}.sszvis-tooltip__content strong{font-weight:bold}.sszvis-tooltip__content em{font-weight:bold}.sszvis-tooltip__header{color:#545454;font-size:0.75rem;line-height:1.3333;vertical-align:middle}.sszvis-tooltip__body{color:#7c7c7c;font-size:0.6875rem;line-height:1.4545;vertical-align:middle}.sszvis-tooltip--small .sszvis-tooltip__content{padding:0.375rem 0.625rem 0.25rem 0.625rem;text-align:center}.sszvis-tooltip__body__table,.sszvis-tooltip__body__table td{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:top}.sszvis-tooltip__body__table{border:none !important;border-collapse:collapse;border-spacing:0;min-width:7.5rem;margin-top:0.375rem;width:100%}.sszvis-tooltip__body__table tr{border-top:0.0625rem solid #e5e6e7}.sszvis-tooltip__body__table td{border:none !important;padding:0.4375rem 0.5em 0.4375rem 0 !important;text-align:left;vertical-align:top}.sszvis-tooltip__body__table tr:last-child td{padding-bottom:0.1875rem}.sszvis-tooltip__body__table td:last-child{color:#545454;font-weight:bold;padding-right:0;text-align:right}.sszvis-tooltipAnchor{pointer-events:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.sszvis-referenceline{stroke-width:1.5;stroke:#aaa;stroke-dasharray:3 3}.sszvis-referenceline__caption{fill:#7c7c7c;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.6875rem;text-anchor:middle;-webkit-backface-visibility:hidden}.sszvis-dataareacircle__caption{fill:#7c7c7c;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.6875rem;text-anchor:middle}.sszvis-dataarearectangle__caption{fill:#7c7c7c;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.6875rem;text-anchor:middle}.sszvis-legend__label{fill:#767676;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.75rem;font-style:normal;font-weight:normal;text-anchor:start}.sszvis-legend__label--small{fill:#767676;font-size:0.625rem}.sszvis-legend__axislabel{fill:#767676;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-family:var(--stzh-font);font-size:0.625rem;font-style:normal;font-weight:normal}.sszvis-legend__crispmark{shape-rendering:crispEdges}.sszvis-legend__greyline{fill:none;stroke:#b8b8b8;stroke-width:1.1}.sszvis-legend__dashedline{stroke:#cccccc;stroke-dasharray:2 3;stroke-width:1}stzh-chart{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:normal;color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}stzh-chart[hidden]{display:none}stzh-chart *,stzh-chart *::before,stzh-chart *::after{-webkit-box-sizing:border-box;box-sizing:border-box}';var StzhChart=function(){function t(t){registerInstance(this,t);this.initialized=false;this.chartId=undefined;this.create=function(){}}t.prototype.createWatcher=function(){if(!this.initialized&&this.chartElement){this.initialized=true;this.create(this.chartElement,{d3:d3$2,sszvis:sszvis$2,topojson:topojson})}};t.prototype.componentDidRender=function(){if(!this.initialized&&this.chartElement){this.initialized=true;this.create(this.chartElement,{d3:d3$2,sszvis:sszvis$2,topojson:topojson})}};t.prototype.render=function(){var t=this;var e={"stzh-chart":true};return h(Host,null,h("div",{class:e},h("div",{id:this.chartId,ref:function(e){return t.chartElement=e},class:"stzh-chart__element"})))};Object.defineProperty(t.prototype,"element",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{create:["createWatcher"]}},enumerable:false,configurable:true});return t}();StzhChart.style=stzhChartCss;export{StzhChart as stzh_chart};