@next-bricks/data-view 1.9.2 → 1.10.1
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.
- package/dist/bricks.json +9 -5
- package/dist/chunks/2785.3bc16dc7.js +1 -0
- package/dist/chunks/5235.ad56bd82.js +2 -0
- package/dist/chunks/5235.ad56bd82.js.map +1 -0
- package/dist/chunks/8763.298c81f7.js +1 -0
- package/dist/chunks/8826.2d0820ed.js +2 -0
- package/dist/chunks/8826.2d0820ed.js.map +1 -0
- package/dist/chunks/china-map-chart.52890013.js +2 -0
- package/dist/chunks/china-map-chart.52890013.js.map +1 -0
- package/dist/chunks/china-map.c8780d37.js +2 -0
- package/dist/chunks/china-map.c8780d37.js.map +1 -0
- package/dist/chunks/main.e8031b63.js +2 -0
- package/dist/chunks/main.e8031b63.js.map +1 -0
- package/dist/examples.json +13 -10
- package/dist/index.38a026f6.js +2 -0
- package/dist/index.38a026f6.js.map +1 -0
- package/dist/manifest.json +124 -96
- package/dist/types.json +183 -104
- package/dist-types/bootstrap.d.ts +1 -0
- package/dist-types/china-map/index.d.ts +37 -0
- package/dist-types/china-map/index.spec.d.ts +1 -0
- package/dist-types/china-map-chart/index.d.ts +2 -0
- package/docs/china-map-chart.md +2 -0
- package/docs/china-map.md +58 -0
- package/package.json +2 -2
- package/dist/chunks/32.40f02922.js +0 -2
- package/dist/chunks/32.40f02922.js.map +0 -1
- package/dist/chunks/china-map-chart.331f7837.js +0 -2
- package/dist/chunks/china-map-chart.331f7837.js.map +0 -1
- package/dist/chunks/main.2de8b5d7.js +0 -2
- package/dist/chunks/main.2de8b5d7.js.map +0 -1
- package/dist/index.863009f8.js +0 -2
- package/dist/index.863009f8.js.map +0 -1
package/dist/bricks.json
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
"id": "bricks/data-view",
|
|
3
3
|
"bricks": [
|
|
4
4
|
"data-view.gauge-chart",
|
|
5
|
+
"data-view.modern-style-component-title",
|
|
6
|
+
"data-view.modern-style-page-title",
|
|
5
7
|
"data-view.tabs-drawer",
|
|
6
8
|
"data-view.modern-style-treemap",
|
|
7
9
|
"data-view.battery-chart",
|
|
@@ -14,9 +16,7 @@
|
|
|
14
16
|
"data-view.app-wall-relation-line",
|
|
15
17
|
"data-view.cabinet-button",
|
|
16
18
|
"data-view.cabinet-node",
|
|
17
|
-
"data-view.modern-style-component-title",
|
|
18
19
|
"data-view.cabinet-app-layer",
|
|
19
|
-
"data-view.modern-style-page-title",
|
|
20
20
|
"data-view.cabinet-container",
|
|
21
21
|
"data-view.cabinet-thumbnail",
|
|
22
22
|
"data-view.cabinet-graph",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"data-view.graph-node",
|
|
26
26
|
"data-view.graph-layout-grid",
|
|
27
27
|
"data-view.grid-background",
|
|
28
|
-
"data-view.radar-chart",
|
|
29
28
|
"data-view.gear-background",
|
|
29
|
+
"data-view.radar-chart",
|
|
30
30
|
"data-view.title-text",
|
|
31
31
|
"data-view.brick-notification",
|
|
32
32
|
"data-view.tabs-page-title",
|
|
@@ -46,7 +46,8 @@
|
|
|
46
46
|
"data-view.globe-with-halo-indicator",
|
|
47
47
|
"data-view.globe-with-gear-indicator",
|
|
48
48
|
"data-view.bubbles-indicator",
|
|
49
|
-
"data-view.globe-with-orbit-indicator"
|
|
49
|
+
"data-view.globe-with-orbit-indicator",
|
|
50
|
+
"data-view.china-map"
|
|
50
51
|
],
|
|
51
52
|
"elements": [],
|
|
52
53
|
"processors": [],
|
|
@@ -104,7 +105,10 @@
|
|
|
104
105
|
],
|
|
105
106
|
"data-view.globe-with-orbit-indicator": [
|
|
106
107
|
"eo-tag"
|
|
108
|
+
],
|
|
109
|
+
"data-view.china-map": [
|
|
110
|
+
"eo-icon"
|
|
107
111
|
]
|
|
108
112
|
},
|
|
109
|
-
"filePath": "bricks/data-view/dist/index.
|
|
113
|
+
"filePath": "bricks/data-view/dist/index.38a026f6.js"
|
|
110
114
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[2785],{52785:e=>{e.exports=JSON.parse('{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[117.389879,40.227958],[117.367089,40.172649],[117.210024,40.082045],[116.781331,40.034866],[116.90575,39.688037],[116.812128,39.615695],[116.724048,39.59264],[116.723432,39.59264],[116.724048,39.59264],[116.723432,39.59264],[115.738545,39.539585],[115.738545,39.540046],[115.738545,39.539585],[115.738545,39.540046],[115.722531,39.543738],[115.721299,39.543738],[115.722531,39.543738],[115.722531,39.5442],[115.721299,39.543738],[115.722531,39.5442],[115.491554,39.670074],[115.454597,40.029825],[115.847567,40.147036],[115.968907,40.264045],[115.755176,40.540221],[116.005247,40.583868],[116.677853,40.970888],[117.269771,40.560684],[117.243285,40.369453],[117.389879,40.227958]]]},"properties":{"adcode":110000,"name":"北京市","center":[116.405285,39.904989],"cp":[116.405285,39.904989],"centroid":[116.41995,40.18994],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":0,"acroutes":[100000]},"id":"110000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[117.765602,39.400527],[117.784696,39.376938],[117.805022,39.373237],[117.854297,39.328348],[117.854913,39.328348],[117.854297,39.328348],[117.854913,39.328348],[118.034767,39.218548],[117.837667,39.057011],[117.847522,38.855502],[117.639334,38.626776],[117.25314,38.556143],[116.95133,38.689398],[116.948866,38.689398],[116.95133,38.689398],[116.948866,38.689398],[116.746222,38.754299],[116.708034,38.931892],[116.912526,39.110898],[116.812128,39.615695],[116.90575,39.688037],[117.177996,39.645194],[117.210024,40.082045],[117.367089,40.172649],[117.389879,40.227958],[117.675059,40.082045],[117.508139,39.901854],[117.846906,39.407926],[117.765602,39.400527]]],[[[117.805022,39.373237],[117.784696,39.376938],[117.765602,39.400527],[117.846906,39.407926],[117.805022,39.373237]]]]},"properties":{"adcode":120000,"name":"天津市","center":[117.190182,39.125596],"cp":[117.190182,39.125596],"centroid":[117.347043,39.288036],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":1,"acroutes":[100000]},"id":"120000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[115.722531,39.5442],[115.721299,39.543738],[115.722531,39.5442],[115.722531,39.543738],[115.721299,39.543738],[115.722531,39.543738],[115.738545,39.540046],[115.738545,39.539585],[115.738545,39.540046],[115.738545,39.539585],[116.723432,39.59264],[116.724048,39.59264],[116.723432,39.59264],[116.724048,39.59264],[116.812128,39.615695],[116.912526,39.110898],[116.708034,38.931892],[116.746222,38.754299],[116.948866,38.689398],[116.95133,38.689398],[116.948866,38.689398],[116.95133,38.689398],[117.25314,38.556143],[117.639334,38.626776],[117.895565,38.301572],[117.438538,37.854035],[116.804736,37.848837],[116.38097,37.522522],[116.379738,37.522047],[116.38097,37.522522],[116.379738,37.522047],[115.975682,37.337179],[115.683727,36.808117],[115.479851,36.760187],[115.272895,36.497476],[115.483547,36.148865],[115.12507,36.209731],[114.586739,36.141133],[114.408117,36.224699],[113.731199,36.363135],[113.476816,36.655114],[113.773083,36.85506],[113.758301,37.075497],[114.014531,37.42468],[114.068118,37.721608],[113.797105,38.162894],[113.54457,38.270569],[113.612939,38.645942],[113.855619,38.828933],[113.76754,38.959819],[114.050872,39.135969],[114.345907,39.075133],[114.568877,39.573729],[114.408117,39.652106],[114.395182,39.867412],[114.029314,39.985819],[114.073046,40.168533],[114.31203,40.372645],[114.134639,40.737314],[113.868554,41.06887],[113.933227,41.487139],[114.230726,41.513584],[114.200545,41.789934],[114.478334,41.951704],[114.510978,42.110844],[114.825723,42.139695],[114.9021,42.015763],[114.895325,41.636255],[115.20391,41.571367],[115.916552,41.945027],[116.007095,41.797966],[116.007095,41.79752],[116.007095,41.797966],[116.007095,41.79752],[116.373579,42.009983],[116.553433,41.928555],[116.879881,42.018431],[116.886656,42.366496],[117.01662,42.456193],[117.413284,42.471645],[117.779768,42.61847],[117.997811,42.416884],[118.097593,42.105072],[118.340273,41.87243],[118.132702,41.733241],[118.412338,41.331838],[119.239545,41.31431],[118.964836,41.079246],[118.845959,40.822057],[119.230921,40.603863],[119.503783,40.553864],[119.854252,39.98857],[119.540739,39.888079],[119.366428,39.734996],[119.316537,39.437051],[118.926031,39.123435],[118.637156,39.157319],[118.491178,38.909077],[118.034767,39.218548],[117.854913,39.328348],[117.854297,39.328348],[117.854913,39.328348],[117.854297,39.328348],[117.805022,39.373237],[117.846906,39.407926],[117.508139,39.901854],[117.675059,40.082045],[117.389879,40.227958],[117.243285,40.369453],[117.269771,40.560684],[116.677853,40.970888],[116.005247,40.583868],[115.755176,40.540221],[115.968907,40.264045],[115.847567,40.147036],[115.454597,40.029825],[115.491554,39.670074],[115.722531,39.5442]]],[[[117.210024,40.082045],[117.177996,39.645194],[116.90575,39.688037],[116.781331,40.034866],[117.210024,40.082045]]]]},"properties":{"adcode":130000,"name":"河北省","center":[114.502461,38.045474],"cp":[115.002461,39.045474],"childrenNum":11,"level":"province","parent":{"adcode":100000},"subFeatureIndex":2,"acroutes":[100000]},"id":"130000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[110.379257,34.600612],[110.230816,34.880925],[110.609619,35.632031],[110.447011,36.164328],[110.503677,36.488335],[110.407591,36.776007],[110.460561,37.044932],[110.651503,37.256722],[110.795017,37.558586],[110.735886,37.77035],[110.522771,37.955088],[110.57759,38.297345],[110.874473,38.453579],[110.880632,38.626776],[111.247732,39.302419],[111.125776,39.366297],[111.337043,39.420872],[111.445448,39.640124],[111.9382,39.623071],[112.232003,40.133311],[112.456205,40.300112],[112.744464,40.167161],[112.898449,40.329317],[113.251382,40.413211],[113.559968,40.348476],[114.061959,40.52885],[114.134639,40.737314],[114.31203,40.372645],[114.073046,40.168533],[114.029314,39.985819],[114.395182,39.867412],[114.408117,39.652106],[114.568877,39.573729],[114.345907,39.075133],[114.050872,39.135969],[113.76754,38.959819],[113.855619,38.828933],[113.612939,38.645942],[113.54457,38.270569],[113.797105,38.162894],[114.068118,37.721608],[114.014531,37.42468],[113.758301,37.075497],[113.773083,36.85506],[113.476816,36.655114],[113.731199,36.363135],[113.694859,36.026991],[113.49899,35.532254],[112.772798,35.207732],[112.058924,35.280069],[111.933272,35.083435],[110.824582,34.615881],[110.379257,34.600612]]]},"properties":{"adcode":140000,"name":"山西省","center":[112.549248,37.857014],"cp":[112.549248,37.857014],"centroid":[112.304436,37.618179],"childrenNum":11,"level":"province","parent":{"adcode":100000},"subFeatureIndex":3,"acroutes":[100000]},"id":"140000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[97.172903,42.795257],[98.195362,42.653251],[99.51224,42.568244],[100.32528,42.690213],[100.862995,42.671295],[101.803534,42.503861],[102.070236,42.232374],[102.712045,42.153007],[103.418527,41.882233],[103.868779,41.802427],[104.530298,41.875104],[104.524138,41.661745],[105.009498,41.583007],[105.74185,41.949033],[106.785867,42.291281],[107.57427,42.412907],[108.238252,42.460167],[108.845569,42.395673],[109.026039,42.458401],[109.544044,42.472528],[109.906216,42.635643],[110.437156,42.781203],[111.02045,43.329998],[111.564325,43.490422],[111.951135,43.693275],[111.870447,43.940279],[111.662875,44.061247],[111.415883,44.35724],[111.764505,44.969325],[112.002874,45.090713],[112.438959,45.071697],[112.850406,44.840466],[113.631417,44.745333],[114.065038,44.931206],[114.347139,45.119436],[114.551014,45.387383],[115.36467,45.392427],[115.699741,45.45963],[116.286731,45.775247],[116.271949,45.966926],[116.585462,46.292504],[116.876801,46.375559],[117.372017,46.36028],[117.42006,46.582029],[117.870927,46.549935],[118.316252,46.73934],[119.783419,46.626023],[119.93494,46.712674],[119.716282,47.195518],[119.134219,47.664335],[118.773278,47.771034],[118.568171,47.992187],[117.813645,48.016212],[117.384335,47.641356],[116.879265,47.893968],[116.26579,47.876711],[115.939342,47.683275],[115.580249,47.921649],[115.529126,48.155336],[115.822929,48.259432],[115.799523,48.514982],[116.717889,49.847288],[117.068974,49.695389],[117.809333,49.521263],[118.082811,49.616741],[118.574946,49.931342],[119.090487,49.985629],[119.309762,50.161161],[119.250631,50.448604],[119.491464,50.87878],[119.764325,51.092017],[120.087077,51.678013],[120.656821,51.926333],[120.786784,52.15787],[120.627256,52.323878],[120.690698,52.547532],[120.181316,52.806969],[120.882871,53.294411],[121.499426,53.337314],[121.817867,53.061631],[121.323883,52.573727],[121.94783,52.298266],[122.142467,52.495096],[122.769493,52.179893],[122.749167,51.746613],[122.854492,51.477551],[123.294273,51.254111],[123.661989,51.319237],[124.864302,51.37979],[125.130388,51.635317],[125.35151,51.623801],[126.042594,50.92558],[125.758646,50.746809],[125.829479,50.56165],[125.27883,50.127411],[125.190134,49.959841],[125.261583,49.322336],[124.906802,49.184054],[124.612383,48.747945],[124.51876,48.378027],[124.07898,48.43603],[123.161846,47.781892],[122.59395,47.54732],[122.418407,47.350632],[122.821232,47.065636],[122.906847,46.80738],[123.625648,46.847508],[123.603475,46.68928],[123.002318,46.574624],[123.178476,46.248239],[122.640761,45.771072],[122.362357,45.917403],[122.040221,45.959022],[121.817251,45.875336],[122.002648,45.507882],[122.168336,45.439897],[122.04946,44.912985],[122.13138,44.577619],[122.28598,44.477783],[122.319241,44.233018],[122.675254,44.285738],[123.025108,44.493153],[123.323838,44.179823],[123.536953,43.633964],[123.315831,43.492159],[123.703873,43.37047],[123.631192,43.088346],[123.259165,42.993431],[123.058368,42.768903],[122.556378,42.827745],[122.338951,42.669975],[121.939207,42.688453],[121.66573,42.437204],[121.386093,42.474294],[120.466496,42.105516],[120.127113,41.77253],[119.744615,42.211545],[119.432949,42.317396],[119.307914,41.657273],[119.406464,41.503276],[119.239545,41.31431],[118.412338,41.331838],[118.132702,41.733241],[118.340273,41.87243],[118.097593,42.105072],[117.997811,42.416884],[117.779768,42.61847],[117.413284,42.471645],[117.01662,42.456193],[116.886656,42.366496],[116.879881,42.018431],[116.553433,41.928555],[116.373579,42.009983],[116.007095,41.79752],[116.007095,41.797966],[115.916552,41.945027],[115.20391,41.571367],[114.895325,41.636255],[114.9021,42.015763],[114.825723,42.139695],[114.510978,42.110844],[114.478334,41.951704],[114.200545,41.789934],[114.230726,41.513584],[113.933227,41.487139],[113.868554,41.06887],[114.134639,40.737314],[114.061959,40.52885],[113.559968,40.348476],[113.251382,40.413211],[112.898449,40.329317],[112.744464,40.167161],[112.456205,40.300112],[112.232003,40.133311],[111.9382,39.623071],[111.445448,39.640124],[111.337043,39.420872],[111.125776,39.366297],[110.869545,39.494341],[110.626249,39.266751],[110.385417,39.310291],[109.961035,39.191651],[109.665384,38.981687],[109.054372,38.433892],[108.938575,38.207582],[109.018648,37.971602],[108.798141,37.93385],[108.791982,37.700303],[108.628142,37.651988],[108.012819,37.66857],[107.982022,37.787378],[107.65003,37.86443],[107.411662,37.948009],[107.138801,38.161011],[106.779092,38.171833],[106.482209,38.319417],[106.647897,38.470917],[106.709491,38.718821],[106.954019,38.941202],[106.751375,39.381564],[106.145907,39.153142],[105.909386,38.791159],[105.775111,38.186887],[105.840401,38.004147],[105.598952,37.699356],[105.315004,37.702197],[105.027977,37.580881],[104.433595,37.515402],[104.287002,37.428007],[104.183524,37.406618],[103.683381,37.777919],[103.40744,37.860651],[103.368636,38.08898],[103.53494,38.156776],[103.416063,38.404821],[103.85954,38.64454],[104.207546,39.083495],[103.85338,39.461543],[103.344615,39.331588],[103.007696,39.099753],[102.45335,39.255167],[101.833715,39.08907],[102.075164,38.891378],[101.777049,38.66043],[101.331109,38.777164],[101.198682,38.943064],[100.835278,39.025869],[100.842053,39.405614],[100.498975,39.400527],[100.250135,39.685274],[99.822058,39.860063],[100.169447,40.277743],[100.237201,40.716905],[100.057346,40.908049],[99.673,40.93292],[99.565827,40.846961],[99.174705,40.858278],[98.344419,40.568413],[98.333332,40.918903],[97.971776,41.09774],[97.613915,41.477276],[97.84674,41.656379],[97.172903,42.795257]]]},"properties":{"adcode":150000,"name":"内蒙古自治区","center":[111.670801,40.818311],"cp":[111.670801,41.818311],"centroid":[114.077429,44.331087],"childrenNum":12,"level":"province","parent":{"adcode":100000},"subFeatureIndex":4,"acroutes":[100000]},"id":"150000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[119.854252,39.98857],[119.503783,40.553864],[119.230921,40.603863],[118.845959,40.822057],[118.964836,41.079246],[119.239545,41.31431],[119.406464,41.503276],[119.307914,41.657273],[119.432949,42.317396],[119.744615,42.211545],[120.127113,41.77253],[120.466496,42.105516],[121.386093,42.474294],[121.66573,42.437204],[121.939207,42.688453],[122.338951,42.669975],[122.556378,42.827745],[123.058368,42.768903],[123.259165,42.993431],[123.631192,43.088346],[123.703873,43.37047],[124.27608,43.233278],[124.425754,43.076107],[124.785462,43.117185],[125.010896,42.63212],[125.299156,42.289953],[125.294844,41.822945],[125.758646,41.232449],[125.707523,40.866877],[125.453756,40.676522],[124.913578,40.481981],[124.457782,40.177679],[124.099306,39.777323],[123.812278,39.831115],[122.978912,39.616156],[122.412864,39.411625],[121.863446,38.942598],[121.359608,38.822406],[121.08921,38.922115],[121.581962,39.075598],[121.589353,39.263044],[121.245659,39.389427],[121.530223,39.851334],[121.910257,40.072887],[122.245944,40.519752],[121.682976,40.829755],[121.126167,40.86914],[120.619249,40.460128],[120.491749,40.20008],[119.854252,39.98857]]]},"properties":{"adcode":210000,"name":"辽宁省","center":[123.429096,41.796767],"cp":[123.429096,41.796767],"centroid":[122.604994,41.299712],"childrenNum":14,"level":"province","parent":{"adcode":100000},"subFeatureIndex":5,"acroutes":[100000]},"id":"210000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[125.707523,40.866877],[125.758646,41.232449],[125.294844,41.822945],[125.299156,42.289953],[125.010896,42.63212],[124.785462,43.117185],[124.425754,43.076107],[124.27608,43.233278],[123.703873,43.37047],[123.315831,43.492159],[123.536953,43.633964],[123.323838,44.179823],[123.025108,44.493153],[122.675254,44.285738],[122.319241,44.233018],[122.28598,44.477783],[122.13138,44.577619],[122.04946,44.912985],[122.168336,45.439897],[122.002648,45.507882],[121.817251,45.875336],[122.040221,45.959022],[122.362357,45.917403],[122.640761,45.771072],[123.178476,46.248239],[123.917604,46.25693],[124.054342,45.751449],[124.398652,45.440737],[125.695205,45.352066],[126.166398,45.13337],[126.569222,45.252725],[126.96404,45.132104],[126.984366,44.823914],[127.463566,44.484615],[127.783239,44.071997],[128.091208,44.133022],[128.211317,44.431647],[128.481714,44.375637],[128.450301,44.203423],[128.878379,43.539898],[129.23008,43.593234],[129.211602,43.784509],[129.780114,43.892857],[129.951345,44.027263],[130.381887,43.910106],[130.412684,43.652586],[130.630726,43.622268],[130.907283,43.434387],[131.304564,43.502144],[131.207861,43.1316],[131.043406,42.862848],[130.46627,42.772417],[129.897143,43.001748],[129.748701,42.471204],[129.240551,42.376223],[129.215914,42.208442],[128.898089,42.016653],[128.090593,42.022877],[128.112766,41.793504],[128.30186,41.627756],[128.203925,41.410882],[127.636645,41.413575],[127.11864,41.540018],[126.952953,41.804212],[126.608027,41.669345],[126.497158,41.406842],[125.959442,40.88181],[125.707523,40.866877]]]},"properties":{"adcode":220000,"name":"吉林省","center":[125.3245,43.886841],"cp":[125.3245,43.886841],"centroid":[126.171208,43.703954],"childrenNum":9,"level":"province","parent":{"adcode":100000},"subFeatureIndex":6,"acroutes":[100000]},"id":"220000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[123.178476,46.248239],[123.002318,46.574624],[123.603475,46.68928],[123.625648,46.847508],[122.906847,46.80738],[122.821232,47.065636],[122.418407,47.350632],[122.59395,47.54732],[123.161846,47.781892],[124.07898,48.43603],[124.51876,48.378027],[124.612383,48.747945],[124.906802,49.184054],[125.261583,49.322336],[125.190134,49.959841],[125.27883,50.127411],[125.829479,50.56165],[125.758646,50.746809],[126.042594,50.92558],[125.35151,51.623801],[125.130388,51.635317],[124.864302,51.37979],[123.661989,51.319237],[123.294273,51.254111],[122.854492,51.477551],[122.749167,51.746613],[122.769493,52.179893],[122.142467,52.495096],[121.94783,52.298266],[121.323883,52.573727],[121.817867,53.061631],[121.499426,53.337314],[122.350038,53.505647],[122.894528,53.462914],[123.309672,53.56078],[124.239124,53.379817],[124.496587,53.207759],[124.832889,53.145347],[125.142091,53.204175],[125.640386,53.06199],[126.353644,52.389304],[126.306832,52.205574],[126.837156,51.536033],[126.976358,51.291551],[126.922772,51.061937],[127.143894,50.910111],[127.370559,50.581415],[127.371791,50.29669],[127.603385,50.239309],[127.531936,49.826059],[127.815268,49.593859],[128.185447,49.53952],[128.537764,49.604332],[129.061929,49.374189],[129.546057,49.395227],[129.937179,49.040285],[130.279641,48.866976],[130.680617,48.881146],[130.538335,48.612016],[130.845073,48.296473],[130.673842,48.12818],[130.966413,47.733211],[131.543548,47.736028],[131.976554,47.673201],[132.325175,47.762184],[132.558,47.718316],[133.130208,48.134971],[133.545967,48.121389],[133.740604,48.254651],[134.501905,48.418954],[134.679295,48.256245],[134.551796,48.032622],[134.779694,47.7159],[134.490202,47.446235],[134.177305,47.326299],[134.230276,47.182097],[134.042414,46.886787],[134.011001,46.637941],[133.849625,46.475389],[133.909987,46.254447],[133.471438,45.631053],[133.203505,45.516689],[133.107418,45.124504],[132.867202,45.061976],[131.82996,45.311677],[131.484418,44.99557],[130.965181,44.85065],[131.111775,44.710042],[131.310723,44.046623],[131.2171,43.836334],[131.304564,43.502144],[130.907283,43.434387],[130.630726,43.622268],[130.412684,43.652586],[130.381887,43.910106],[129.951345,44.027263],[129.780114,43.892857],[129.211602,43.784509],[129.23008,43.593234],[128.878379,43.539898],[128.450301,44.203423],[128.481714,44.375637],[128.211317,44.431647],[128.091208,44.133022],[127.783239,44.071997],[127.463566,44.484615],[126.984366,44.823914],[126.96404,45.132104],[126.569222,45.252725],[126.166398,45.13337],[125.695205,45.352066],[124.398652,45.440737],[124.054342,45.751449],[123.917604,46.25693],[123.178476,46.248239]]]},"properties":{"adcode":230000,"name":"黑龙江省","center":[126.642464,45.756967],"cp":[127.642464,46.756967],"centroid":[127.693027,48.040465],"childrenNum":13,"level":"province","parent":{"adcode":100000},"subFeatureIndex":7,"acroutes":[100000]},"id":"230000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[120.901349,31.017327],[121.174826,31.44922],[121.343593,31.511996],[121.722396,31.3036],[121.946598,31.066039],[121.970004,30.789333],[121.943518,30.776993],[121.601056,30.805269],[121.274608,30.677191],[120.991892,30.837133],[120.901349,31.017327]]],[[[121.974931,31.61704],[121.890547,31.428795],[121.371926,31.553314],[121.145261,31.75403],[121.323267,31.868458],[121.599824,31.703128],[121.974931,31.61704]]]]},"properties":{"adcode":310000,"name":"上海市","center":[121.472644,31.231706],"cp":[121.472644,31.231706],"centroid":[121.438737,31.072559],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":8,"acroutes":[100000]},"id":"310000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[119.306066,35.076578],[119.238313,34.799388],[119.811752,34.485754],[120.311895,34.306991],[120.367329,34.091674],[120.981421,32.85972],[120.979573,32.636236],[121.425513,32.430885],[121.525295,32.136423],[121.856055,31.955328],[121.974931,31.61704],[121.599824,31.703128],[121.323267,31.868458],[121.145261,31.75403],[121.371926,31.553314],[121.343593,31.511996],[121.174826,31.44922],[120.901349,31.017327],[120.698089,30.970643],[120.504684,30.757967],[120.371025,30.948575],[120.149903,30.937283],[119.921389,31.170045],[119.623891,31.130096],[119.374435,31.258591],[118.794836,31.229426],[118.883532,31.500261],[118.885995,31.519139],[118.643315,31.649651],[118.363679,31.930443],[118.394476,32.076098],[118.703061,32.328792],[118.719076,32.614059],[118.92172,32.557078],[118.922336,32.557078],[118.92172,32.557078],[118.922336,32.557078],[119.22045,32.576748],[119.184726,32.825529],[118.849039,32.956689],[118.707373,32.72036],[118.300237,32.783275],[118.217085,33.191888],[117.974405,33.279487],[118.107448,33.475391],[118.117919,33.766427],[117.901724,33.720146],[117.569117,33.985051],[117.192162,34.068873],[116.828142,34.389012],[116.374195,34.640011],[116.445028,34.895652],[116.922381,34.894671],[117.15151,34.559222],[117.370785,34.584846],[117.592523,34.462566],[117.793935,34.651827],[118.114839,34.614404],[118.220165,34.405802],[118.424657,34.595193],[118.690127,34.678408],[118.86259,35.025626],[119.306066,35.076578]]]},"properties":{"adcode":320000,"name":"江苏省","center":[118.767413,32.041544],"cp":[120.067413,32.941544],"centroid":[119.486506,32.983991],"childrenNum":13,"level":"province","parent":{"adcode":100000},"subFeatureIndex":9,"acroutes":[100000]},"id":"320000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[118.433896,28.288335],[118.428352,28.681267],[118.270056,28.918836],[118.037847,29.102017],[118.193064,29.395472],[118.496106,29.519492],[118.894619,29.937845],[118.852735,30.166805],[118.954365,30.360126],[119.201356,30.290905],[119.36766,30.38491],[119.238929,30.609225],[119.482841,30.704467],[119.623891,31.130096],[119.921389,31.170045],[120.149903,30.937283],[120.371025,30.948575],[120.504684,30.757967],[120.698089,30.970643],[120.901349,31.017327],[120.991892,30.837133],[121.274608,30.677191],[121.058413,30.563888],[121.497578,30.258861],[121.635548,30.070002],[122.00696,29.891678],[121.937975,29.384],[121.988482,29.110906],[121.660186,29.118226],[121.774751,28.863818],[121.557324,28.645033],[121.692831,28.407368],[121.488955,28.301509],[121.261057,28.034551],[120.991892,27.95],[121.13479,27.787051],[121.134174,27.787051],[120.97403,27.887071],[120.709176,27.682699],[120.703016,27.478475],[120.461568,27.142407],[120.343924,27.363199],[120.134504,27.420055],[119.843165,27.300464],[119.70889,27.514042],[119.501319,27.649837],[119.26911,27.42218],[118.913713,27.619616],[118.719076,28.063601],[118.756032,28.252493],[118.433896,28.288335]]],[[[122.155401,29.970512],[122.152322,29.97103],[122.163408,29.988137],[122.155401,29.970512]]]]},"properties":{"adcode":330000,"name":"浙江省","center":[120.153576,30.287459],"cp":[120.153576,29.287459],"centroid":[120.109913,29.181466],"childrenNum":11,"level":"province","parent":{"adcode":100000},"subFeatureIndex":10,"acroutes":[100000]},"id":"330000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[116.196804,34.575977],[116.374195,34.640011],[116.828142,34.389012],[117.192162,34.068873],[117.569117,33.985051],[117.901724,33.720146],[118.117919,33.766427],[118.107448,33.475391],[117.974405,33.279487],[118.217085,33.191888],[118.300237,32.783275],[118.707373,32.72036],[118.849039,32.956689],[119.184726,32.825529],[119.22045,32.576748],[118.922336,32.557078],[118.92172,32.557078],[118.922336,32.557078],[118.92172,32.557078],[118.719076,32.614059],[118.703061,32.328792],[118.394476,32.076098],[118.363679,31.930443],[118.643315,31.649651],[118.885995,31.519139],[118.883532,31.500261],[118.794836,31.229426],[119.374435,31.258591],[119.623891,31.130096],[119.482841,30.704467],[119.238929,30.609225],[119.36766,30.38491],[119.201356,30.290905],[118.954365,30.360126],[118.852735,30.166805],[118.894619,29.937845],[118.496106,29.519492],[118.193064,29.395472],[118.143788,29.489803],[117.543248,29.588731],[117.382487,29.840818],[116.780715,29.569994],[116.680317,29.681323],[116.673541,29.709916],[116.882961,29.893753],[116.747454,30.057053],[116.280572,29.788893],[116.13521,29.819532],[116.065609,30.204569],[115.903001,30.31364],[115.910393,30.519046],[115.762567,30.685426],[115.865429,30.864364],[116.071769,30.956787],[115.867277,31.147512],[115.585793,31.143926],[115.373909,31.405813],[115.495249,31.673083],[115.886371,31.776418],[115.941805,32.166318],[115.845719,32.501575],[115.509416,32.466741],[115.5088,32.468761],[115.20083,32.591876],[115.197135,32.856201],[114.943368,32.935094],[114.902716,33.129764],[115.303692,33.149809],[115.315395,33.431451],[115.601191,33.658898],[115.60735,34.030196],[115.95782,34.007875],[116.155536,33.709693],[116.64336,33.896675],[116.52818,34.122892],[116.162312,34.459605],[116.196804,34.575977]]]},"properties":{"adcode":340000,"name":"安徽省","center":[117.283042,31.86119],"cp":[117.283042,31.86119],"centroid":[117.226884,31.849254],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":11,"acroutes":[100000]},"id":"340000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[117.192778,23.5619],[117.055424,23.694038],[116.930388,24.064514],[116.903903,24.369614],[116.667382,24.658752],[116.530027,24.604895],[116.345862,24.828872],[115.89253,24.936911],[115.855574,25.20957],[116.17771,25.894195],[116.489375,26.113649],[116.412999,26.297822],[116.601476,26.372911],[116.515245,26.720898],[116.679085,26.978259],[117.05296,27.100327],[117.149662,27.241419],[117.103467,27.533149],[117.556182,27.966387],[117.856145,27.94577],[118.356288,28.091586],[118.433896,28.288335],[118.756032,28.252493],[118.719076,28.063601],[118.913713,27.619616],[119.26911,27.42218],[119.501319,27.649837],[119.70889,27.514042],[119.843165,27.300464],[120.134504,27.420055],[120.343924,27.363199],[120.461568,27.142407],[120.130193,26.917976],[120.110483,26.692563],[119.711354,26.686681],[119.893672,26.355752],[119.604181,26.168985],[119.597405,25.334584],[119.26911,25.159746],[118.892155,25.092558],[118.864437,24.887518],[118.614366,24.521617],[118.512736,24.60816],[118.088354,24.408858],[118.019369,24.197232],[117.463791,23.584937],[117.192778,23.5619]]]},"properties":{"adcode":350000,"name":"福建省","center":[119.306239,26.075302],"cp":[118.306239,26.075302],"centroid":[118.006468,26.069925],"childrenNum":9,"level":"province","parent":{"adcode":100000},"subFeatureIndex":12,"acroutes":[100000]},"id":"350000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[118.193064,29.395472],[118.037847,29.102017],[118.270056,28.918836],[118.428352,28.681267],[118.433896,28.288335],[118.356288,28.091586],[117.856145,27.94577],[117.556182,27.966387],[117.103467,27.533149],[117.149662,27.241419],[117.05296,27.100327],[116.679085,26.978259],[116.515245,26.720898],[116.601476,26.372911],[116.412999,26.297822],[116.489375,26.113649],[116.17771,25.894195],[115.855574,25.20957],[115.89253,24.936911],[115.68927,24.545027],[115.412714,24.79302],[115.104744,24.667997],[114.534384,24.559181],[114.258443,24.641346],[114.714238,25.315651],[114.541159,25.416773],[114.115545,25.302125],[113.94493,25.441635],[113.913517,25.701299],[114.088444,26.168448],[114.10877,26.56952],[113.860546,26.664221],[113.927068,26.948922],[113.616635,27.345658],[113.607395,27.625449],[114.2529,28.319423],[114.08598,28.558337],[114.157429,28.761566],[113.94185,29.047097],[114.259059,29.343839],[114.519602,29.325578],[115.143548,29.645961],[115.355431,29.649602],[115.51188,29.840299],[115.965827,29.724469],[116.13521,29.819532],[116.280572,29.788893],[116.747454,30.057053],[116.882961,29.893753],[116.673541,29.709916],[116.680317,29.681323],[116.780715,29.569994],[117.382487,29.840818],[117.543248,29.588731],[118.143788,29.489803],[118.193064,29.395472]]]},"properties":{"adcode":360000,"name":"江西省","center":[115.892151,28.676493],"cp":[115.592151,27.676493],"centroid":[115.732975,27.636112],"childrenNum":11,"level":"province","parent":{"adcode":100000},"subFeatureIndex":13,"acroutes":[100000]},"id":"360000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[116.374195,34.640011],[116.196804,34.575977],[115.515575,34.582383],[115.42688,34.805285],[114.841738,35.15099],[115.091809,35.416259],[115.356047,35.490359],[115.513112,35.890385],[115.487858,35.880688],[115.483547,36.148865],[115.272895,36.497476],[115.479851,36.760187],[115.683727,36.808117],[115.975682,37.337179],[116.379738,37.522047],[116.38097,37.522522],[116.379738,37.522047],[116.38097,37.522522],[116.804736,37.848837],[117.438538,37.854035],[117.895565,38.301572],[118.018753,38.202409],[118.504729,38.11394],[118.811467,38.157717],[119.309146,37.805349],[119.236465,37.651988],[118.939582,37.527268],[119.054147,37.254816],[119.361501,37.125616],[119.740303,37.133727],[119.843781,37.376662],[120.144359,37.481691],[120.367945,37.697935],[120.733197,37.833714],[120.940769,37.819533],[121.17421,37.597479],[121.477252,37.475992],[121.923808,37.473142],[122.650616,37.388551],[122.484313,37.128956],[122.532356,36.901496],[122.344495,36.828239],[122.008808,36.96225],[121.161275,36.651273],[120.694393,36.390118],[120.64327,36.114547],[120.064287,35.873414],[119.868419,35.60868],[119.718129,35.615492],[119.590014,35.37284],[119.306066,35.076578],[118.86259,35.025626],[118.690127,34.678408],[118.424657,34.595193],[118.220165,34.405802],[118.114839,34.614404],[117.793935,34.651827],[117.592523,34.462566],[117.370785,34.584846],[117.15151,34.559222],[116.922381,34.894671],[116.445028,34.895652],[116.374195,34.640011]]]},"properties":{"adcode":370000,"name":"山东省","center":[117.000923,36.675807],"cp":[117.900923,36.075807],"centroid":[118.187759,36.376092],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":14,"acroutes":[100000]},"id":"370000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[112.716747,32.357612],[112.155626,32.377326],[111.713382,32.606497],[111.577875,32.593388],[111.045704,33.169849],[111.046936,33.202905],[110.984726,33.255469],[111.02661,33.467903],[111.02661,33.478386],[110.43962,34.243196],[110.379257,34.600612],[110.824582,34.615881],[111.933272,35.083435],[112.058924,35.280069],[112.772798,35.207732],[113.49899,35.532254],[113.694859,36.026991],[113.731199,36.363135],[114.408117,36.224699],[114.586739,36.141133],[115.12507,36.209731],[115.483547,36.148865],[115.487858,35.880688],[115.513112,35.890385],[115.356047,35.490359],[115.091809,35.416259],[114.841738,35.15099],[115.42688,34.805285],[115.515575,34.582383],[116.196804,34.575977],[116.162312,34.459605],[116.52818,34.122892],[116.64336,33.896675],[116.155536,33.709693],[115.95782,34.007875],[115.60735,34.030196],[115.601191,33.658898],[115.315395,33.431451],[115.303692,33.149809],[114.902716,33.129764],[114.943368,32.935094],[115.197135,32.856201],[115.20083,32.591876],[115.5088,32.468761],[115.509416,32.466741],[115.845719,32.501575],[115.941805,32.166318],[115.886371,31.776418],[115.495249,31.673083],[115.373909,31.405813],[115.12507,31.599201],[114.830035,31.45892],[114.443841,31.728074],[114.134024,31.843042],[113.854387,31.843042],[113.749061,32.272642],[113.768772,32.30148],[113.428773,32.270618],[113.211962,32.431895],[112.735841,32.356095],[112.716747,32.357612]]]},"properties":{"adcode":410000,"name":"河南省","center":[113.665412,34.757975],"cp":[113.665412,33.757975],"centroid":[113.619717,33.902648],"childrenNum":18,"level":"province","parent":{"adcode":100000},"subFeatureIndex":15,"acroutes":[100000]},"id":"410000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[111.045704,33.169849],[111.577875,32.593388],[111.713382,32.606497],[112.155626,32.377326],[112.716747,32.357612],[112.735841,32.356095],[113.211962,32.431895],[113.428773,32.270618],[113.768772,32.30148],[113.749061,32.272642],[113.854387,31.843042],[114.134024,31.843042],[114.443841,31.728074],[114.830035,31.45892],[115.12507,31.599201],[115.373909,31.405813],[115.585793,31.143926],[115.867277,31.147512],[116.071769,30.956787],[115.865429,30.864364],[115.762567,30.685426],[115.910393,30.519046],[115.903001,30.31364],[116.065609,30.204569],[116.13521,29.819532],[115.965827,29.724469],[115.51188,29.840299],[115.355431,29.649602],[115.143548,29.645961],[114.519602,29.325578],[114.259059,29.343839],[113.94185,29.047097],[113.690547,29.114566],[113.609859,29.25146],[113.73859,29.579363],[113.37765,29.703158],[113.145441,29.449163],[112.950188,29.473132],[112.923703,29.766557],[112.894138,29.783699],[112.693957,29.601741],[112.368741,29.541362],[111.75773,29.92021],[111.553854,29.894272],[111.242188,30.040476],[110.746973,30.112979],[110.497518,30.055499],[110.642879,29.775907],[110.372482,29.633477],[110.113788,29.789932],[109.779333,29.757725],[109.516326,29.626194],[109.232378,29.119271],[109.11227,29.361053],[108.927488,29.435612],[108.844337,29.658443],[108.516041,29.885451],[108.581947,30.255759],[108.42673,30.492233],[108.838793,30.503062],[109.106111,30.61077],[109.09256,30.578831],[109.103647,30.565949],[109.36111,30.551004],[109.894513,30.899803],[110.151976,30.911613],[110.161831,31.314338],[109.969658,31.508935],[109.585928,31.726546],[109.621652,32.106519],[109.495385,32.300468],[109.631507,32.599943],[110.153824,32.593388],[110.159367,32.767173],[109.794731,33.067095],[109.852013,33.247961],[110.702626,33.097182],[110.984726,33.255469],[111.046936,33.202905],[111.045704,33.169849]]],[[[109.106111,30.570587],[109.09872,30.579346],[109.101183,30.579346],[109.106111,30.570587]]]]},"properties":{"adcode":420000,"name":"湖北省","center":[114.298572,30.584355],"cp":[112.298572,31.004355],"centroid":[112.271301,30.987527],"childrenNum":17,"level":"province","parent":{"adcode":100000},"subFeatureIndex":16,"acroutes":[100000]},"id":"420000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[112.024431,24.740308],[111.708455,24.788673],[111.431282,24.687574],[111.470086,24.92877],[111.375231,25.128324],[111.101754,25.035095],[111.103602,25.285351],[111.279145,25.42326],[111.442369,25.77192],[111.189834,25.953402],[111.293311,26.222148],[111.208928,26.30426],[110.759292,26.248451],[110.612083,26.333764],[110.325671,25.975462],[110.065128,26.050221],[109.730057,25.989988],[109.48245,26.029788],[109.439334,26.238789],[109.285965,26.295676],[109.486761,26.759913],[109.52187,26.749226],[109.528645,26.743881],[109.522486,26.749226],[109.452885,26.861932],[109.415312,27.154123],[109.032814,27.104056],[108.907778,27.204699],[109.142451,27.418461],[109.451037,27.586204],[109.30198,27.956343],[109.367885,28.254602],[109.274262,28.494714],[109.2989,28.7474],[109.232378,29.119271],[109.516326,29.626194],[109.779333,29.757725],[110.113788,29.789932],[110.372482,29.633477],[110.642879,29.775907],[110.497518,30.055499],[110.746973,30.112979],[111.242188,30.040476],[111.553854,29.894272],[111.75773,29.92021],[112.368741,29.541362],[112.693957,29.601741],[112.894138,29.783699],[112.923703,29.766557],[112.950188,29.473132],[113.145441,29.449163],[113.37765,29.703158],[113.73859,29.579363],[113.609859,29.25146],[113.690547,29.114566],[113.94185,29.047097],[114.157429,28.761566],[114.08598,28.558337],[114.2529,28.319423],[113.607395,27.625449],[113.616635,27.345658],[113.927068,26.948922],[113.860546,26.664221],[114.10877,26.56952],[114.088444,26.168448],[113.913517,25.701299],[113.94493,25.441635],[113.814967,25.328634],[113.449715,25.359463],[113.248919,25.514031],[112.93479,25.325929],[112.994536,24.927142],[112.780805,24.896747],[112.660081,25.132658],[112.187039,25.182494],[112.167329,24.859828],[112.024431,24.740308]]],[[[109.528645,26.743881],[109.52187,26.749226],[109.522486,26.749226],[109.528645,26.743881]]]]},"properties":{"adcode":430000,"name":"湖南省","center":[112.982279,28.19409],"cp":[111.982279,27.69409],"centroid":[111.711649,27.629216],"childrenNum":14,"level":"province","parent":{"adcode":100000},"subFeatureIndex":17,"acroutes":[100000]},"id":"430000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[113.558736,22.212244],[113.554425,22.107489],[113.266781,21.871646],[113.091854,22.065344],[112.989608,21.869424],[112.792508,21.921067],[112.647146,21.758302],[111.794686,21.61149],[110.796248,21.37483],[110.626249,21.215915],[110.208642,21.050684],[110.184005,20.891979],[110.393424,20.816479],[110.550489,20.47262],[110.452554,20.311064],[110.118099,20.219553],[109.909296,20.236961],[109.655529,20.929435],[109.785492,21.45673],[109.94502,21.84443],[110.391576,21.89386],[110.35154,22.097508],[110.725415,22.29588],[110.749437,22.556991],[111.055559,22.648705],[111.358601,22.889301],[111.353058,23.284582],[111.487332,23.626615],[111.654868,23.833159],[111.8107,23.80688],[111.912946,24.221795],[112.057692,24.387057],[111.936968,24.595645],[112.024431,24.740308],[112.167329,24.859828],[112.187039,25.182494],[112.660081,25.132658],[112.780805,24.896747],[112.994536,24.927142],[112.93479,25.325929],[113.248919,25.514031],[113.449715,25.359463],[113.814967,25.328634],[113.94493,25.441635],[114.115545,25.302125],[114.541159,25.416773],[114.714238,25.315651],[114.258443,24.641346],[114.534384,24.559181],[115.104744,24.667997],[115.412714,24.79302],[115.68927,24.545027],[115.89253,24.936911],[116.345862,24.828872],[116.530027,24.604895],[116.667382,24.658752],[116.903903,24.369614],[116.930388,24.064514],[117.055424,23.694038],[117.192778,23.5619],[116.92854,23.530079],[116.74499,23.215299],[116.566368,23.134424],[116.50539,22.930645],[116.302746,22.951588],[116.104413,22.816505],[115.883291,22.78561],[115.654162,22.865591],[115.565467,22.684048],[115.076411,22.788368],[114.866375,22.591805],[114.749963,22.764089],[114.232574,22.539857],[114.031778,22.503923],[113.740438,22.534329],[113.558736,22.212244]]]},"properties":{"adcode":440000,"name":"广东省","center":[113.280637,23.125178],"cp":[113.266531,23.532191],"centroid":[113.429919,23.334643],"childrenNum":21,"level":"province","parent":{"adcode":100000},"subFeatureIndex":18,"acroutes":[100000]},"id":"440000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[109.48245,26.029788],[109.730057,25.989988],[110.065128,26.050221],[110.325671,25.975462],[110.612083,26.333764],[110.759292,26.248451],[111.208928,26.30426],[111.293311,26.222148],[111.189834,25.953402],[111.442369,25.77192],[111.279145,25.42326],[111.103602,25.285351],[111.101754,25.035095],[111.375231,25.128324],[111.470086,24.92877],[111.431282,24.687574],[111.708455,24.788673],[112.024431,24.740308],[111.936968,24.595645],[112.057692,24.387057],[111.912946,24.221795],[111.8107,23.80688],[111.654868,23.833159],[111.487332,23.626615],[111.353058,23.284582],[111.358601,22.889301],[111.055559,22.648705],[110.749437,22.556991],[110.725415,22.29588],[110.35154,22.097508],[110.391576,21.89386],[109.94502,21.84443],[109.785492,21.45673],[109.138756,21.388762],[109.138756,21.567528],[108.591802,21.677129],[108.397781,21.533017],[108.205608,21.597579],[107.958,21.534131],[107.863761,21.650988],[107.363619,21.602031],[106.999598,21.947714],[106.706411,22.021521],[106.663296,22.33076],[106.560434,22.455813],[106.820976,22.768504],[106.606013,22.925684],[106.366413,22.857871],[106.206885,22.978588],[105.893987,22.936707],[105.542902,23.184495],[105.815763,23.507031],[105.999929,23.447748],[106.192102,23.824947],[106.04982,24.089649],[105.919241,24.122425],[105.493011,24.016965],[105.20044,24.105491],[105.106817,24.414853],[104.575877,24.424661],[104.529682,24.731611],[104.703377,24.645698],[105.03352,24.787586],[105.077868,24.918459],[105.09573,24.92877],[105.428337,24.930941],[105.497322,24.809318],[106.047356,24.684312],[106.191486,24.95319],[106.442173,25.019369],[106.691013,25.179245],[107.013765,25.275611],[107.064272,25.559391],[107.263836,25.543193],[107.512676,25.209029],[107.632168,25.310241],[107.839124,25.115861],[108.115065,25.210112],[108.162492,25.444878],[108.68604,25.587462],[108.949046,25.557231],[109.07901,25.72071],[109.296436,25.71424],[109.48245,26.029788]]]},"properties":{"adcode":450000,"name":"广西壮族自治区","center":[108.320004,22.82402],"cp":[109.020004,23.32402],"centroid":[108.7944,23.833381],"childrenNum":14,"level":"province","parent":{"adcode":100000},"subFeatureIndex":19,"acroutes":[100000]},"id":"450000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[106.37442,28.525742],[106.173008,28.920407],[105.762176,28.9911],[105.695039,29.287482],[105.459134,29.288526],[105.296526,29.571035],[105.707974,29.840818],[105.753553,30.018196],[105.582938,30.12385],[105.574315,30.130579],[105.550909,30.179222],[105.56138,30.183878],[105.792357,30.427234],[106.031958,30.373551],[106.260471,30.19681],[106.264167,30.20974],[106.612173,30.235596],[106.611557,30.235596],[106.612173,30.235596],[106.611557,30.235596],[106.732281,30.027005],[106.976193,30.083467],[106.981736,30.08502],[107.053801,30.043584],[107.058113,30.043066],[107.516987,30.644759],[107.515756,30.854603],[107.956152,30.882855],[108.185898,31.336831],[108.519121,31.665952],[108.343578,31.860834],[108.370063,32.172397],[108.509882,32.201266],[109.27611,31.79931],[109.585928,31.726546],[109.969658,31.508935],[110.161831,31.314338],[110.151976,30.911613],[109.894513,30.899803],[109.36111,30.551004],[109.103647,30.565949],[109.106111,30.570587],[109.101183,30.579346],[109.106111,30.61077],[108.838793,30.503062],[108.42673,30.492233],[108.581947,30.255759],[108.516041,29.885451],[108.844337,29.658443],[108.927488,29.435612],[109.11227,29.361053],[109.232378,29.119271],[109.2989,28.7474],[109.274262,28.494714],[109.005713,28.162837],[108.761801,28.304143],[108.780279,28.42579],[108.439049,28.634003],[108.297999,29.045527],[107.401807,29.184603],[107.383945,28.848618],[107.219489,28.772582],[107.016229,28.882685],[106.866556,28.624548],[106.37442,28.525742]]],[[[109.101183,30.579346],[109.09872,30.579346],[109.09256,30.578831],[109.106111,30.61077],[109.101183,30.579346]]],[[[109.09872,30.579346],[109.106111,30.570587],[109.103647,30.565949],[109.09256,30.578831],[109.09872,30.579346]]]]},"properties":{"adcode":500000,"name":"重庆市","center":[106.504962,29.533155],"cp":[107.804962,29.533155],"centroid":[107.8839,30.067297],"childrenNum":38,"level":"province","parent":{"adcode":100000},"subFeatureIndex":21,"acroutes":[100000]},"id":"500000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[99.113727,29.221171],[98.992387,29.677163],[99.068148,29.931621],[98.989308,30.151799],[98.907388,30.698292],[98.806374,30.995783],[98.602498,31.192062],[98.887062,31.37465],[98.414636,31.832365],[98.434962,32.007613],[98.218768,32.342444],[97.730944,32.527312],[97.48272,32.654377],[97.375547,32.956689],[97.487648,33.168346],[97.754349,33.409972],[97.552321,33.465906],[97.395257,33.889224],[97.660111,33.956264],[97.8104,34.207568],[98.399854,34.085231],[98.407245,33.867362],[98.742316,33.477887],[98.858728,33.150811],[99.196263,33.035493],[99.589233,32.789312],[99.760464,32.769689],[99.877492,32.993339],[100.139266,32.724388],[100.399193,32.756101],[100.54517,32.569687],[100.93198,32.600447],[101.22332,32.725898],[101.124153,32.909976],[101.182668,33.26948],[101.487557,33.226938],[101.769042,33.538765],[101.946432,33.442937],[102.054838,33.189884],[102.461358,33.501345],[102.226069,33.963214],[102.392372,33.971651],[102.911609,34.312923],[103.124108,34.162022],[103.153673,33.819147],[103.778236,33.658898],[104.046169,33.686291],[104.272219,33.391486],[104.378161,33.109214],[104.294393,32.835586],[104.881999,32.600951],[105.111128,32.593893],[105.448663,32.732946],[105.49917,32.911986],[105.596489,32.69921],[106.044277,32.864747],[106.07261,32.76365],[106.071378,32.758114],[106.451412,32.65992],[106.733513,32.739491],[107.012533,32.721367],[107.263836,32.403099],[107.680827,32.397035],[107.864377,32.201266],[108.509882,32.201266],[108.370063,32.172397],[108.343578,31.860834],[108.519121,31.665952],[108.185898,31.336831],[107.956152,30.882855],[107.515756,30.854603],[107.516987,30.644759],[107.058113,30.043066],[107.053801,30.043584],[106.981736,30.08502],[106.976193,30.083467],[106.732281,30.027005],[106.611557,30.235596],[106.612173,30.235596],[106.611557,30.235596],[106.612173,30.235596],[106.264167,30.20974],[106.260471,30.19681],[106.031958,30.373551],[105.792357,30.427234],[105.56138,30.183878],[105.550909,30.179222],[105.574315,30.130579],[105.582938,30.12385],[105.753553,30.018196],[105.707974,29.840818],[105.296526,29.571035],[105.459134,29.288526],[105.695039,29.287482],[105.762176,28.9911],[106.173008,28.920407],[106.37442,28.525742],[106.030726,28.694917],[105.62359,28.517854],[105.975907,28.107952],[106.266631,28.066769],[106.337464,27.859033],[105.62359,27.666269],[105.308229,27.704955],[105.168411,28.071522],[104.842579,27.900294],[104.573413,27.840512],[104.362762,28.012891],[104.462544,28.241422],[104.314103,28.306778],[104.170589,28.642932],[103.833054,28.605109],[103.877402,28.316262],[103.470266,28.122204],[103.487512,27.794992],[103.144434,27.450331],[102.883276,27.258444],[102.870957,27.026782],[103.052659,26.514374],[102.998457,26.371839],[102.60056,26.250598],[102.245163,26.212483],[102.107808,26.068501],[101.899621,26.099139],[101.506652,26.499915],[101.399478,26.841642],[101.136472,27.023584],[101.167885,27.198311],[100.782307,27.691708],[100.30865,27.861149],[100.088759,28.029269],[100.153433,28.208202],[99.91876,28.599329],[99.676696,28.810345],[99.463581,28.549401],[99.374886,28.18183],[99.16485,28.425264],[99.103872,28.841803],[99.113727,29.221171]]]},"properties":{"adcode":510000,"name":"四川省","center":[104.065735,30.659462],"cp":[104.065735,30.659462],"centroid":[102.693453,30.674545],"childrenNum":21,"level":"province","parent":{"adcode":100000},"subFeatureIndex":22,"acroutes":[100000]},"id":"510000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[109.274262,28.494714],[109.367885,28.254602],[109.30198,27.956343],[109.451037,27.586204],[109.142451,27.418461],[108.907778,27.204699],[109.032814,27.104056],[109.415312,27.154123],[109.452885,26.861932],[109.486761,26.759913],[109.285965,26.295676],[109.439334,26.238789],[109.48245,26.029788],[109.296436,25.71424],[109.07901,25.72071],[108.949046,25.557231],[108.68604,25.587462],[108.162492,25.444878],[108.115065,25.210112],[107.839124,25.115861],[107.632168,25.310241],[107.512676,25.209029],[107.263836,25.543193],[107.064272,25.559391],[107.013765,25.275611],[106.691013,25.179245],[106.442173,25.019369],[106.191486,24.95319],[106.047356,24.684312],[105.497322,24.809318],[105.428337,24.930941],[105.09573,24.92877],[105.077868,24.918459],[105.03352,24.787586],[104.703377,24.645698],[104.529682,24.731611],[104.713232,24.996048],[104.639935,25.295632],[104.332581,25.598796],[104.665804,26.434019],[104.556783,26.590393],[104.121314,26.638012],[104.067727,26.51491],[103.763453,26.585041],[103.779468,26.87421],[103.696316,27.126429],[103.956242,27.425367],[104.173053,27.263232],[104.363378,27.467855],[104.611602,27.306846],[105.184425,27.392959],[105.308229,27.704955],[105.62359,27.666269],[106.337464,27.859033],[106.266631,28.066769],[105.975907,28.107952],[105.62359,28.517854],[106.030726,28.694917],[106.37442,28.525742],[106.866556,28.624548],[107.016229,28.882685],[107.219489,28.772582],[107.383945,28.848618],[107.401807,29.184603],[108.297999,29.045527],[108.439049,28.634003],[108.780279,28.42579],[108.761801,28.304143],[109.005713,28.162837],[109.274262,28.494714]]],[[[109.452885,26.861932],[109.522486,26.749226],[109.52187,26.749226],[109.486761,26.759913],[109.452885,26.861932]]]]},"properties":{"adcode":520000,"name":"贵州省","center":[106.713478,26.578343],"cp":[106.713478,26.578343],"centroid":[106.880455,26.826368],"childrenNum":9,"level":"province","parent":{"adcode":100000},"subFeatureIndex":23,"acroutes":[100000]},"id":"520000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[105.308229,27.704955],[105.184425,27.392959],[104.611602,27.306846],[104.363378,27.467855],[104.173053,27.263232],[103.956242,27.425367],[103.696316,27.126429],[103.779468,26.87421],[103.763453,26.585041],[104.067727,26.51491],[104.121314,26.638012],[104.556783,26.590393],[104.665804,26.434019],[104.332581,25.598796],[104.639935,25.295632],[104.713232,24.996048],[104.529682,24.731611],[104.575877,24.424661],[105.106817,24.414853],[105.20044,24.105491],[105.493011,24.016965],[105.919241,24.122425],[106.04982,24.089649],[106.192102,23.824947],[105.999929,23.447748],[105.815763,23.507031],[105.542902,23.184495],[105.325475,23.390086],[104.804391,23.110207],[104.860441,22.970874],[104.375697,22.690122],[104.117618,22.808781],[103.964865,22.502265],[103.642113,22.794989],[103.321209,22.777885],[103.030485,22.441432],[102.880196,22.586832],[102.510633,22.774574],[102.25625,22.457473],[101.672339,22.47517],[101.547304,22.238282],[101.771506,21.833319],[101.76473,21.147835],[101.532521,21.252174],[101.290457,21.17853],[101.183899,21.334699],[101.209153,21.55751],[101.089661,21.773865],[100.579047,21.451717],[100.235353,21.466756],[100.169447,21.663225],[99.991441,21.703821],[99.972347,22.053141],[99.486987,22.128557],[99.219669,22.110816],[99.382277,22.493418],[99.326842,22.751396],[99.563363,22.925684],[99.528255,23.065614],[99.106336,23.086536],[98.889525,23.209249],[98.882134,23.595358],[98.68565,23.90157],[98.876591,24.15137],[98.219999,24.113685],[97.902175,24.014231],[97.554785,24.490577],[97.569567,24.765852],[97.716777,24.978147],[98.137464,25.381633],[98.247717,25.607971],[98.402317,25.593939],[98.614201,25.968468],[98.575396,26.118485],[98.733693,26.350926],[98.781736,26.620893],[98.696121,27.211086],[98.706591,27.553313],[98.234166,27.690648],[98.139311,28.142259],[98.428803,28.104785],[98.712135,28.229296],[98.740468,28.348395],[98.594491,28.667615],[98.6567,28.910454],[99.013329,29.036632],[99.113727,29.221171],[99.103872,28.841803],[99.16485,28.425264],[99.374886,28.18183],[99.463581,28.549401],[99.676696,28.810345],[99.91876,28.599329],[100.153433,28.208202],[100.088759,28.029269],[100.30865,27.861149],[100.782307,27.691708],[101.167885,27.198311],[101.136472,27.023584],[101.399478,26.841642],[101.506652,26.499915],[101.899621,26.099139],[102.107808,26.068501],[102.245163,26.212483],[102.60056,26.250598],[102.998457,26.371839],[103.052659,26.514374],[102.870957,27.026782],[102.883276,27.258444],[103.144434,27.450331],[103.487512,27.794992],[103.470266,28.122204],[103.877402,28.316262],[103.833054,28.605109],[104.170589,28.642932],[104.314103,28.306778],[104.462544,28.241422],[104.362762,28.012891],[104.573413,27.840512],[104.842579,27.900294],[105.168411,28.071522],[105.308229,27.704955]]]},"properties":{"adcode":530000,"name":"云南省","center":[102.712251,25.040609],"cp":[101.712251,24.040609],"centroid":[101.485106,25.008643],"childrenNum":16,"level":"province","parent":{"adcode":100000},"subFeatureIndex":24,"acroutes":[100000]},"id":"530000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[89.711414,36.093272],[89.654747,35.848193],[89.765616,35.599922],[89.685544,35.416259],[89.497067,35.361128],[89.578987,34.895162],[89.821051,34.902033],[89.86663,34.324785],[89.688008,33.959739],[90.008296,33.687785],[90.107463,33.460913],[90.704308,33.135778],[91.226624,33.141792],[92.355641,32.764657],[93.239514,32.662439],[93.516687,32.47583],[93.651577,32.571705],[93.861613,32.466237],[94.176974,32.454117],[94.638312,32.645307],[94.912405,32.41573],[95.239469,32.287315],[95.454432,32.061898],[95.456896,31.801853],[95.779648,31.748941],[95.89914,31.81711],[96.148595,31.686324],[96.220044,31.905553],[96.389428,31.919777],[96.56805,31.711783],[96.778701,31.675629],[96.742977,32.001016],[97.214786,32.042623],[97.388481,32.501575],[97.730944,32.527312],[98.218768,32.342444],[98.434962,32.007613],[98.414636,31.832365],[98.887062,31.37465],[98.602498,31.192062],[98.806374,30.995783],[98.907388,30.698292],[98.989308,30.151799],[99.068148,29.931621],[98.992387,29.677163],[99.113727,29.221171],[99.013329,29.036632],[98.6567,28.910454],[98.594491,28.667615],[98.740468,28.348395],[98.712135,28.229296],[98.428803,28.104785],[98.139311,28.142259],[97.68598,28.519958],[97.569567,28.541515],[97.402032,28.279903],[97.253591,27.891832],[97.103301,27.780697],[96.849534,27.874375],[96.275479,28.228241],[95.989067,28.198181],[95.874502,28.29782],[95.371896,28.110063],[95.28628,27.939955],[94.524979,27.596282],[94.277372,27.58143],[93.849294,27.168499],[93.841903,27.045973],[93.56781,26.938252],[93.111399,26.880082],[92.682089,26.947855],[92.109265,26.854991],[92.032273,27.167967],[92.125896,27.273339],[92.010715,27.474758],[91.585101,27.540578],[91.611586,27.891303],[91.309776,28.057791],[91.025828,27.857445],[90.802242,28.040362],[90.384019,28.06096],[89.789638,28.240895],[89.605472,28.161782],[89.238988,27.796581],[88.984605,27.208957],[88.770874,27.563924],[88.888519,27.846863],[88.764099,28.068353],[87.727473,27.802933],[87.227946,27.812991],[86.700086,28.101617],[86.450015,27.908757],[85.901213,28.053566],[85.854402,28.172334],[85.520563,28.326798],[85.272339,28.282538],[85.108499,28.461047],[84.483321,28.735331],[84.116837,29.286438],[83.911729,29.323491],[83.656114,29.16736],[83.463941,29.285916],[83.217565,29.60018],[82.830756,29.687562],[82.703872,29.847566],[82.246845,30.071555],[81.99123,30.322939],[81.63029,30.446842],[81.225618,30.005759],[81.034677,30.246971],[80.633084,30.458707],[80.143412,30.55822],[79.75845,30.936769],[79.505915,31.027584],[79.010084,31.043994],[78.795121,31.301043],[78.763092,31.668499],[78.395377,32.530339],[78.6861,32.680071],[78.970664,32.331826],[79.308199,32.596918],[79.162221,33.165841],[78.84994,33.419963],[78.692259,33.676331],[78.736607,33.999937],[79.039649,34.33467],[79.241677,34.415183],[79.801566,34.478847],[80.031311,35.034447],[80.23026,35.147565],[80.321419,35.38699],[81.026053,35.31133],[81.441196,35.333303],[81.513261,35.23511],[81.927789,35.271275],[82.034346,35.451855],[82.328149,35.559523],[82.424852,35.712736],[82.967494,35.667532],[83.127022,35.398699],[83.54155,35.341603],[84.333032,35.413821],[84.448828,35.550272],[85.271107,35.788989],[85.373969,35.700101],[85.949256,35.778794],[86.187625,36.130983],[86.392733,36.206834],[87.149106,36.297565],[87.386859,36.412757],[87.570409,36.342409],[88.470912,36.48208],[88.623665,36.389636],[89.711414,36.093272]]]},"properties":{"adcode":540000,"name":"西藏自治区","center":[91.132212,29.660361],"cp":[88.132212,31.660361],"centroid":[88.388277,31.56375],"childrenNum":7,"level":"province","parent":{"adcode":100000},"subFeatureIndex":25,"acroutes":[100000]},"id":"540000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[110.379257,34.600612],[110.43962,34.243196],[111.02661,33.478386],[111.02661,33.467903],[110.984726,33.255469],[110.702626,33.097182],[109.852013,33.247961],[109.794731,33.067095],[110.159367,32.767173],[110.153824,32.593388],[109.631507,32.599943],[109.495385,32.300468],[109.621652,32.106519],[109.585928,31.726546],[109.27611,31.79931],[108.509882,32.201266],[107.864377,32.201266],[107.680827,32.397035],[107.263836,32.403099],[107.012533,32.721367],[106.733513,32.739491],[106.451412,32.65992],[106.071378,32.758114],[106.07261,32.76365],[106.044277,32.864747],[105.596489,32.69921],[105.49917,32.911986],[105.917393,32.993841],[105.965436,33.204407],[105.752937,33.291994],[105.971596,33.613058],[106.58076,33.576169],[106.491448,33.834559],[106.501919,34.105055],[106.717498,34.369255],[106.314058,34.578934],[106.575216,34.769897],[106.541956,35.083925],[106.901664,35.094698],[107.286626,34.931968],[107.741805,34.953553],[107.667277,35.257104],[108.48894,35.275184],[108.614591,35.328909],[108.499411,35.872444],[108.712526,36.138716],[108.618903,36.433946],[108.060862,36.592194],[107.907493,36.750118],[107.478183,36.908196],[107.268764,37.099367],[107.257677,37.337179],[107.499125,37.765619],[107.65003,37.86443],[107.982022,37.787378],[108.012819,37.66857],[108.628142,37.651988],[108.791982,37.700303],[108.798141,37.93385],[109.018648,37.971602],[108.938575,38.207582],[109.054372,38.433892],[109.665384,38.981687],[109.961035,39.191651],[110.385417,39.310291],[110.626249,39.266751],[110.869545,39.494341],[111.125776,39.366297],[111.247732,39.302419],[110.880632,38.626776],[110.874473,38.453579],[110.57759,38.297345],[110.522771,37.955088],[110.735886,37.77035],[110.795017,37.558586],[110.651503,37.256722],[110.460561,37.044932],[110.407591,36.776007],[110.503677,36.488335],[110.447011,36.164328],[110.609619,35.632031],[110.230816,34.880925],[110.379257,34.600612]]]},"properties":{"adcode":610000,"name":"陕西省","center":[108.948024,34.263161],"cp":[108.948024,34.263161],"centroid":[108.887114,35.263661],"childrenNum":10,"level":"province","parent":{"adcode":100000},"subFeatureIndex":26,"acroutes":[100000]},"id":"610000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[106.506231,35.737514],[106.750759,35.689408],[106.927534,35.810346],[106.957715,36.091337],[106.559202,36.292259],[106.465579,36.583063],[106.627571,36.752995],[106.666991,37.016745],[107.181916,37.143269],[107.268764,37.099367],[107.478183,36.908196],[107.907493,36.750118],[108.060862,36.592194],[108.618903,36.433946],[108.712526,36.138716],[108.499411,35.872444],[108.614591,35.328909],[108.48894,35.275184],[107.667277,35.257104],[107.741805,34.953553],[107.286626,34.931968],[106.901664,35.094698],[106.541956,35.083925],[106.575216,34.769897],[106.314058,34.578934],[106.717498,34.369255],[106.501919,34.105055],[106.491448,33.834559],[106.58076,33.576169],[105.971596,33.613058],[105.752937,33.291994],[105.965436,33.204407],[105.917393,32.993841],[105.49917,32.911986],[105.448663,32.732946],[105.111128,32.593893],[104.881999,32.600951],[104.294393,32.835586],[104.378161,33.109214],[104.272219,33.391486],[104.046169,33.686291],[103.778236,33.658898],[103.153673,33.819147],[103.124108,34.162022],[102.911609,34.312923],[102.392372,33.971651],[102.226069,33.963214],[102.461358,33.501345],[102.054838,33.189884],[101.946432,33.442937],[101.769042,33.538765],[101.58426,33.674339],[101.177124,33.685295],[100.806329,34.155584],[100.895024,34.375183],[101.955055,34.109514],[102.205743,34.407777],[101.919947,34.621791],[101.916867,34.873561],[102.29567,35.071681],[102.3123,35.282512],[102.686175,35.771996],[102.914073,35.845282],[103.024942,36.256556],[102.836465,36.344819],[102.829689,36.365544],[102.692335,36.775528],[102.450271,36.968467],[102.599944,37.174748],[102.19712,37.420403],[101.946432,37.728235],[101.598427,37.827569],[101.362522,37.791162],[100.964009,38.011221],[100.913502,38.17889],[100.459555,38.2654],[100.182998,38.222158],[99.65945,38.449361],[99.361951,38.718354],[98.743548,39.086747],[98.584635,38.93003],[98.280977,39.027263],[98.009348,38.85923],[97.347213,39.167528],[96.962251,39.198144],[96.940693,38.90768],[97.055874,38.594508],[96.847071,38.599186],[96.626564,38.356031],[96.264392,38.145952],[96.06606,38.173245],[95.671858,38.388405],[95.259179,38.302981],[95.122441,38.417014],[94.527443,38.365416],[94.370379,38.7627],[93.885018,38.720689],[93.729186,38.924443],[93.274007,38.896036],[93.198246,39.045857],[92.938936,39.169848],[92.41046,39.03842],[92.339011,39.236628],[92.639589,39.514196],[92.928465,40.572504],[93.760599,40.664721],[93.809874,40.879548],[94.184365,41.268444],[94.534219,41.505966],[95.135991,41.772976],[95.247476,41.61344],[95.57146,41.796181],[96.117183,41.985966],[96.178161,42.21775],[96.02356,42.542675],[96.386348,42.727592],[97.172903,42.795257],[97.84674,41.656379],[97.613915,41.477276],[97.971776,41.09774],[98.333332,40.918903],[98.344419,40.568413],[99.174705,40.858278],[99.565827,40.846961],[99.673,40.93292],[100.057346,40.908049],[100.237201,40.716905],[100.169447,40.277743],[99.822058,39.860063],[100.250135,39.685274],[100.498975,39.400527],[100.842053,39.405614],[100.835278,39.025869],[101.198682,38.943064],[101.331109,38.777164],[101.777049,38.66043],[102.075164,38.891378],[101.833715,39.08907],[102.45335,39.255167],[103.007696,39.099753],[103.344615,39.331588],[103.85338,39.461543],[104.207546,39.083495],[103.85954,38.64454],[103.416063,38.404821],[103.53494,38.156776],[103.368636,38.08898],[103.40744,37.860651],[103.683381,37.777919],[104.183524,37.406618],[104.287002,37.428007],[104.679971,37.408044],[104.95468,37.040156],[105.165331,36.99476],[105.334714,36.80093],[105.22015,36.631105],[105.398156,36.430575],[105.515185,36.147415],[105.324859,35.941761],[105.481924,35.727312],[105.667322,35.749657],[105.868734,35.540046],[106.047356,35.498155],[106.048588,35.488898],[106.054132,35.45478],[106.071994,35.463555],[106.06953,35.458193],[106.071378,35.449418],[106.073226,35.447468],[106.083081,35.421624],[106.319601,35.265411],[106.472354,35.310842],[106.49268,35.732656],[106.506231,35.737514]]],[[[106.047356,35.498155],[106.071994,35.463555],[106.054132,35.45478],[106.048588,35.488898],[106.047356,35.498155]]]]},"properties":{"adcode":620000,"name":"甘肃省","center":[103.823557,36.058039],"cp":[99.823557,38.958039],"childrenNum":14,"level":"province","parent":{"adcode":100000},"subFeatureIndex":27,"acroutes":[100000]},"id":"620000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[102.829689,36.365544],[102.836465,36.344819],[103.024942,36.256556],[102.914073,35.845282],[102.686175,35.771996],[102.3123,35.282512],[102.29567,35.071681],[101.916867,34.873561],[101.919947,34.621791],[102.205743,34.407777],[101.955055,34.109514],[100.895024,34.375183],[100.806329,34.155584],[101.177124,33.685295],[101.58426,33.674339],[101.769042,33.538765],[101.487557,33.226938],[101.182668,33.26948],[101.124153,32.909976],[101.22332,32.725898],[100.93198,32.600447],[100.54517,32.569687],[100.399193,32.756101],[100.139266,32.724388],[99.877492,32.993339],[99.760464,32.769689],[99.589233,32.789312],[99.196263,33.035493],[98.858728,33.150811],[98.742316,33.477887],[98.407245,33.867362],[98.399854,34.085231],[97.8104,34.207568],[97.660111,33.956264],[97.395257,33.889224],[97.552321,33.465906],[97.754349,33.409972],[97.487648,33.168346],[97.375547,32.956689],[97.48272,32.654377],[97.730944,32.527312],[97.388481,32.501575],[97.214786,32.042623],[96.742977,32.001016],[96.778701,31.675629],[96.56805,31.711783],[96.389428,31.919777],[96.220044,31.905553],[96.148595,31.686324],[95.89914,31.81711],[95.779648,31.748941],[95.456896,31.801853],[95.454432,32.061898],[95.239469,32.287315],[94.912405,32.41573],[94.638312,32.645307],[94.176974,32.454117],[93.861613,32.466237],[93.651577,32.571705],[93.516687,32.47583],[93.239514,32.662439],[92.355641,32.764657],[91.226624,33.141792],[90.704308,33.135778],[90.107463,33.460913],[90.008296,33.687785],[89.688008,33.959739],[89.86663,34.324785],[89.821051,34.902033],[89.578987,34.895162],[89.497067,35.361128],[89.685544,35.416259],[89.765616,35.599922],[89.654747,35.848193],[89.711414,36.093272],[89.914058,36.079246],[90.028006,36.258486],[90.23681,36.160462],[90.659344,36.13485],[90.850285,36.016827],[91.124994,36.115514],[91.035683,36.529703],[90.741264,36.585947],[90.732025,36.825844],[91.181045,37.025345],[91.099741,37.447965],[90.519526,37.730601],[90.531229,38.319886],[90.280542,38.238142],[90.130868,38.494341],[90.427135,38.493873],[90.645794,38.635191],[91.298689,38.746365],[92.41046,39.03842],[92.938936,39.169848],[93.198246,39.045857],[93.274007,38.896036],[93.729186,38.924443],[93.885018,38.720689],[94.370379,38.7627],[94.527443,38.365416],[95.122441,38.417014],[95.259179,38.302981],[95.671858,38.388405],[96.06606,38.173245],[96.264392,38.145952],[96.626564,38.356031],[96.847071,38.599186],[97.055874,38.594508],[96.940693,38.90768],[96.962251,39.198144],[97.347213,39.167528],[98.009348,38.85923],[98.280977,39.027263],[98.584635,38.93003],[98.743548,39.086747],[99.361951,38.718354],[99.65945,38.449361],[100.182998,38.222158],[100.459555,38.2654],[100.913502,38.17889],[100.964009,38.011221],[101.362522,37.791162],[101.598427,37.827569],[101.946432,37.728235],[102.19712,37.420403],[102.599944,37.174748],[102.450271,36.968467],[102.692335,36.775528],[102.829689,36.365544]]]},"properties":{"adcode":630000,"name":"青海省","center":[101.778916,36.623178],"cp":[96.778916,36.123178],"centroid":[96.043533,35.726403],"childrenNum":8,"level":"province","parent":{"adcode":100000},"subFeatureIndex":28,"acroutes":[100000]},"id":"630000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[107.268764,37.099367],[107.181916,37.143269],[106.666991,37.016745],[106.627571,36.752995],[106.465579,36.583063],[106.559202,36.292259],[106.957715,36.091337],[106.927534,35.810346],[106.750759,35.689408],[106.506231,35.737514],[106.49268,35.732656],[106.472354,35.310842],[106.319601,35.265411],[106.083081,35.421624],[106.073226,35.447468],[106.071378,35.449418],[106.06953,35.458193],[106.071994,35.463555],[106.047356,35.498155],[105.868734,35.540046],[105.667322,35.749657],[105.481924,35.727312],[105.324859,35.941761],[105.515185,36.147415],[105.398156,36.430575],[105.22015,36.631105],[105.334714,36.80093],[105.165331,36.99476],[104.95468,37.040156],[104.679971,37.408044],[104.287002,37.428007],[104.433595,37.515402],[105.027977,37.580881],[105.315004,37.702197],[105.598952,37.699356],[105.840401,38.004147],[105.775111,38.186887],[105.909386,38.791159],[106.145907,39.153142],[106.751375,39.381564],[106.954019,38.941202],[106.709491,38.718821],[106.647897,38.470917],[106.482209,38.319417],[106.779092,38.171833],[107.138801,38.161011],[107.411662,37.948009],[107.65003,37.86443],[107.499125,37.765619],[107.257677,37.337179],[107.268764,37.099367]]]},"properties":{"adcode":640000,"name":"宁夏回族自治区","center":[106.278179,38.46637],"cp":[106.278179,37.46637],"centroid":[106.169866,37.291332],"childrenNum":5,"level":"province","parent":{"adcode":100000},"subFeatureIndex":29,"acroutes":[100000]},"id":"640000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[96.386348,42.727592],[96.02356,42.542675],[96.178161,42.21775],[96.117183,41.985966],[95.57146,41.796181],[95.247476,41.61344],[95.135991,41.772976],[94.534219,41.505966],[94.184365,41.268444],[93.809874,40.879548],[93.760599,40.664721],[92.928465,40.572504],[92.639589,39.514196],[92.339011,39.236628],[92.41046,39.03842],[91.298689,38.746365],[90.645794,38.635191],[90.427135,38.493873],[90.130868,38.494341],[90.280542,38.238142],[90.531229,38.319886],[90.519526,37.730601],[91.099741,37.447965],[91.181045,37.025345],[90.732025,36.825844],[90.741264,36.585947],[91.035683,36.529703],[91.124994,36.115514],[90.850285,36.016827],[90.659344,36.13485],[90.23681,36.160462],[90.028006,36.258486],[89.914058,36.079246],[89.711414,36.093272],[88.623665,36.389636],[88.470912,36.48208],[87.570409,36.342409],[87.386859,36.412757],[87.149106,36.297565],[86.392733,36.206834],[86.187625,36.130983],[85.949256,35.778794],[85.373969,35.700101],[85.271107,35.788989],[84.448828,35.550272],[84.333032,35.413821],[83.54155,35.341603],[83.127022,35.398699],[82.967494,35.667532],[82.424852,35.712736],[82.328149,35.559523],[82.034346,35.451855],[81.927789,35.271275],[81.513261,35.23511],[81.441196,35.333303],[81.026053,35.31133],[80.321419,35.38699],[80.23026,35.147565],[80.031311,35.034447],[79.801566,34.478847],[79.241677,34.415183],[79.039649,34.33467],[78.708274,34.522249],[78.280812,34.623269],[78.237696,34.882398],[78.062769,35.114772],[78.013494,35.366008],[77.816394,35.518616],[77.396939,35.467942],[76.769297,35.653917],[76.593754,35.771996],[76.160133,35.82442],[75.947018,36.590752],[75.724048,36.750597],[75.425933,36.778883],[75.413614,36.954599],[74.56793,37.032512],[74.511263,37.240048],[74.816153,37.216699],[75.125971,37.322427],[75.006478,37.770823],[74.821697,38.10311],[74.862965,38.484035],[74.639995,38.599653],[74.147859,38.676785],[73.809092,38.634256],[73.743187,39.029588],[73.554094,39.350102],[73.953838,39.600018],[73.845433,39.831115],[74.023439,40.085251],[74.356662,40.089371],[74.673255,40.278656],[74.819233,40.505647],[75.242383,40.448743],[75.550353,40.64883],[75.890351,40.30924],[75.986438,40.381763],[76.508754,40.429613],[76.657196,40.620218],[76.761905,40.954167],[77.002122,41.073381],[77.169041,41.009285],[77.780669,41.022832],[78.129291,41.228398],[78.163783,41.383497],[78.454507,41.412228],[79.326061,41.809565],[79.776313,41.89248],[80.28631,42.233261],[80.163738,42.629919],[80.378701,43.031502],[80.804315,43.178314],[80.75504,43.494329],[80.522215,43.816473],[80.3941,44.127009],[80.411962,44.605321],[79.887798,44.90917],[80.144644,45.059017],[80.404571,45.049293],[80.731634,45.156164],[81.462754,45.264099],[81.78797,45.3836],[81.921013,45.233342],[82.58746,45.224069],[82.546808,45.426038],[82.281954,45.53891],[82.342932,45.935303],[82.726662,46.494756],[83.02724,47.21544],[83.370318,47.178436],[83.932671,46.970161],[84.748175,47.009759],[84.934188,46.863878],[85.276651,47.068898],[85.545816,47.057891],[85.682555,47.222757],[85.547048,48.008205],[85.791576,48.418954],[86.225813,48.432456],[86.579978,48.538763],[86.780774,48.731369],[86.732115,48.994757],[86.887948,49.132001],[87.821096,49.173883],[87.826639,48.800795],[87.973233,48.575997],[88.503557,48.412996],[88.638447,48.183674],[89.078228,47.98698],[89.569132,48.037825],[89.761921,47.835751],[90.086521,47.86547],[90.331665,47.681663],[90.488113,47.317374],[90.767134,46.992617],[90.901408,46.960768],[91.079415,46.558989],[90.900177,46.31235],[91.028292,46.023054],[90.714779,45.728895],[90.671047,45.487747],[90.831807,45.300313],[91.561695,45.075501],[92.100026,45.081417],[92.501003,45.001072],[92.779407,45.050561],[93.509296,44.968055],[94.215162,44.667921],[94.359292,44.515775],[94.998637,44.253169],[95.41378,44.298589],[95.326932,44.028554],[95.527113,44.007466],[95.921314,43.229789],[96.363558,42.900562],[96.386348,42.727592]]]},"properties":{"adcode":650000,"name":"新疆维吾尔自治区","center":[87.617733,43.792818],"cp":[85.617733,41.792818],"centroid":[85.294711,41.371801],"childrenNum":24,"level":"province","parent":{"adcode":100000},"subFeatureIndex":30,"acroutes":[100000]},"id":"650000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[120.443706,22.441432],[120.297112,22.531565],[120.133272,23.000625],[120.018708,23.073322],[120.108019,23.341191],[120.102476,23.701162],[120.278018,23.92783],[120.68885,24.600542],[120.82374,24.688118],[121.024537,25.040517],[121.62323,25.29455],[121.917033,25.138076],[122.012503,25.001471],[121.844968,24.836476],[121.88562,24.529784],[121.643556,24.097843],[121.479716,23.322507],[121.324499,22.945526],[121.03316,22.650914],[120.914899,22.302525],[120.873016,21.897191],[120.701784,21.927174],[120.640806,22.241605],[120.443706,22.441432]]]},"properties":{"adcode":710000,"name":"台湾省","center":[121.509062,25.044332],"cp":[120.960515,23.69781],"centroid":[120.971485,23.749452],"childrenNum":0,"level":"province","parent":{"adcode":100000},"subFeatureIndex":31,"acroutes":[100000]},"id":"710000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[114.031778,22.503923],[114.232574,22.539857],[114.323733,22.384447],[114.322501,22.385554],[114.315726,22.299756],[114.315726,22.299203],[114.203009,22.206703],[113.918445,22.418199],[114.031778,22.503923]]],[[[114.320037,22.381127],[114.319421,22.382234],[114.322501,22.385554],[114.323733,22.384447],[114.320037,22.381127]]]]},"properties":{"adcode":810000,"name":"香港特别行政区","center":[114.173355,22.320048],"cp":[115.173355,22.020048],"centroid":[114.134357,22.377366],"childrenNum":18,"level":"province","parent":{"adcode":100000},"subFeatureIndex":32,"acroutes":[100000]},"id":"810000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[113.554425,22.107489],[113.558736,22.212244],[113.575983,22.194513],[113.554425,22.107489]]]},"properties":{"adcode":820000,"name":"澳门特别行政区","center":[113.54909,22.198951],"cp":[112.54909,21.698951],"centroid":[113.566988,22.159307],"childrenNum":8,"level":"province","parent":{"adcode":100000},"subFeatureIndex":33,"acroutes":[100000]},"id":"820000"},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[110.106396,20.026812],[110.387265,20.113378],[110.966248,20.018377],[111.071573,19.628784],[110.729727,19.378878],[110.619474,19.152334],[110.578206,18.784458],[110.499366,18.651824],[110.246215,18.609859],[110.090382,18.399309],[109.785492,18.339672],[109.584696,18.143579],[108.644772,18.486738],[108.663866,18.67337],[108.591186,19.141592],[108.765496,19.400894],[109.169553,19.736411],[109.300748,19.917693],[109.585312,19.98801],[110.106396,20.026812]]]},"properties":{"adcode":460000,"ishasjl":"1","name":"海南省","center":[110.33119,20.031971],"cp":[109.83119,19.031971],"centroid":[109.754859,19.189767],"childrenNum":19,"level":"province","parent":{"adcode":100000},"subFeatureIndex":20,"acroutes":[100000]},"id":"460000"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[122.51865306,23.46078502],[122.49925737,23.46566424],[122.77921829,24.57855302],[122.79861399,24.57367379],[122.51865306,23.46078502]]],[[[121.17202617,20.8054593],[121.15668216,20.81828744],[121.89404403,21.70026162],[121.90938804,21.68743347],[121.17202617,20.8054593]]],[[[119.47366172,18.00707291],[119.45608443,18.01661433],[120.00812005,19.0335793],[120.02569734,19.02403788],[119.47366172,18.00707291]]]]},"properties":{"ishasjl":"1","name":"","adchar":"JD","adcode":"100000_JD"},"id":"100000_JD"},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[126,24.75],[126.47619047619048,25],[132.0952380952381,25],[132.0952380952381,24.95],[131.61904761904762,24.95],[131.33333333333334,24.45],[130.95238095238096,24.95],[130,24.95],[128.85714285714286,24.5],[127.42857142857143,24.15],[126.66666666666667,24.2],[126,24.75]]],[[[127.23809523809524,23.85],[127.80952380952381,23.95],[127.52380952380952,23.45],[127.04761904761905,23.35],[127.23809523809524,23.85]]],[[[127.14285714285714,22.7],[127.23809523809524,22.7],[127.42857142857143,22.25],[127.33333333333333,22.25],[127.14285714285714,22.7]]],[[[127.52380952380952,21.6],[127.71428571428571,21.6],[127.23809523809524,21.2],[127.14285714285714,21.2],[127.52380952380952,21.6]]],[[[126.57142857142857,20.4],[126.76190476190476,20.4],[126.85714285714286,20],[126.76190476190476,20],[126.57142857142857,20.4]]],[[[128.1904761904762,19.1],[128.76190476190476,19.3],[128.38095238095238,19.1],[128.1904761904762,19.1]]],[[[129.52380952380952,19.95],[130.0952380952381,20.55],[130.1904761904762,20.55],[129.71428571428572,19.95],[129.52380952380952,19.95]]],[[[130.57142857142858,21.35],[130.85714285714286,21.75],[131.04761904761904,21.75],[130.76190476190476,21.35],[130.57142857142858,21.35]]],[[[130.85714285714286,22.5],[130.85714285714286,22.95],[131.04761904761904,22.95],[131.04761904761904,22.5],[130.85714285714286,22.5]]],[[[130.95238095238096,23.4],[131.23809523809524,23.75],[131.33333333333334,23.75],[131.04761904761904,23.4],[130.95238095238096,23.4]]],[[[131.52380952380952,24.1],[131.9047619047619,24.5],[132,24.5],[131.71428571428572,24.1],[131.52380952380952,24.1]]],[[[126,24.75],[126.0952380952381,24.75],[126.0952380952381,18.4],[132,18.4],[132,25],[132.0952380952381,25],[132.0952380952381,18.35],[126,18.35],[126,24.75]]]]},"properties":{"ishasjl":"1","name":"","childNum":1}}]}')}}]);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_data_view=globalThis.webpackChunk_next_bricks_data_view||[]).push([[5235],{15538:(n,t,i)=>{i.d(t,{ph:()=>r});class r{constructor(){this._partials=new Float64Array(32),this._n=0}add(n){const t=this._partials;let i=0;for(let r=0;r<this._n&&r<32;r++){const o=t[r],e=n+o,u=Math.abs(n)<Math.abs(o)?n-(e-o):o-(e-n);u&&(t[i++]=u),n=e}return t[i]=n,this._n=i+1,this}valueOf(){const n=this._partials;let t,i,r,o=this._n,e=0;if(o>0){for(e=n[--o];o>0&&(t=e,i=n[--o],e=t+i,r=i-(e-t),!r););o>0&&(r<0&&n[o-1]<0||r>0&&n[o-1]>0)&&(i=2*r,t=e+i,i==t-e&&(e=t))}return e}}},16589:(n,t,i)=>{i.d(t,{A:()=>r});const r=n=>n},95817:(n,t,i)=>{i.d(t,{$t:()=>o,F2:()=>c,F8:()=>E,FA:()=>a,FP:()=>h,HQ:()=>y,Ml:()=>_,Ni:()=>r,RZ:()=>S,Rm:()=>d,TW:()=>u,_S:()=>F,gn:()=>g,gz:()=>l,oN:()=>v,pi:()=>e,qR:()=>N,rY:()=>s,tn:()=>p,uj:()=>f});var r=1e-6,o=1e-12,e=Math.PI,u=e/2,l=e/4,a=2*e,f=180/e,c=e/180,p=Math.abs,s=Math.atan,h=Math.atan2,g=Math.cos,v=(Math.ceil,Math.exp),d=(Math.floor,Math.hypot,Math.log),E=(Math.pow,Math.sin),F=Math.sign||function(n){return n>0?1:n<0?-1:0},S=Math.sqrt,_=Math.tan;function y(n){return n>1?0:n<-1?e:Math.acos(n)}function N(n){return n>1?u:n<-1?-u:Math.asin(n)}},67095:(n,t,i)=>{function r(){}i.d(t,{A:()=>r})},83642:(n,t,i)=>{i.d(t,{A:()=>a});var r=i(67095),o=1/0,e=o,u=-o,l=u;const a={point:function(n,t){n<o&&(o=n),n>u&&(u=n),t<e&&(e=t),t>l&&(l=t)},lineStart:r.A,lineEnd:r.A,polygonStart:r.A,polygonEnd:r.A,result:function(){var n=[[o,e],[u,l]];return u=l=-(e=o=1/0),n}}},86168:(n,t,i)=>{i.d(t,{A:()=>fn});var r,o,e,u,l=i(16589),a=i(8663),f=i(15538),c=i(95817),p=i(67095),s=new f.ph,h=new f.ph,g={point:p.A,lineStart:p.A,lineEnd:p.A,polygonStart:function(){g.lineStart=v,g.lineEnd=F},polygonEnd:function(){g.lineStart=g.lineEnd=g.point=p.A,s.add((0,c.tn)(h)),h=new f.ph},result:function(){var n=s/2;return s=new f.ph,n}};function v(){g.point=d}function d(n,t){g.point=E,r=e=n,o=u=t}function E(n,t){h.add(u*n-e*t),e=n,u=t}function F(){E(r,o)}const S=g;var _,y,N,A,M=i(83642),m=0,x=0,w=0,R=0,j=0,T=0,$=0,b=0,P=0,W={point:k,lineStart:z,lineEnd:C,polygonStart:function(){W.lineStart=Y,W.lineEnd=H},polygonEnd:function(){W.point=k,W.lineStart=z,W.lineEnd=C},result:function(){var n=P?[$/P,b/P]:T?[R/T,j/T]:w?[m/w,x/w]:[NaN,NaN];return m=x=w=R=j=T=$=b=P=0,n}};function k(n,t){m+=n,x+=t,++w}function z(){W.point=Z}function Z(n,t){W.point=q,k(N=n,A=t)}function q(n,t){var i=n-N,r=t-A,o=(0,c.RZ)(i*i+r*r);R+=o*(N+n)/2,j+=o*(A+t)/2,T+=o,k(N=n,A=t)}function C(){W.point=k}function Y(){W.point=L}function H(){O(_,y)}function L(n,t){W.point=O,k(_=N=n,y=A=t)}function O(n,t){var i=n-N,r=t-A,o=(0,c.RZ)(i*i+r*r);R+=o*(N+n)/2,j+=o*(A+t)/2,T+=o,$+=(o=A*n-N*t)*(N+n),b+=o*(A+t),P+=3*o,k(N=n,A=t)}const Q=W;function G(n){this._context=n}G.prototype={_radius:4.5,pointRadius:function(n){return this._radius=n,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(n,t){switch(this._point){case 0:this._context.moveTo(n,t),this._point=1;break;case 1:this._context.lineTo(n,t);break;default:this._context.moveTo(n+this._radius,t),this._context.arc(n,t,this._radius,0,c.FA)}},result:p.A};var I,X,B,D,J,K=new f.ph,U={point:p.A,lineStart:function(){U.point=V},lineEnd:function(){I&&nn(X,B),U.point=p.A},polygonStart:function(){I=!0},polygonEnd:function(){I=null},result:function(){var n=+K;return K=new f.ph,n}};function V(n,t){U.point=nn,X=D=n,B=J=t}function nn(n,t){D-=n,J-=t,K.add((0,c.RZ)(D*D+J*J)),D=n,J=t}const tn=U;let rn,on,en,un;class ln{constructor(n){this._append=null==n?an:function(n){const t=Math.floor(n);if(!(t>=0))throw new RangeError(`invalid digits: ${n}`);if(t>15)return an;if(t!==rn){const n=10**t;rn=t,on=function(t){let i=1;this._+=t[0];for(const r=t.length;i<r;++i)this._+=Math.round(arguments[i]*n)/n+t[i]}}return on}(n),this._radius=4.5,this._=""}pointRadius(n){return this._radius=+n,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){0===this._line&&(this._+="Z"),this._point=NaN}point(n,t){switch(this._point){case 0:this._append`M${n},${t}`,this._point=1;break;case 1:this._append`L${n},${t}`;break;default:if(this._append`M${n},${t}`,this._radius!==en||this._append!==on){const n=this._radius,t=this._;this._="",this._append`m0,${n}a${n},${n} 0 1,1 0,${-2*n}a${n},${n} 0 1,1 0,${2*n}z`,en=n,on=this._append,un=this._,this._=t}this._+=un}}result(){const n=this._;return this._="",n.length?n:null}}function an(n){let t=1;this._+=n[0];for(const i=n.length;t<i;++t)this._+=arguments[t]+n[t]}function fn(n,t){let i,r,o=3,e=4.5;function u(n){return n&&("function"==typeof e&&r.pointRadius(+e.apply(this,arguments)),(0,a.A)(n,i(r))),r.result()}return u.area=function(n){return(0,a.A)(n,i(S)),S.result()},u.measure=function(n){return(0,a.A)(n,i(tn)),tn.result()},u.bounds=function(n){return(0,a.A)(n,i(M.A)),M.A.result()},u.centroid=function(n){return(0,a.A)(n,i(Q)),Q.result()},u.projection=function(t){return arguments.length?(i=null==t?(n=null,l.A):(n=t).stream,u):n},u.context=function(n){return arguments.length?(r=null==n?(t=null,new ln(o)):new G(t=n),"function"!=typeof e&&r.pointRadius(e),u):t},u.pointRadius=function(n){return arguments.length?(e="function"==typeof n?n:(r.pointRadius(+n),+n),u):e},u.digits=function(n){if(!arguments.length)return o;if(null==n)o=null;else{const t=Math.floor(n);if(!(t>=0))throw new RangeError(`invalid digits: ${n}`);o=t}return null===t&&(r=new ln(o)),u},u.projection(n).digits(o).context(t)}},20840:(n,t,i)=>{i.d(t,{Ay:()=>X});var r=i(95817);function o(n,t){function i(i,r){return i=n(i,r),t(i[0],i[1])}return n.invert&&t.invert&&(i.invert=function(i,r){return(i=t.invert(i,r))&&n.invert(i[0],i[1])}),i}function e(n,t){return(0,r.tn)(n)>r.pi&&(n-=Math.round(n/r.FA)*r.FA),[n,t]}function u(n,t,i){return(n%=r.FA)?t||i?o(a(n),f(t,i)):a(n):t||i?f(t,i):e}function l(n){return function(t,i){return t+=n,(0,r.tn)(t)>r.pi&&(t-=Math.round(t/r.FA)*r.FA),[t,i]}}function a(n){var t=l(n);return t.invert=l(-n),t}function f(n,t){var i=(0,r.gn)(n),o=(0,r.F8)(n),e=(0,r.gn)(t),u=(0,r.F8)(t);function l(n,t){var l=(0,r.gn)(t),a=(0,r.gn)(n)*l,f=(0,r.F8)(n)*l,c=(0,r.F8)(t),p=c*i+a*o;return[(0,r.FP)(f*e-p*u,a*i-c*o),(0,r.qR)(p*e+f*u)]}return l.invert=function(n,t){var l=(0,r.gn)(t),a=(0,r.gn)(n)*l,f=(0,r.F8)(n)*l,c=(0,r.F8)(t),p=c*e-f*u;return[(0,r.FP)(f*e+c*u,a*i+p*o),(0,r.qR)(p*i-a*o)]},l}e.invert=e;var c=i(67095);function p(){var n,t=[];return{point:function(t,i,r){n.push([t,i,r])},lineStart:function(){t.push(n=[])},lineEnd:c.A,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var i=t;return t=[],n=null,i}}}function s(n,t){return(0,r.tn)(n[0]-t[0])<r.Ni&&(0,r.tn)(n[1]-t[1])<r.Ni}function h(n,t,i,r){this.x=n,this.z=t,this.o=i,this.e=r,this.v=!1,this.n=this.p=null}function g(n,t,i,o,e){var u,l,a=[],f=[];if(n.forEach((function(n){if(!((t=n.length-1)<=0)){var t,i,o=n[0],l=n[t];if(s(o,l)){if(!o[2]&&!l[2]){for(e.lineStart(),u=0;u<t;++u)e.point((o=n[u])[0],o[1]);return void e.lineEnd()}l[0]+=2*r.Ni}a.push(i=new h(o,n,null,!0)),f.push(i.o=new h(o,null,i,!1)),a.push(i=new h(l,n,null,!1)),f.push(i.o=new h(l,null,i,!0))}})),a.length){for(f.sort(t),v(a),v(f),u=0,l=f.length;u<l;++u)f[u].e=i=!i;for(var c,p,g=a[0];;){for(var d=g,E=!0;d.v;)if((d=d.n)===g)return;c=d.z,e.lineStart();do{if(d.v=d.o.v=!0,d.e){if(E)for(u=0,l=c.length;u<l;++u)e.point((p=c[u])[0],p[1]);else o(d.x,d.n.x,1,e);d=d.n}else{if(E)for(c=d.p.z,u=c.length-1;u>=0;--u)e.point((p=c[u])[0],p[1]);else o(d.x,d.p.x,-1,e);d=d.p}c=(d=d.o).z,E=!E}while(!d.v);e.lineEnd()}}}function v(n){if(t=n.length){for(var t,i,r=0,o=n[0];++r<t;)o.n=i=n[r],i.p=o,o=i;o.n=i=n[0],i.p=o}}var d=i(15538);function E(n){return[(0,r.FP)(n[1],n[0]),(0,r.qR)(n[2])]}function F(n){var t=n[0],i=n[1],o=(0,r.gn)(i);return[o*(0,r.gn)(t),o*(0,r.F8)(t),(0,r.F8)(i)]}function S(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function _(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function y(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function N(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function A(n){var t=(0,r.RZ)(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function M(n){return(0,r.tn)(n[0])<=r.pi?n[0]:(0,r._S)(n[0])*(((0,r.tn)(n[0])+r.pi)%r.FA-r.pi)}function m(n){return Array.from(function*(n){for(const t of n)yield*t}(n))}function x(n,t,i,o){return function(e){var u,l,a,f=t(e),c=p(),s=t(c),h=!1,v={point:E,lineStart:y,lineEnd:N,polygonStart:function(){v.point=x,v.lineStart=j,v.lineEnd=T,l=[],u=[]},polygonEnd:function(){v.point=E,v.lineStart=y,v.lineEnd=N,l=m(l);var n=function(n,t){var i=M(t),o=t[1],e=(0,r.F8)(o),u=[(0,r.F8)(i),-(0,r.gn)(i),0],l=0,a=0,f=new d.ph;1===e?o=r.TW+r.Ni:-1===e&&(o=-r.TW-r.Ni);for(var c=0,p=n.length;c<p;++c)if(h=(s=n[c]).length)for(var s,h,g=s[h-1],v=M(g),E=g[1]/2+r.gz,S=(0,r.F8)(E),y=(0,r.gn)(E),N=0;N<h;++N,v=x,S=R,y=j,g=m){var m=s[N],x=M(m),w=m[1]/2+r.gz,R=(0,r.F8)(w),j=(0,r.gn)(w),T=x-v,$=T>=0?1:-1,b=$*T,P=b>r.pi,W=S*R;if(f.add((0,r.FP)(W*$*(0,r.F8)(b),y*j+W*(0,r.gn)(b))),l+=P?T+$*r.FA:T,P^v>=i^x>=i){var k=_(F(g),F(m));A(k);var z=_(u,k);A(z);var Z=(P^T>=0?-1:1)*(0,r.qR)(z[2]);(o>Z||o===Z&&(k[0]||k[1]))&&(a+=P^T>=0?1:-1)}}return(l<-r.Ni||l<r.Ni&&f<-r.$t)^1&a}(u,o);l.length?(h||(e.polygonStart(),h=!0),g(l,R,n,i,e)):n&&(h||(e.polygonStart(),h=!0),e.lineStart(),i(null,null,1,e),e.lineEnd()),h&&(e.polygonEnd(),h=!1),l=u=null},sphere:function(){e.polygonStart(),e.lineStart(),i(null,null,1,e),e.lineEnd(),e.polygonEnd()}};function E(t,i){n(t,i)&&e.point(t,i)}function S(n,t){f.point(n,t)}function y(){v.point=S,f.lineStart()}function N(){v.point=E,f.lineEnd()}function x(n,t){a.push([n,t]),s.point(n,t)}function j(){s.lineStart(),a=[]}function T(){x(a[0][0],a[0][1]),s.lineEnd();var n,t,i,r,o=s.clean(),f=c.result(),p=f.length;if(a.pop(),u.push(a),a=null,p)if(1&o){if((t=(i=f[0]).length-1)>0){for(h||(e.polygonStart(),h=!0),e.lineStart(),n=0;n<t;++n)e.point((r=i[n])[0],r[1]);e.lineEnd()}}else p>1&&2&o&&f.push(f.pop().concat(f.shift())),l.push(f.filter(w))}return v}}function w(n){return n.length>1}function R(n,t){return((n=n.x)[0]<0?n[1]-r.TW-r.Ni:r.TW-n[1])-((t=t.x)[0]<0?t[1]-r.TW-r.Ni:r.TW-t[1])}const j=x((function(){return!0}),(function(n){var t,i=NaN,o=NaN,e=NaN;return{lineStart:function(){n.lineStart(),t=1},point:function(u,l){var a=u>0?r.pi:-r.pi,f=(0,r.tn)(u-i);(0,r.tn)(f-r.pi)<r.Ni?(n.point(i,o=(o+l)/2>0?r.TW:-r.TW),n.point(e,o),n.lineEnd(),n.lineStart(),n.point(a,o),n.point(u,o),t=0):e!==a&&f>=r.pi&&((0,r.tn)(i-e)<r.Ni&&(i-=e*r.Ni),(0,r.tn)(u-a)<r.Ni&&(u-=a*r.Ni),o=function(n,t,i,o){var e,u,l=(0,r.F8)(n-i);return(0,r.tn)(l)>r.Ni?(0,r.rY)(((0,r.F8)(t)*(u=(0,r.gn)(o))*(0,r.F8)(i)-(0,r.F8)(o)*(e=(0,r.gn)(t))*(0,r.F8)(n))/(e*u*l)):(t+o)/2}(i,o,u,l),n.point(e,o),n.lineEnd(),n.lineStart(),n.point(a,o),t=0),n.point(i=u,o=l),e=a},lineEnd:function(){n.lineEnd(),i=o=NaN},clean:function(){return 2-t}}}),(function(n,t,i,o){var e;if(null==n)e=i*r.TW,o.point(-r.pi,e),o.point(0,e),o.point(r.pi,e),o.point(r.pi,0),o.point(r.pi,-e),o.point(0,-e),o.point(-r.pi,-e),o.point(-r.pi,0),o.point(-r.pi,e);else if((0,r.tn)(n[0]-t[0])>r.Ni){var u=n[0]<t[0]?r.pi:-r.pi;e=i*u/2,o.point(-u,e),o.point(0,e),o.point(u,e)}else o.point(t[0],t[1])}),[-r.pi,-r.TW]);function T(n,t){(t=F(t))[0]-=n,A(t);var i=(0,r.HQ)(-t[1]);return((-t[2]<0?-i:i)+r.FA-r.Ni)%r.FA}var $=1e9,b=-$;var P=i(16589);function W(n){return function(t){var i=new k;for(var r in n)i[r]=n[r];return i.stream=t,i}}function k(){}k.prototype={constructor:k,point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var z=i(8663),Z=i(83642);function q(n,t,i){var r=n.clipExtent&&n.clipExtent();return n.scale(150).translate([0,0]),null!=r&&n.clipExtent(null),(0,z.A)(i,n.stream(Z.A)),t(Z.A.result()),null!=r&&n.clipExtent(r),n}function C(n,t,i){return q(n,(function(i){var r=t[1][0]-t[0][0],o=t[1][1]-t[0][1],e=Math.min(r/(i[1][0]-i[0][0]),o/(i[1][1]-i[0][1])),u=+t[0][0]+(r-e*(i[1][0]+i[0][0]))/2,l=+t[0][1]+(o-e*(i[1][1]+i[0][1]))/2;n.scale(150*e).translate([u,l])}),i)}var Y=16,H=(0,r.gn)(30*r.F2);function L(n,t){return+t?function(n,t){function i(o,e,u,l,a,f,c,p,s,h,g,v,d,E){var F=c-o,S=p-e,_=F*F+S*S;if(_>4*t&&d--){var y=l+h,N=a+g,A=f+v,M=(0,r.RZ)(y*y+N*N+A*A),m=(0,r.qR)(A/=M),x=(0,r.tn)((0,r.tn)(A)-1)<r.Ni||(0,r.tn)(u-s)<r.Ni?(u+s)/2:(0,r.FP)(N,y),w=n(x,m),R=w[0],j=w[1],T=R-o,$=j-e,b=S*T-F*$;(b*b/_>t||(0,r.tn)((F*T+S*$)/_-.5)>.3||l*h+a*g+f*v<H)&&(i(o,e,u,l,a,f,R,j,x,y/=M,N/=M,A,d,E),E.point(R,j),i(R,j,x,y,N,A,c,p,s,h,g,v,d,E))}}return function(t){var r,o,e,u,l,a,f,c,p,s,h,g,v={point:d,lineStart:E,lineEnd:_,polygonStart:function(){t.polygonStart(),v.lineStart=y},polygonEnd:function(){t.polygonEnd(),v.lineStart=E}};function d(i,r){i=n(i,r),t.point(i[0],i[1])}function E(){c=NaN,v.point=S,t.lineStart()}function S(r,o){var e=F([r,o]),u=n(r,o);i(c,p,f,s,h,g,c=u[0],p=u[1],f=r,s=e[0],h=e[1],g=e[2],Y,t),t.point(c,p)}function _(){v.point=d,t.lineEnd()}function y(){E(),v.point=N,v.lineEnd=A}function N(n,t){S(r=n,t),o=c,e=p,u=s,l=h,a=g,v.point=S}function A(){i(c,p,f,s,h,g,o,e,r,u,l,a,Y,t),v.lineEnd=_,_()}return v}}(n,t):function(n){return W({point:function(t,i){t=n(t,i),this.stream.point(t[0],t[1])}})}(n)}var O=W({point:function(n,t){this.stream.point(n*r.F2,t*r.F2)}});function Q(n,t,i,o,e,u){if(!u)return function(n,t,i,r,o){function e(e,u){return[t+n*(e*=r),i-n*(u*=o)]}return e.invert=function(e,u){return[(e-t)/n*r,(i-u)/n*o]},e}(n,t,i,o,e);var l=(0,r.gn)(u),a=(0,r.F8)(u),f=l*n,c=a*n,p=l/n,s=a/n,h=(a*i-l*t)/n,g=(a*t+l*i)/n;function v(n,r){return[f*(n*=o)-c*(r*=e)+t,i-c*n-f*r]}return v.invert=function(n,t){return[o*(p*n-s*t+h),e*(g-s*n-p*t)]},v}function G(n){return function(n){var t,i,e,l,a,f,c,h,v,d,A=150,M=480,w=250,R=0,k=0,z=0,Z=0,Y=0,H=0,G=1,I=1,X=null,B=j,D=null,J=P.A,K=.5;function U(n){return h(n[0]*r.F2,n[1]*r.F2)}function V(n){return(n=h.invert(n[0],n[1]))&&[n[0]*r.uj,n[1]*r.uj]}function nn(){var n=Q(A,0,0,G,I,H).apply(null,t(R,k)),r=Q(A,M-n[0],w-n[1],G,I,H);return i=u(z,Z,Y),c=o(t,r),h=o(i,c),f=L(c,K),tn()}function tn(){return v=d=null,U}return U.stream=function(n){return v&&d===n?v:v=O(function(n){return W({point:function(t,i){var r=n(t,i);return this.stream.point(r[0],r[1])}})}(i)(B(f(J(d=n)))))},U.preclip=function(n){return arguments.length?(B=n,X=void 0,tn()):B},U.postclip=function(n){return arguments.length?(J=n,D=e=l=a=null,tn()):J},U.clipAngle=function(n){return arguments.length?(B=+n?function(n){var t=(0,r.gn)(n),i=2*r.F2,o=t>0,e=(0,r.tn)(t)>r.Ni;function u(n,i){return(0,r.gn)(n)*(0,r.gn)(i)>t}function l(n,i,o){var e=[1,0,0],u=_(F(n),F(i)),l=S(u,u),a=u[0],f=l-a*a;if(!f)return!o&&n;var c=t*l/f,p=-t*a/f,s=_(e,u),h=N(e,c);y(h,N(u,p));var g=s,v=S(h,g),d=S(g,g),A=v*v-d*(S(h,h)-1);if(!(A<0)){var M=(0,r.RZ)(A),m=N(g,(-v-M)/d);if(y(m,h),m=E(m),!o)return m;var x,w=n[0],R=i[0],j=n[1],T=i[1];R<w&&(x=w,w=R,R=x);var $=R-w,b=(0,r.tn)($-r.pi)<r.Ni;if(!b&&T<j&&(x=j,j=T,T=x),b||$<r.Ni?b?j+T>0^m[1]<((0,r.tn)(m[0]-w)<r.Ni?j:T):j<=m[1]&&m[1]<=T:$>r.pi^(w<=m[0]&&m[0]<=R)){var P=N(g,(-v+M)/d);return y(P,h),[m,E(P)]}}}function a(t,i){var e=o?n:r.pi-n,u=0;return t<-e?u|=1:t>e&&(u|=2),i<-e?u|=4:i>e&&(u|=8),u}return x(u,(function(n){var t,i,f,c,p;return{lineStart:function(){c=f=!1,p=1},point:function(h,g){var v,d=[h,g],E=u(h,g),F=o?E?0:a(h,g):E?a(h+(h<0?r.pi:-r.pi),g):0;if(!t&&(c=f=E)&&n.lineStart(),E!==f&&(!(v=l(t,d))||s(t,v)||s(d,v))&&(d[2]=1),E!==f)p=0,E?(n.lineStart(),v=l(d,t),n.point(v[0],v[1])):(v=l(t,d),n.point(v[0],v[1],2),n.lineEnd()),t=v;else if(e&&t&&o^E){var S;F&i||!(S=l(d,t,!0))||(p=0,o?(n.lineStart(),n.point(S[0][0],S[0][1]),n.point(S[1][0],S[1][1]),n.lineEnd()):(n.point(S[1][0],S[1][1]),n.lineEnd(),n.lineStart(),n.point(S[0][0],S[0][1],3)))}!E||t&&s(t,d)||n.point(d[0],d[1]),t=d,f=E,i=F},lineEnd:function(){f&&n.lineEnd(),t=null},clean:function(){return p|(c&&f)<<1}}}),(function(t,o,e,u){!function(n,t,i,o,e,u){if(i){var l=(0,r.gn)(t),a=(0,r.F8)(t),f=o*i;null==e?(e=t+o*r.FA,u=t-f/2):(e=T(l,e),u=T(l,u),(o>0?e<u:e>u)&&(e+=o*r.FA));for(var c,p=e;o>0?p>u:p<u;p-=f)c=E([l,-a*(0,r.gn)(p),-a*(0,r.F8)(p)]),n.point(c[0],c[1])}}(u,n,i,e,t,o)}),o?[0,-n]:[-r.pi,n-r.pi])}(X=n*r.F2):(X=null,j),tn()):X*r.uj},U.clipExtent=function(n){return arguments.length?(J=null==n?(D=e=l=a=null,P.A):function(n,t,i,o){function e(r,e){return n<=r&&r<=i&&t<=e&&e<=o}function u(r,e,u,a){var c=0,p=0;if(null==r||(c=l(r,u))!==(p=l(e,u))||f(r,e)<0^u>0)do{a.point(0===c||3===c?n:i,c>1?o:t)}while((c=(c+u+4)%4)!==p);else a.point(e[0],e[1])}function l(o,e){return(0,r.tn)(o[0]-n)<r.Ni?e>0?0:3:(0,r.tn)(o[0]-i)<r.Ni?e>0?2:1:(0,r.tn)(o[1]-t)<r.Ni?e>0?1:0:e>0?3:2}function a(n,t){return f(n.x,t.x)}function f(n,t){var i=l(n,1),r=l(t,1);return i!==r?i-r:0===i?t[1]-n[1]:1===i?n[0]-t[0]:2===i?n[1]-t[1]:t[0]-n[0]}return function(r){var l,f,c,s,h,v,d,E,F,S,_,y=r,N=p(),A={point:M,lineStart:function(){A.point=x,f&&f.push(c=[]),S=!0,F=!1,d=E=NaN},lineEnd:function(){l&&(x(s,h),v&&F&&N.rejoin(),l.push(N.result())),A.point=M,F&&y.lineEnd()},polygonStart:function(){y=N,l=[],f=[],_=!0},polygonEnd:function(){var t=function(){for(var t=0,i=0,r=f.length;i<r;++i)for(var e,u,l=f[i],a=1,c=l.length,p=l[0],s=p[0],h=p[1];a<c;++a)e=s,u=h,s=(p=l[a])[0],h=p[1],u<=o?h>o&&(s-e)*(o-u)>(h-u)*(n-e)&&++t:h<=o&&(s-e)*(o-u)<(h-u)*(n-e)&&--t;return t}(),i=_&&t,e=(l=m(l)).length;(i||e)&&(r.polygonStart(),i&&(r.lineStart(),u(null,null,1,r),r.lineEnd()),e&&g(l,a,t,u,r),r.polygonEnd()),y=r,l=f=c=null}};function M(n,t){e(n,t)&&y.point(n,t)}function x(r,u){var l=e(r,u);if(f&&c.push([r,u]),S)s=r,h=u,v=l,S=!1,l&&(y.lineStart(),y.point(r,u));else if(l&&F)y.point(r,u);else{var a=[d=Math.max(b,Math.min($,d)),E=Math.max(b,Math.min($,E))],p=[r=Math.max(b,Math.min($,r)),u=Math.max(b,Math.min($,u))];!function(n,t,i,r,o,e){var u,l=n[0],a=n[1],f=0,c=1,p=t[0]-l,s=t[1]-a;if(u=i-l,p||!(u>0)){if(u/=p,p<0){if(u<f)return;u<c&&(c=u)}else if(p>0){if(u>c)return;u>f&&(f=u)}if(u=o-l,p||!(u<0)){if(u/=p,p<0){if(u>c)return;u>f&&(f=u)}else if(p>0){if(u<f)return;u<c&&(c=u)}if(u=r-a,s||!(u>0)){if(u/=s,s<0){if(u<f)return;u<c&&(c=u)}else if(s>0){if(u>c)return;u>f&&(f=u)}if(u=e-a,s||!(u<0)){if(u/=s,s<0){if(u>c)return;u>f&&(f=u)}else if(s>0){if(u<f)return;u<c&&(c=u)}return f>0&&(n[0]=l+f*p,n[1]=a+f*s),c<1&&(t[0]=l+c*p,t[1]=a+c*s),!0}}}}}(a,p,n,t,i,o)?l&&(y.lineStart(),y.point(r,u),_=!1):(F||(y.lineStart(),y.point(a[0],a[1])),y.point(p[0],p[1]),l||y.lineEnd(),_=!1)}d=r,E=u,F=l}return A}}(D=+n[0][0],e=+n[0][1],l=+n[1][0],a=+n[1][1]),tn()):null==D?null:[[D,e],[l,a]]},U.scale=function(n){return arguments.length?(A=+n,nn()):A},U.translate=function(n){return arguments.length?(M=+n[0],w=+n[1],nn()):[M,w]},U.center=function(n){return arguments.length?(R=n[0]%360*r.F2,k=n[1]%360*r.F2,nn()):[R*r.uj,k*r.uj]},U.rotate=function(n){return arguments.length?(z=n[0]%360*r.F2,Z=n[1]%360*r.F2,Y=n.length>2?n[2]%360*r.F2:0,nn()):[z*r.uj,Z*r.uj,Y*r.uj]},U.angle=function(n){return arguments.length?(H=n%360*r.F2,nn()):H*r.uj},U.reflectX=function(n){return arguments.length?(G=n?-1:1,nn()):G<0},U.reflectY=function(n){return arguments.length?(I=n?-1:1,nn()):I<0},U.precision=function(n){return arguments.length?(f=L(c,K=n*n),tn()):(0,r.RZ)(K)},U.fitExtent=function(n,t){return C(U,n,t)},U.fitSize=function(n,t){return function(n,t,i){return C(n,[[0,0],t],i)}(U,n,t)},U.fitWidth=function(n,t){return function(n,t,i){return q(n,(function(i){var r=+t,o=r/(i[1][0]-i[0][0]),e=(r-o*(i[1][0]+i[0][0]))/2,u=-o*i[0][1];n.scale(150*o).translate([e,u])}),i)}(U,n,t)},U.fitHeight=function(n,t){return function(n,t,i){return q(n,(function(i){var r=+t,o=r/(i[1][1]-i[0][1]),e=-o*i[0][0],u=(r-o*(i[1][1]+i[0][1]))/2;n.scale(150*o).translate([e,u])}),i)}(U,n,t)},function(){return t=n.apply(this,arguments),U.invert=t.invert&&V,nn()}}((function(){return n}))()}function I(n,t){return[n,(0,r.Rm)((0,r.Ml)((r.TW+t)/2))]}function X(){return function(n){var t,i,o,e=G(n),l=e.center,a=e.scale,f=e.translate,c=e.clipExtent,p=null;function s(){var l=r.pi*a(),f=e(function(n){function t(t){return(t=n(t[0]*r.F2,t[1]*r.F2))[0]*=r.uj,t[1]*=r.uj,t}return n=u(n[0]*r.F2,n[1]*r.F2,n.length>2?n[2]*r.F2:0),t.invert=function(t){return(t=n.invert(t[0]*r.F2,t[1]*r.F2))[0]*=r.uj,t[1]*=r.uj,t},t}(e.rotate()).invert([0,0]));return c(null==p?[[f[0]-l,f[1]-l],[f[0]+l,f[1]+l]]:n===I?[[Math.max(f[0]-l,p),t],[Math.min(f[0]+l,i),o]]:[[p,Math.max(f[1]-l,t)],[i,Math.min(f[1]+l,o)]])}return e.scale=function(n){return arguments.length?(a(n),s()):a()},e.translate=function(n){return arguments.length?(f(n),s()):f()},e.center=function(n){return arguments.length?(l(n),s()):l()},e.clipExtent=function(n){return arguments.length?(null==n?p=t=i=o=null:(p=+n[0][0],t=+n[0][1],i=+n[1][0],o=+n[1][1]),s()):null==p?null:[[p,t],[i,o]]},s()}(I).scale(961/r.FA)}I.invert=function(n,t){return[n,2*(0,r.rY)((0,r.oN)(t))-r.TW]}},8663:(n,t,i)=>{function r(n,t){n&&e.hasOwnProperty(n.type)&&e[n.type](n,t)}i.d(t,{A:()=>a});var o={Feature:function(n,t){r(n.geometry,t)},FeatureCollection:function(n,t){for(var i=n.features,o=-1,e=i.length;++o<e;)r(i[o].geometry,t)}},e={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var i=n.coordinates,r=-1,o=i.length;++r<o;)n=i[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){u(n.coordinates,t,0)},MultiLineString:function(n,t){for(var i=n.coordinates,r=-1,o=i.length;++r<o;)u(i[r],t,0)},Polygon:function(n,t){l(n.coordinates,t)},MultiPolygon:function(n,t){for(var i=n.coordinates,r=-1,o=i.length;++r<o;)l(i[r],t)},GeometryCollection:function(n,t){for(var i=n.geometries,o=-1,e=i.length;++o<e;)r(i[o],t)}};function u(n,t,i){var r,o=-1,e=n.length-i;for(t.lineStart();++o<e;)r=n[o],t.point(r[0],r[1],r[2]);t.lineEnd()}function l(n,t){var i=-1,r=n.length;for(t.polygonStart();++i<r;)u(n[i],t,1);t.polygonEnd()}function a(n,t){n&&o.hasOwnProperty(n.type)?o[n.type](n,t):r(n,t)}}}]);
|
|
2
|
+
//# sourceMappingURL=5235.ad56bd82.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/5235.ad56bd82.js","mappings":"+JACO,MAAMA,EACX,WAAAC,GACEC,KAAKC,UAAY,IAAIC,aAAa,IAClCF,KAAKG,GAAK,CACZ,CACA,GAAAC,CAAIC,GACF,MAAMC,EAAIN,KAAKC,UACf,IAAIM,EAAI,EACR,IAAK,IAAIC,EAAI,EAAGA,EAAIR,KAAKG,IAAMK,EAAI,GAAIA,IAAK,CAC1C,MAAMC,EAAIH,EAAEE,GACVE,EAAKL,EAAII,EACTE,EAAKC,KAAKC,IAAIR,GAAKO,KAAKC,IAAIJ,GAAKJ,GAAKK,EAAKD,GAAKA,GAAKC,EAAKL,GACxDM,IAAIL,EAAEC,KAAOI,GACjBN,EAAIK,CACN,CAGA,OAFAJ,EAAEC,GAAKF,EACPL,KAAKG,GAAKI,EAAI,EACPP,IACT,CACA,OAAAc,GACE,MAAMR,EAAIN,KAAKC,UACf,IAAiBI,EAAGI,EAAGE,EAAnBI,EAAIf,KAAKG,GAAcO,EAAK,EAChC,GAAIK,EAAI,EAAG,CAET,IADAL,EAAKJ,IAAIS,GACFA,EAAI,IACTV,EAAIK,EACJD,EAAIH,IAAIS,GACRL,EAAKL,EAAII,EACTE,EAAKF,GAAKC,EAAKL,IACXM,KAEFI,EAAI,IAAOJ,EAAK,GAAKL,EAAES,EAAI,GAAK,GAAOJ,EAAK,GAAKL,EAAES,EAAI,GAAK,KAC9DN,EAAS,EAALE,EACJN,EAAIK,EAAKD,EACLA,GAAKJ,EAAIK,IAAIA,EAAKL,GAE1B,CACA,OAAOK,CACT,E,mCCvCF,QAAeL,GAAKA,C,+MCAb,IAAIW,EAAU,KACVC,EAAW,MACXC,EAAKN,KAAKO,GACVC,EAASF,EAAK,EACdG,EAAYH,EAAK,EACjBI,EAAW,EAALJ,EAENK,EAAU,IAAML,EAChBM,EAAUN,EAAK,IAEfL,EAAMD,KAAKC,IACXY,EAAOb,KAAKa,KACZC,EAAQd,KAAKc,MACbC,EAAMf,KAAKe,IAEXC,GADOhB,KAAKiB,KACNjB,KAAKgB,KAGXE,GAFQlB,KAAKmB,MACLnB,KAAKoB,MACPpB,KAAKkB,KAEXG,GADMrB,KAAKsB,IACLtB,KAAKqB,KACXE,EAAOvB,KAAKuB,MAAQ,SAAS9B,GAAK,OAAOA,EAAI,EAAI,EAAIA,EAAI,GAAK,EAAI,CAAG,EACrE+B,EAAOxB,KAAKwB,KACZC,EAAMzB,KAAKyB,IAEf,SAASC,EAAKjC,GACnB,OAAOA,EAAI,EAAI,EAAIA,GAAK,EAAIa,EAAKN,KAAK0B,KAAKjC,EAC7C,CAEO,SAASkC,EAAKlC,GACnB,OAAOA,EAAI,EAAIe,EAASf,GAAK,GAAKe,EAASR,KAAK2B,KAAKlC,EACvD,C,kBC/Be,SAASmC,IAAQ,C,kECE5BC,EAAKC,IACLC,EAAKF,EACLG,GAAMH,EACNI,EAAKD,EAsBT,QApBmB,CACjBE,MAYF,SAAqBzC,EAAGI,GAClBJ,EAAIoC,IAAIA,EAAKpC,GACbA,EAAIuC,IAAIA,EAAKvC,GACbI,EAAIkC,IAAIA,EAAKlC,GACbA,EAAIoC,IAAIA,EAAKpC,EACnB,EAhBEsC,UAAW,IACXC,QAAS,IACTC,aAAc,IACdC,WAAY,IACZC,OAAQ,WACN,IAAIC,EAAS,CAAC,CAACX,EAAIE,GAAK,CAACC,EAAIC,IAE7B,OADAD,EAAKC,IAAOF,EAAKF,EAAKC,KACfU,CACT,E,wCCXEC,EACAC,EACAb,EACAE,E,sDALAY,EAAU,IAAI,KACdC,EAAc,IAAI,KAMlBC,EAAa,CACfX,MAAON,EAAA,EACPO,UAAWP,EAAA,EACXQ,QAASR,EAAA,EACTS,aAAc,WACZQ,EAAWV,UAAYW,EACvBD,EAAWT,QAAUW,CACvB,EACAT,WAAY,WACVO,EAAWV,UAAYU,EAAWT,QAAUS,EAAWX,MAAQN,EAAA,EAC/De,EAAQnD,KAAI,QAAIoD,IAChBA,EAAc,IAAI,IACpB,EACAL,OAAQ,WACN,IAAIS,EAAOL,EAAU,EAErB,OADAA,EAAU,IAAI,KACPK,CACT,GAGF,SAASF,IACPD,EAAWX,MAAQe,CACrB,CAEA,SAASA,EAAexD,EAAGI,GACzBgD,EAAWX,MAAQgB,EACnBT,EAAMZ,EAAKpC,EAAGiD,EAAMX,EAAKlC,CAC3B,CAEA,SAASqD,EAAUzD,EAAGI,GACpB+C,EAAYpD,IAAIuC,EAAKtC,EAAIoC,EAAKhC,GAC9BgC,EAAKpC,EAAGsC,EAAKlC,CACf,CAEA,SAASkD,IACPG,EAAUT,EAAKC,EACjB,CAEA,U,ICpCI,EACA,EACA,EACA,E,WAZAS,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EAMLC,EAAiB,CACnB1B,MAAO2B,EACP1B,UAAW2B,EACX1B,QAAS2B,EACT1B,aAAc,WACZuB,EAAezB,UAAY6B,EAC3BJ,EAAexB,QAAU6B,CAC3B,EACA3B,WAAY,WACVsB,EAAe1B,MAAQ2B,EACvBD,EAAezB,UAAY2B,EAC3BF,EAAexB,QAAU2B,CAC3B,EACAxB,OAAQ,WACN,IAAI2B,EAAWP,EAAK,CAACF,EAAKE,EAAID,EAAKC,GAC7BH,EAAK,CAACF,EAAKE,EAAID,EAAKC,GACpBH,EAAK,CAACF,EAAKE,EAAID,EAAKC,GACpB,CAACc,IAAKA,KAIZ,OAHAhB,EAAKC,EAAKC,EACVC,EAAKC,EAAKC,EACVC,EAAKC,EAAKC,EAAK,EACRO,CACT,GAGF,SAASL,EAAcpE,EAAGI,GACxBsD,GAAM1D,EACN2D,GAAMvD,IACJwD,CACJ,CAEA,SAASS,IACPF,EAAe1B,MAAQkC,CACzB,CAEA,SAASA,EAAuB3E,EAAGI,GACjC+D,EAAe1B,MAAQmC,EACvBR,EAAc,EAAKpE,EAAG,EAAKI,EAC7B,CAEA,SAASwE,EAAkB5E,EAAGI,GAC5B,IAAIyE,EAAK7E,EAAI,EAAI8E,EAAK1E,EAAI,EAAI2E,GAAI,QAAKF,EAAKA,EAAKC,EAAKA,GACtDjB,GAAMkB,GAAK,EAAK/E,GAAK,EACrB8D,GAAMiB,GAAK,EAAK3E,GAAK,EACrB2D,GAAMgB,EACNX,EAAc,EAAKpE,EAAG,EAAKI,EAC7B,CAEA,SAASkE,IACPH,EAAe1B,MAAQ2B,CACzB,CAEA,SAASG,IACPJ,EAAe1B,MAAQuC,CACzB,CAEA,SAASR,IACPS,EAAkB,EAAK,EACzB,CAEA,SAASD,EAAuBhF,EAAGI,GACjC+D,EAAe1B,MAAQwC,EACvBb,EAAc,EAAM,EAAKpE,EAAG,EAAM,EAAKI,EACzC,CAEA,SAAS6E,EAAkBjF,EAAGI,GAC5B,IAAIyE,EAAK7E,EAAI,EACT8E,EAAK1E,EAAI,EACT2E,GAAI,QAAKF,EAAKA,EAAKC,EAAKA,GAE5BjB,GAAMkB,GAAK,EAAK/E,GAAK,EACrB8D,GAAMiB,GAAK,EAAK3E,GAAK,EACrB2D,GAAMgB,EAGNf,IADAe,EAAI,EAAK/E,EAAI,EAAKI,IACP,EAAKJ,GAChBiE,GAAMc,GAAK,EAAK3E,GAChB8D,GAAU,EAAJa,EACNX,EAAc,EAAKpE,EAAG,EAAKI,EAC7B,CAEA,UChGe,SAAS8E,EAAYC,GAClCxF,KAAKyF,SAAWD,CAClB,CAEAD,EAAYG,UAAY,CACtBC,QAAS,IACTC,YAAa,SAASC,GACpB,OAAO7F,KAAK2F,QAAUE,EAAG7F,IAC3B,EACAiD,aAAc,WACZjD,KAAK8F,MAAQ,CACf,EACA5C,WAAY,WACVlD,KAAK8F,MAAQf,GACf,EACAhC,UAAW,WACT/C,KAAK+F,OAAS,CAChB,EACA/C,QAAS,WACY,IAAfhD,KAAK8F,OAAa9F,KAAKyF,SAASO,YACpChG,KAAK+F,OAAShB,GAChB,EACAjC,MAAO,SAASzC,EAAGI,GACjB,OAAQT,KAAK+F,QACX,KAAK,EACH/F,KAAKyF,SAASQ,OAAO5F,EAAGI,GACxBT,KAAK+F,OAAS,EACd,MAEF,KAAK,EACH/F,KAAKyF,SAASS,OAAO7F,EAAGI,GACxB,MAEF,QACET,KAAKyF,SAASQ,OAAO5F,EAAIL,KAAK2F,QAASlF,GACvCT,KAAKyF,SAASU,IAAI9F,EAAGI,EAAGT,KAAK2F,QAAS,EAAG,MAI/C,EACAxC,OAAQX,EAAA,GCvCV,IACI4D,EACA,EACA,EACA,EACA,EALAC,EAAY,IAAI,KAOhBC,EAAe,CACjBxD,MAAON,EAAA,EACPO,UAAW,WACTuD,EAAaxD,MAAQyD,CACvB,EACAvD,QAAS,WACHoD,GAAYI,GAAY,EAAK,GACjCF,EAAaxD,MAAQN,EAAA,CACvB,EACAS,aAAc,WACZmD,GAAa,CACf,EACAlD,WAAY,WACVkD,EAAa,IACf,EACAjD,OAAQ,WACN,IAAIsD,GAAUJ,EAEd,OADAA,EAAY,IAAI,KACTI,CACT,GAGF,SAASF,EAAiBlG,EAAGI,GAC3B6F,EAAaxD,MAAQ0D,GACrB,EAAM,EAAKnG,EAAG,EAAM,EAAKI,CAC3B,CAEA,SAAS+F,GAAYnG,EAAGI,GACtB,GAAMJ,EAAG,GAAMI,EACf4F,EAAUjG,KAAI,QAAK,EAAK,EAAK,EAAK,IAClC,EAAKC,EAAG,EAAKI,CACf,CAEA,WC3CA,IAAIiG,GAAaC,GAAaC,GAAaC,GAE5B,MAAMC,GACnB,WAAA/G,CAAYgH,GACV/G,KAAKgH,QAAoB,MAAVD,EAAiBE,GAgEpC,SAAqBF,GACnB,MAAMG,EAAItG,KAAKmB,MAAMgF,GACrB,KAAMG,GAAK,GAAI,MAAM,IAAIC,WAAW,mBAAmBJ,KACvD,GAAIG,EAAI,GAAI,OAAOD,GACnB,GAAIC,IAAMR,GAAa,CACrB,MAAMU,EAAI,IAAMF,EAChBR,GAAcQ,EACdP,GAAc,SAAgBU,GAC5B,IAAI9G,EAAI,EACRP,KAAK6F,GAAKwB,EAAQ,GAClB,IAAK,MAAM7G,EAAI6G,EAAQZ,OAAQlG,EAAIC,IAAKD,EACtCP,KAAK6F,GAAKjF,KAAK0G,MAAMC,UAAUhH,GAAK6G,GAAKA,EAAIC,EAAQ9G,EAEzD,CACF,CACA,OAAOoG,EACT,CAhF6Ca,CAAYT,GACrD/G,KAAK2F,QAAU,IACf3F,KAAK6F,EAAI,EACX,CACA,WAAAD,CAAYC,GAEV,OADA7F,KAAK2F,SAAWE,EACT7F,IACT,CACA,YAAAiD,GACEjD,KAAK8F,MAAQ,CACf,CACA,UAAA5C,GACElD,KAAK8F,MAAQf,GACf,CACA,SAAAhC,GACE/C,KAAK+F,OAAS,CAChB,CACA,OAAA/C,GACqB,IAAfhD,KAAK8F,QAAa9F,KAAK6F,GAAK,KAChC7F,KAAK+F,OAAShB,GAChB,CACA,KAAAjC,CAAMzC,EAAGI,GACP,OAAQT,KAAK+F,QACX,KAAK,EACH/F,KAAKgH,OAAO,IAAI3G,KAAKI,IACrBT,KAAK+F,OAAS,EACd,MAEF,KAAK,EACH/F,KAAKgH,OAAO,IAAI3G,KAAKI,IACrB,MAEF,QAEE,GADAT,KAAKgH,OAAO,IAAI3G,KAAKI,IACjBT,KAAK2F,UAAYiB,IAAe5G,KAAKgH,UAAYL,GAAa,CAChE,MAAMc,EAAIzH,KAAK2F,QACT+B,EAAI1H,KAAK6F,EACf7F,KAAK6F,EAAI,GACT7F,KAAKgH,OAAO,MAAMS,KAAKA,KAAKA,cAAc,EAAIA,KAAKA,KAAKA,aAAa,EAAIA,KACzEb,GAAca,EACdd,GAAc3G,KAAKgH,QACnBH,GAAc7G,KAAK6F,EACnB7F,KAAK6F,EAAI6B,CACX,CACA1H,KAAK6F,GAAKgB,GAIhB,CACA,MAAA1D,GACE,MAAMA,EAASnD,KAAK6F,EAEpB,OADA7F,KAAK6F,EAAI,GACF1C,EAAOsD,OAAStD,EAAS,IAClC,EAGF,SAAS8D,GAAOI,GACd,IAAI9G,EAAI,EACRP,KAAK6F,GAAKwB,EAAQ,GAClB,IAAK,MAAM7G,EAAI6G,EAAQZ,OAAQlG,EAAIC,IAAKD,EACtCP,KAAK6F,GAAK0B,UAAUhH,GAAK8G,EAAQ9G,EAErC,CC1De,YAASoH,EAAYnC,GAClC,IAEIoC,EACAC,EAHAd,EAAS,EACTnB,EAAc,IAIlB,SAASkC,EAAKC,GAKZ,OAJIA,IACyB,mBAAhBnC,GAA4BiC,EAAcjC,aAAaA,EAAYoC,MAAMhI,KAAMuH,aAC1F,EAAAU,EAAA,GAAOF,EAAQH,EAAiBC,KAE3BA,EAAc1E,QACvB,CAqDA,OAnDA2E,EAAKlE,KAAO,SAASmE,GAEnB,OADA,EAAAE,EAAA,GAAOF,EAAQH,EAAiB,IACzB,EAASzE,QAClB,EAEA2E,EAAKI,QAAU,SAASH,GAEtB,OADA,EAAAE,EAAA,GAAOF,EAAQH,EAAiB,KACzB,GAAYzE,QACrB,EAEA2E,EAAK1E,OAAS,SAAS2E,GAErB,OADA,EAAAE,EAAA,GAAOF,EAAQH,EAAiB,MACzB,IAAWzE,QACpB,EAEA2E,EAAKhD,SAAW,SAASiD,GAEvB,OADA,EAAAE,EAAA,GAAOF,EAAQH,EAAiB,IACzB,EAAazE,QACtB,EAEA2E,EAAKH,WAAa,SAAS9B,GACzB,OAAK0B,UAAUd,QACfmB,EAAwB,MAAL/B,GAAa8B,EAAa,KAAMQ,EAAA,IAAaR,EAAa9B,GAAGoC,OACzEH,GAFuBH,CAGhC,EAEAG,EAAKtC,QAAU,SAASK,GACtB,OAAK0B,UAAUd,QACfoB,EAAqB,MAALhC,GAAaL,EAAU,KAAM,IAAIsB,GAAWC,IAAW,IAAIxB,EAAYC,EAAUK,GACtE,mBAAhBD,GAA4BiC,EAAcjC,YAAYA,GAC1DkC,GAHuBtC,CAIhC,EAEAsC,EAAKlC,YAAc,SAASC,GAC1B,OAAK0B,UAAUd,QACfb,EAA2B,mBAANC,EAAmBA,GAAKgC,EAAcjC,aAAaC,IAAKA,GACtEiC,GAFuBlC,CAGhC,EAEAkC,EAAKf,OAAS,SAASlB,GACrB,IAAK0B,UAAUd,OAAQ,OAAOM,EAC9B,GAAS,MAALlB,EAAWkB,EAAS,SACnB,CACH,MAAMG,EAAItG,KAAKmB,MAAM8D,GACrB,KAAMqB,GAAK,GAAI,MAAM,IAAIC,WAAW,mBAAmBtB,KACvDkB,EAASG,CACX,CAEA,OADgB,OAAZ1B,IAAkBqC,EAAgB,IAAIf,GAAWC,IAC9Ce,CACT,EAEOA,EAAKH,WAAWA,GAAYZ,OAAOA,GAAQvB,QAAQA,EAC5D,C,mDC3Ee,WAAS4C,EAAGC,GAEzB,SAASC,EAAQjI,EAAGI,GAClB,OAAOJ,EAAI+H,EAAE/H,EAAGI,GAAI4H,EAAEhI,EAAE,GAAIA,EAAE,GAChC,CAMA,OAJI+H,EAAEG,QAAUF,EAAEE,SAAQD,EAAQC,OAAS,SAASlI,EAAGI,GACrD,OAAOJ,EAAIgI,EAAEE,OAAOlI,EAAGI,KAAS2H,EAAEG,OAAOlI,EAAE,GAAIA,EAAE,GACnD,GAEOiI,CACT,CCRA,SAASE,EAAiBC,EAAQC,GAEhC,OADI,QAAID,GAAU,EAAAvH,KAAIuH,GAAU7H,KAAK0G,MAAMmB,EAAS,MAAO,MACpD,CAACA,EAAQC,EAClB,CAIO,SAAS,EAAcC,EAAaC,EAAUC,GACnD,OAAQF,GAAe,MAAQC,GAAYC,EAAaP,EAAQQ,EAAeH,GAAcI,EAAiBH,EAAUC,IACpHC,EAAeH,GACdC,GAAYC,EAAaE,EAAiBH,EAAUC,GACrDL,CACN,CAEA,SAASQ,EAAsBL,GAC7B,OAAO,SAASF,EAAQC,GAGtB,OAFAD,GAAUE,GACN,QAAIF,GAAU,EAAAvH,KAAIuH,GAAU7H,KAAK0G,MAAMmB,EAAS,MAAO,MACpD,CAACA,EAAQC,EAClB,CACF,CAEA,SAASI,EAAeH,GACtB,IAAIM,EAAWD,EAAsBL,GAErC,OADAM,EAASV,OAASS,GAAuBL,GAClCM,CACT,CAEA,SAASF,EAAiBH,EAAUC,GAClC,IAAIK,GAAc,QAAIN,GAClBO,GAAc,QAAIP,GAClBQ,GAAgB,QAAIP,GACpBQ,GAAgB,QAAIR,GAExB,SAASI,EAASR,EAAQC,GACxB,IAAIY,GAAS,QAAIZ,GACbrI,GAAI,QAAIoI,GAAUa,EAClB7I,GAAI,QAAIgI,GAAUa,EAClBlE,GAAI,QAAIsD,GACRtB,EAAIhC,EAAI8D,EAAc7I,EAAI8I,EAC9B,MAAO,EACL,QAAM1I,EAAI2I,EAAgBhC,EAAIiC,EAAehJ,EAAI6I,EAAc9D,EAAI+D,IACnE,QAAK/B,EAAIgC,EAAgB3I,EAAI4I,GAEjC,CAcA,OAZAJ,EAASV,OAAS,SAASE,EAAQC,GACjC,IAAIY,GAAS,QAAIZ,GACbrI,GAAI,QAAIoI,GAAUa,EAClB7I,GAAI,QAAIgI,GAAUa,EAClBlE,GAAI,QAAIsD,GACRtB,EAAIhC,EAAIgE,EAAgB3I,EAAI4I,EAChC,MAAO,EACL,QAAM5I,EAAI2I,EAAgBhE,EAAIiE,EAAehJ,EAAI6I,EAAc9B,EAAI+B,IACnE,QAAK/B,EAAI8B,EAAc7I,EAAI8I,GAE/B,EAEOF,CACT,CAtDAT,EAAiBD,OAASC,E,eCNX,aACb,IACIe,EADAC,EAAQ,GAEZ,MAAO,CACL1G,MAAO,SAASzC,EAAGI,EAAGgJ,GACpBF,EAAKG,KAAK,CAACrJ,EAAGI,EAAGgJ,GACnB,EACA1G,UAAW,WACTyG,EAAME,KAAKH,EAAO,GACpB,EACAvG,QAASR,EAAA,EACTmH,OAAQ,WACFH,EAAM/C,OAAS,GAAG+C,EAAME,KAAKF,EAAMI,MAAMC,OAAOL,EAAMM,SAC5D,EACA3G,OAAQ,WACN,IAAIA,EAASqG,EAGb,OAFAA,EAAQ,GACRD,EAAO,KACApG,CACT,EAEJ,CCrBe,WAASiF,EAAGC,GACzB,OAAO,QAAID,EAAE,GAAKC,EAAE,IAAM,OAAW,QAAID,EAAE,GAAKC,EAAE,IAAM,IAC1D,CCDA,SAAS0B,EAAajH,EAAOkH,EAAQC,EAAOC,GAC1ClK,KAAKK,EAAIyC,EACT9C,KAAKoF,EAAI4E,EACThK,KAAKmK,EAAIF,EACTjK,KAAKoK,EAAIF,EACTlK,KAAKqK,GAAI,EACTrK,KAAKe,EAAIf,KAAKM,EAAI,IACpB,CAKe,WAASgK,EAAUC,EAAqBC,EAAaC,EAAaxC,GAC/E,IAEI1H,EACAQ,EAHA2J,EAAU,GACVC,EAAO,GAyBX,GArBAL,EAASM,SAAQ,SAASC,GACxB,MAAK9J,EAAI8J,EAAQpE,OAAS,IAAM,GAAhC,CACA,IAAI1F,EAAqCV,EAAlCyK,EAAKD,EAAQ,GAAIE,EAAKF,EAAQ9J,GAErC,GAAIiK,EAAWF,EAAIC,GAAK,CACtB,IAAKD,EAAG,KAAOC,EAAG,GAAI,CAEpB,IADA9C,EAAOlF,YACFxC,EAAI,EAAGA,EAAIQ,IAAKR,EAAG0H,EAAOnF,OAAOgI,EAAKD,EAAQtK,IAAI,GAAIuK,EAAG,IAE9D,YADA7C,EAAOjF,SAET,CAEA+H,EAAG,IAAM,EAAI,IACf,CAEAL,EAAQhB,KAAKrJ,EAAI,IAAI0J,EAAae,EAAID,EAAS,MAAM,IACrDF,EAAKjB,KAAKrJ,EAAE8J,EAAI,IAAIJ,EAAae,EAAI,KAAMzK,GAAG,IAC9CqK,EAAQhB,KAAKrJ,EAAI,IAAI0J,EAAagB,EAAIF,EAAS,MAAM,IACrDF,EAAKjB,KAAKrJ,EAAE8J,EAAI,IAAIJ,EAAagB,EAAI,KAAM1K,GAAG,GAjBL,CAkB3C,IAEKqK,EAAQjE,OAAb,CAMA,IAJAkE,EAAKM,KAAKV,GACV,EAAKG,GACL,EAAKC,GAEApK,EAAI,EAAGQ,EAAI4J,EAAKlE,OAAQlG,EAAIQ,IAAKR,EACpCoK,EAAKpK,GAAG6J,EAAII,GAAeA,EAO7B,IAJA,IACIR,EACAlH,EAFAoI,EAAQR,EAAQ,KAIV,CAIR,IAFA,IAAIS,EAAUD,EACVE,GAAY,EACTD,EAAQd,OAAQc,EAAUA,EAAQpK,KAAOmK,EAAO,OACvDlB,EAASmB,EAAQ/F,EACjB6C,EAAOlF,YACP,EAAG,CAED,GADAoI,EAAQd,EAAIc,EAAQhB,EAAEE,GAAI,EACtBc,EAAQf,EAAG,CACb,GAAIgB,EACF,IAAK7K,EAAI,EAAGQ,EAAIiJ,EAAOvD,OAAQlG,EAAIQ,IAAKR,EAAG0H,EAAOnF,OAAOA,EAAQkH,EAAOzJ,IAAI,GAAIuC,EAAM,SAEtF2H,EAAYU,EAAQ9K,EAAG8K,EAAQpK,EAAEV,EAAG,EAAG4H,GAEzCkD,EAAUA,EAAQpK,CACpB,KAAO,CACL,GAAIqK,EAEF,IADApB,EAASmB,EAAQ7K,EAAE8E,EACd7E,EAAIyJ,EAAOvD,OAAS,EAAGlG,GAAK,IAAKA,EAAG0H,EAAOnF,OAAOA,EAAQkH,EAAOzJ,IAAI,GAAIuC,EAAM,SAEpF2H,EAAYU,EAAQ9K,EAAG8K,EAAQ7K,EAAED,GAAI,EAAG4H,GAE1CkD,EAAUA,EAAQ7K,CACpB,CAEA0J,GADAmB,EAAUA,EAAQhB,GACD/E,EACjBgG,GAAaA,CACf,QAAUD,EAAQd,GAClBpC,EAAOjF,SACT,CA5C2B,CA6C7B,CAEA,SAAS,EAAKqI,GACZ,GAAMtK,EAAIsK,EAAM5E,OAAhB,CAKA,IAJA,IAAI1F,EAGAsH,EAFA9H,EAAI,EACJ6H,EAAIiD,EAAM,KAEL9K,EAAIQ,GACXqH,EAAErH,EAAIsH,EAAIgD,EAAM9K,GAChB8H,EAAE/H,EAAI8H,EACNA,EAAIC,EAEND,EAAErH,EAAIsH,EAAIgD,EAAM,GAChBhD,EAAE/H,EAAI8H,CAXyB,CAYjC,C,eCpGO,SAASkD,EAAUC,GACxB,MAAO,EAAC,QAAMA,EAAU,GAAIA,EAAU,KAAK,QAAKA,EAAU,IAC5D,CAEO,SAASA,EAAUD,GACxB,IAAI7C,EAAS6C,EAAU,GAAI5C,EAAM4C,EAAU,GAAIhC,GAAS,QAAIZ,GAC5D,MAAO,CAACY,GAAS,QAAIb,GAASa,GAAS,QAAIb,IAAS,QAAIC,GAC1D,CAEO,SAAS8C,EAAapD,EAAGC,GAC9B,OAAOD,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,EAC9C,CAEO,SAASoD,EAAerD,EAAGC,GAChC,MAAO,CAACD,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GAAID,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GAAID,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GACvF,CAGO,SAASqD,EAAoBtD,EAAGC,GACrCD,EAAE,IAAMC,EAAE,GAAID,EAAE,IAAMC,EAAE,GAAID,EAAE,IAAMC,EAAE,EACxC,CAEO,SAASsD,EAAeC,EAAQxE,GACrC,MAAO,CAACwE,EAAO,GAAKxE,EAAGwE,EAAO,GAAKxE,EAAGwE,EAAO,GAAKxE,EACpD,CAGO,SAASyE,EAA0B3E,GACxC,IAAI4E,GAAI,QAAK5E,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAClDA,EAAE,IAAM4E,EAAG5E,EAAE,IAAM4E,EAAG5E,EAAE,IAAM4E,CAChC,CC5BA,SAASC,EAAUjJ,GACjB,OAAO,QAAIA,EAAM,KAAO,EAAA5B,GAAK4B,EAAM,IAAK,QAAKA,EAAM,OAAQ,QAAIA,EAAM,IAAM,EAAA5B,IAAM,KAAM,EAAAA,GACzF,CCAe,SAAS8K,EAAMC,GAC5B,OAAOC,MAAMC,KAPf,UAAkBF,GAChB,IAAK,MAAMZ,KAASY,QACXZ,CAEX,CAGoBe,CAAQH,GAC5B,CCFe,WAASI,EAAcC,EAAU7B,EAAaS,GAC3D,OAAO,SAASqB,GACd,IAIIC,EACAlC,EACAmC,EANAlD,EAAO+C,EAASC,GAChBG,EAAa,IACbC,EAAWL,EAASI,GACpBE,GAAiB,EAKjBjC,EAAO,CACT7H,MAAOA,EACPC,UAAWA,EACXC,QAASA,EACTC,aAAc,WACZ0H,EAAK7H,MAAQ+J,EACblC,EAAK5H,UAAY+J,EACjBnC,EAAK3H,QAAU+J,EACfzC,EAAW,GACXkC,EAAU,EACZ,EACAtJ,WAAY,WACVyH,EAAK7H,MAAQA,EACb6H,EAAK5H,UAAYA,EACjB4H,EAAK3H,QAAUA,EACfsH,EAAW0B,EAAM1B,GACjB,IAAIE,EFxBG,SAASgC,EAAS1J,GAC/B,IAAI2F,EAASsD,EAAUjJ,GACnB4F,EAAM5F,EAAM,GACZkK,GAAS,QAAItE,GACbuE,EAAS,EAAC,QAAIxE,KAAU,QAAIA,GAAS,GACrCyE,EAAQ,EACRC,EAAU,EAEVC,EAAM,IAAI,KAEC,IAAXJ,EAActE,EAAM,KAAS,MACZ,IAAZsE,IAAetE,GAAO,KAAS,MAExC,IAAK,IAAInI,EAAI,EAAGQ,EAAIyL,EAAQ/F,OAAQlG,EAAIQ,IAAKR,EAC3C,GAAMkJ,GAAKgD,EAAOD,EAAQjM,IAAIkG,OAS9B,IARA,IAAIgG,EACAhD,EACA4D,EAASZ,EAAKhD,EAAI,GAClB6D,EAAUvB,EAAUsB,GACpBE,EAAOF,EAAO,GAAK,EAAI,KACvBG,GAAU,QAAID,GACdE,GAAU,QAAIF,GAET/M,EAAI,EAAGA,EAAIiJ,IAAKjJ,EAAG8M,EAAUI,EAASF,EAAUG,EAASF,EAAUG,EAASP,EAASQ,EAAQ,CACpG,IAAIA,EAASpB,EAAKjM,GACdkN,EAAU3B,EAAU8B,GACpBC,EAAOD,EAAO,GAAK,EAAI,KACvBF,GAAU,QAAIG,GACdF,GAAU,QAAIE,GACdC,EAAQL,EAAUJ,EAClBnL,EAAO4L,GAAS,EAAI,GAAK,EACzBC,EAAW7L,EAAO4L,EAClBE,EAAeD,EAAW,EAAA9M,GAC1BkG,EAAIoG,EAAUG,EAOlB,GALAP,EAAIhN,KAAI,QAAMgH,EAAIjF,GAAO,QAAI6L,GAAWP,EAAUG,EAAUxG,GAAI,QAAI4G,KACpEd,GAASe,EAAeF,EAAQ5L,EAAO,KAAM4L,EAIzCE,EAAeX,GAAW7E,EAASiF,GAAWjF,EAAQ,CACxD,IAAItC,EAAMsF,EAAeF,EAAU8B,GAAS9B,EAAUsC,IACtDhC,EAA0B1F,GAC1B,IAAI+H,EAAezC,EAAewB,EAAQ9G,GAC1C0F,EAA0BqC,GAC1B,IAAIC,GAAUF,EAAeF,GAAS,GAAK,EAAI,IAAK,QAAKG,EAAa,KAClExF,EAAMyF,GAAUzF,IAAQyF,IAAWhI,EAAI,IAAMA,EAAI,OACnDgH,GAAWc,EAAeF,GAAS,EAAI,GAAK,EAEhD,CACF,CAcF,OAAQb,GAAS,MAAWA,EAAQ,MAAWE,GAAO,MAAuB,EAAVD,CACrE,CEzC0BiB,CAAgB5B,EAAStB,GACvCZ,EAAS7D,QACNmG,IAAgBL,EAAKtJ,eAAgB2J,GAAiB,GAC3D,EAAWtC,EAAUC,EAAqBC,EAAaC,EAAa8B,IAC3D/B,IACJoC,IAAgBL,EAAKtJ,eAAgB2J,GAAiB,GAC3DL,EAAKxJ,YACL0H,EAAY,KAAM,KAAM,EAAG8B,GAC3BA,EAAKvJ,WAEH4J,IAAgBL,EAAKrJ,aAAc0J,GAAiB,GACxDtC,EAAWkC,EAAU,IACvB,EACA6B,OAAQ,WACN9B,EAAKtJ,eACLsJ,EAAKxJ,YACL0H,EAAY,KAAM,KAAM,EAAG8B,GAC3BA,EAAKvJ,UACLuJ,EAAKrJ,YACP,GAGF,SAASJ,EAAM2F,EAAQC,GACjB2D,EAAa5D,EAAQC,IAAM6D,EAAKzJ,MAAM2F,EAAQC,EACpD,CAEA,SAAS4F,EAAU7F,EAAQC,GACzBa,EAAKzG,MAAM2F,EAAQC,EACrB,CAEA,SAAS3F,IACP4H,EAAK7H,MAAQwL,EACb/E,EAAKxG,WACP,CAEA,SAASC,IACP2H,EAAK7H,MAAQA,EACbyG,EAAKvG,SACP,CAEA,SAAS6J,EAAUpE,EAAQC,GACzB+D,EAAK/C,KAAK,CAACjB,EAAQC,IACnBiE,EAAS7J,MAAM2F,EAAQC,EACzB,CAEA,SAASoE,IACPH,EAAS5J,YACT0J,EAAO,EACT,CAEA,SAASM,IACPF,EAAUJ,EAAK,GAAG,GAAIA,EAAK,GAAG,IAC9BE,EAAS3J,UAET,IAEIzC,EAA4BkJ,EAC5BoB,EACA/H,EAJAyL,EAAQ5B,EAAS4B,QACjBC,EAAe9B,EAAWvJ,SACvBpC,EAAIyN,EAAa/H,OAQxB,GAJAgG,EAAK7C,MACL4C,EAAQ9C,KAAK+C,GACbA,EAAO,KAEF1L,EAGL,GAAY,EAARwN,GAEF,IAAK9E,GADLoB,EAAU2D,EAAa,IACN/H,OAAS,GAAK,EAAG,CAGhC,IAFKmG,IAAgBL,EAAKtJ,eAAgB2J,GAAiB,GAC3DL,EAAKxJ,YACAxC,EAAI,EAAGA,EAAIkJ,IAAKlJ,EAAGgM,EAAKzJ,OAAOA,EAAQ+H,EAAQtK,IAAI,GAAIuC,EAAM,IAClEyJ,EAAKvJ,SACP,OAMEjC,EAAI,GAAa,EAARwN,GAAWC,EAAa9E,KAAK8E,EAAa5E,MAAMC,OAAO2E,EAAa1E,UAEjFQ,EAASZ,KAAK8E,EAAaC,OAAOC,GACpC,CAEA,OAAO/D,CACT,CACF,CAEA,SAAS+D,EAAa7D,GACpB,OAAOA,EAAQpE,OAAS,CAC1B,CAIA,SAAS8D,EAAoBnC,EAAGC,GAC9B,QAASD,EAAIA,EAAE/H,GAAG,GAAK,EAAI+H,EAAE,GAAK,KAAS,KAAU,KAASA,EAAE,MACvDC,EAAIA,EAAEhI,GAAG,GAAK,EAAIgI,EAAE,GAAK,KAAS,KAAU,KAASA,EAAE,GAClE,CC/HA,QAAesC,GACb,WAAa,OAAO,CAAM,IAS5B,SAA8B1C,GAC5B,IAGIsG,EAHAjB,EAAUvI,IACVwI,EAAOxI,IACP4J,EAAQ5J,IAGZ,MAAO,CACLhC,UAAW,WACTkF,EAAOlF,YACPwL,EAAQ,CACV,EACAzL,MAAO,SAAS4K,EAASI,GACvB,IAAIc,EAAQlB,EAAU,EAAI,EAAAxM,IAAM,EAAAA,GAC5B6M,GAAQ,QAAIL,EAAUJ,IACtB,QAAIS,EAAQ,EAAA7M,IAAM,MACpB+G,EAAOnF,MAAMwK,EAASC,GAAQA,EAAOO,GAAQ,EAAI,EAAI,MAAU,MAC/D7F,EAAOnF,MAAM6L,EAAOpB,GACpBtF,EAAOjF,UACPiF,EAAOlF,YACPkF,EAAOnF,MAAM8L,EAAOrB,GACpBtF,EAAOnF,MAAM4K,EAASH,GACtBgB,EAAQ,GACCI,IAAUC,GAASb,GAAS,EAAA7M,MACjC,QAAIoM,EAAUqB,GAAS,OAASrB,GAAWqB,EAAQ,OACnD,QAAIjB,EAAUkB,GAAS,OAASlB,GAAWkB,EAAQ,MACvDrB,EAoBR,SAAmCD,EAASC,EAAMG,EAASI,GACzD,IAAIL,EACAG,EACAiB,GAAoB,QAAIvB,EAAUI,GACtC,OAAO,QAAImB,GAAqB,MAC1B,UAAM,QAAItB,IAASK,GAAU,QAAIE,KAAS,QAAIJ,IAC1C,QAAII,IAASL,GAAU,QAAIF,KAAS,QAAID,KACvCG,EAAUG,EAAUiB,KACxBtB,EAAOO,GAAQ,CACxB,CA7BegB,CAA0BxB,EAASC,EAAMG,EAASI,GACzD7F,EAAOnF,MAAM6L,EAAOpB,GACpBtF,EAAOjF,UACPiF,EAAOlF,YACPkF,EAAOnF,MAAM8L,EAAOrB,GACpBgB,EAAQ,GAEVtG,EAAOnF,MAAMwK,EAAUI,EAASH,EAAOO,GACvCa,EAAQC,CACV,EACA5L,QAAS,WACPiF,EAAOjF,UACPsK,EAAUC,EAAOxI,GACnB,EACAwJ,MAAO,WACL,OAAO,EAAIA,CACb,EAEJ,IAaA,SAAqCpC,EAAM4C,EAAIC,EAAW/G,GACxD,IAAIS,EACJ,GAAY,MAARyD,EACFzD,EAAMsG,EAAY,KAClB/G,EAAOnF,OAAO,EAAA5B,GAAIwH,GAClBT,EAAOnF,MAAM,EAAG4F,GAChBT,EAAOnF,MAAM,EAAA5B,GAAIwH,GACjBT,EAAOnF,MAAM,EAAA5B,GAAI,GACjB+G,EAAOnF,MAAM,EAAA5B,IAAKwH,GAClBT,EAAOnF,MAAM,GAAI4F,GACjBT,EAAOnF,OAAO,EAAA5B,IAAKwH,GACnBT,EAAOnF,OAAO,EAAA5B,GAAI,GAClB+G,EAAOnF,OAAO,EAAA5B,GAAIwH,QACb,IAAI,QAAIyD,EAAK,GAAK4C,EAAG,IAAM,KAAS,CACzC,IAAItG,EAAS0D,EAAK,GAAK4C,EAAG,GAAK,EAAA7N,IAAM,EAAAA,GACrCwH,EAAMsG,EAAYvG,EAAS,EAC3BR,EAAOnF,OAAO2F,EAAQC,GACtBT,EAAOnF,MAAM,EAAG4F,GAChBT,EAAOnF,MAAM2F,EAAQC,EACvB,MACET,EAAOnF,MAAMiM,EAAG,GAAIA,EAAG,GAE3B,GApFE,EAAE,EAAA7N,IAAK,OCmBT,SAAS+N,EAAaC,EAAWpM,IAC/BA,EAAQyI,EAAUzI,IAAc,IAAMoM,EACtCrD,EAA0B/I,GAC1B,IAAIqM,GAAS,SAAMrM,EAAM,IACzB,SAAUA,EAAM,GAAK,GAAKqM,EAASA,GAAU,KAAM,MAAW,IAChE,CCzBA,IAAIC,EAAU,IAAKC,GAAWD,E,eCAvB,SAASE,EAAYC,GAC1B,OAAO,SAAStH,GACd,IAAIP,EAAI,IAAI8H,EACZ,IAAK,IAAIC,KAAOF,EAAS7H,EAAE+H,GAAOF,EAAQE,GAE1C,OADA/H,EAAEO,OAASA,EACJP,CACT,CACF,CAEA,SAAS8H,IAAmB,CAE5BA,EAAgB9J,UAAY,CAC1B3F,YAAayP,EACb1M,MAAO,SAASzC,EAAGI,GAAKT,KAAKiI,OAAOnF,MAAMzC,EAAGI,EAAI,EACjD4N,OAAQ,WAAarO,KAAKiI,OAAOoG,QAAU,EAC3CtL,UAAW,WAAa/C,KAAKiI,OAAOlF,WAAa,EACjDC,QAAS,WAAahD,KAAKiI,OAAOjF,SAAW,EAC7CC,aAAc,WAAajD,KAAKiI,OAAOhF,cAAgB,EACvDC,WAAY,WAAalD,KAAKiI,OAAO/E,YAAc,G,yBCrBrD,SAASwM,EAAI/H,EAAYgI,EAAW5H,GAClC,IAAI4C,EAAOhD,EAAWiI,YAAcjI,EAAWiI,aAM/C,OALAjI,EAAWkI,MAAM,KAAKC,UAAU,CAAC,EAAG,IACxB,MAARnF,GAAchD,EAAWiI,WAAW,OACxC,OAAU7H,EAAQJ,EAAWM,OAAO7E,EAAA,IACpCuM,EAAUvM,EAAA,EAAaD,UACX,MAARwH,GAAchD,EAAWiI,WAAWjF,GACjChD,CACT,CAEO,SAASoI,EAAUpI,EAAYqI,EAAQjI,GAC5C,OAAO2H,EAAI/H,GAAY,SAASU,GAC9B,IAAI4H,EAAID,EAAO,GAAG,GAAKA,EAAO,GAAG,GAC7BE,EAAIF,EAAO,GAAG,GAAKA,EAAO,GAAG,GAC7B5I,EAAIxG,KAAKuP,IAAIF,GAAK5H,EAAE,GAAG,GAAKA,EAAE,GAAG,IAAK6H,GAAK7H,EAAE,GAAG,GAAKA,EAAE,GAAG,KAC1DhI,GAAK2P,EAAO,GAAG,IAAMC,EAAI7I,GAAKiB,EAAE,GAAG,GAAKA,EAAE,GAAG,KAAO,EACpD5H,GAAKuP,EAAO,GAAG,IAAME,EAAI9I,GAAKiB,EAAE,GAAG,GAAKA,EAAE,GAAG,KAAO,EACxDV,EAAWkI,MAAM,IAAMzI,GAAG0I,UAAU,CAACzP,EAAGI,GAC1C,GAAGsH,EACL,CClBA,IAAIqI,EAAW,GACXC,GAAiB,QAAI,GAAK,MAEf,WAASC,EAASC,GAC/B,OAAQA,EAYV,SAAkBD,EAASC,GAEzB,SAASC,EAAe/N,EAAIE,EAAI2K,EAASmD,EAAIC,EAAIC,EAAI/N,EAAIC,EAAI6K,EAASkD,EAAIC,EAAIC,EAAIC,EAAO9I,GACvF,IAAI/C,EAAKtC,EAAKH,EACV0C,EAAKtC,EAAKF,EACVqO,EAAK9L,EAAKA,EAAKC,EAAKA,EACxB,GAAI6L,EAAK,EAAIT,GAAUQ,IAAS,CAC9B,IAAI3I,EAAIqI,EAAKG,EACTvI,EAAIqI,EAAKG,EACTI,EAAIN,EAAKG,EACTrH,GAAI,QAAKrB,EAAIA,EAAIC,EAAIA,EAAI4I,EAAIA,GAC7BC,GAAO,QAAKD,GAAKxH,GACjB0H,GAAU,SAAI,QAAIF,GAAK,GAAK,OAAW,QAAI3D,EAAUI,GAAW,MAAWJ,EAAUI,GAAW,GAAI,QAAMrF,EAAGD,GAC7G9H,EAAIgQ,EAAQa,EAASD,GACrBE,EAAK9Q,EAAE,GACP+Q,EAAK/Q,EAAE,GACPgR,EAAMF,EAAK3O,EACX8O,EAAMF,EAAK1O,EACX6O,EAAKrM,EAAKmM,EAAMpM,EAAKqM,GACrBC,EAAKA,EAAKR,EAAKT,IACZ,SAAKrL,EAAKoM,EAAMnM,EAAKoM,GAAOP,EAAK,IAAO,IACxCP,EAAKG,EAAKF,EAAKG,EAAKF,EAAKG,EAAKT,KACnCG,EAAe/N,EAAIE,EAAI2K,EAASmD,EAAIC,EAAIC,EAAIS,EAAIC,EAAIF,EAAS/I,GAAKqB,EAAGpB,GAAKoB,EAAGwH,EAAGF,EAAO9I,GACvFA,EAAOnF,MAAMsO,EAAIC,GACjBb,EAAeY,EAAIC,EAAIF,EAAS/I,EAAGC,EAAG4I,EAAGrO,EAAIC,EAAI6K,EAASkD,EAAIC,EAAIC,EAAIC,EAAO9I,GAEjF,CACF,CACA,OAAO,SAASA,GACd,IAAIwJ,EAAUpO,EAAKC,EAAKoO,EAAKC,EAAKC,EAC9BtE,EAAS7K,EAAIE,EAAI8N,EAAIC,EAAIC,EAEzBkB,EAAiB,CACnB/O,MAAOA,EACPC,UAAWA,EACXC,QAASA,EACTC,aAAc,WAAagF,EAAOhF,eAAgB4O,EAAe9O,UAAY+J,CAAW,EACxF5J,WAAY,WAAa+E,EAAO/E,aAAc2O,EAAe9O,UAAYA,CAAW,GAGtF,SAASD,EAAMzC,EAAGI,GAChBJ,EAAIiQ,EAAQjQ,EAAGI,GACfwH,EAAOnF,MAAMzC,EAAE,GAAIA,EAAE,GACvB,CAEA,SAAS0C,IACPN,EAAKsC,IACL8M,EAAe/O,MAAQgP,EACvB7J,EAAOlF,WACT,CAEA,SAAS+O,EAAUrJ,EAAQC,GACzB,IAAIuI,EAAI1F,EAAU,CAAC9C,EAAQC,IAAOpI,EAAIgQ,EAAQ7H,EAAQC,GACtD8H,EAAe/N,EAAIE,EAAI2K,EAASmD,EAAIC,EAAIC,EAAIlO,EAAKnC,EAAE,GAAIqC,EAAKrC,EAAE,GAAIgN,EAAU7E,EAAQgI,EAAKQ,EAAE,GAAIP,EAAKO,EAAE,GAAIN,EAAKM,EAAE,GAAIb,EAAUnI,GAC/HA,EAAOnF,MAAML,EAAIE,EACnB,CAEA,SAASK,IACP6O,EAAe/O,MAAQA,EACvBmF,EAAOjF,SACT,CAEA,SAAS8J,IACP/J,IACA8O,EAAe/O,MAAQiP,EACvBF,EAAe7O,QAAU+J,CAC3B,CAEA,SAASgF,EAAUtJ,EAAQC,GACzBoJ,EAAUL,EAAWhJ,EAAQC,GAAMrF,EAAMZ,EAAIa,EAAMX,EAAI+O,EAAMjB,EAAIkB,EAAMjB,EAAIkB,EAAMjB,EACjFkB,EAAe/O,MAAQgP,CACzB,CAEA,SAAS/E,IACPyD,EAAe/N,EAAIE,EAAI2K,EAASmD,EAAIC,EAAIC,EAAItN,EAAKC,EAAKmO,EAAUC,EAAKC,EAAKC,EAAKxB,EAAUnI,GACzF4J,EAAe7O,QAAUA,EACzBA,GACF,CAEA,OAAO6O,CACT,CACF,CA7FmB,CAASvB,EAASC,GAGrC,SAAsBD,GACpB,OAAOhB,EAAY,CACjBxM,MAAO,SAASzC,EAAGI,GACjBJ,EAAIiQ,EAAQjQ,EAAGI,GACfT,KAAKiI,OAAOnF,MAAMzC,EAAE,GAAIA,EAAE,GAC5B,GAEJ,CAV+C2R,CAAa1B,EAC5D,CCEA,IAAI2B,EAAmB3C,EAAY,CACjCxM,MAAO,SAASzC,EAAGI,GACjBT,KAAKiI,OAAOnF,MAAMzC,EAAI,KAASI,EAAI,KACrC,IAuBF,SAASyR,EAAqB9K,EAAGlC,EAAIC,EAAIgN,EAAIC,EAAIC,GAC/C,IAAKA,EAAO,OAZd,SAAwBjL,EAAGlC,EAAIC,EAAIgN,EAAIC,GACrC,SAASE,EAAUjS,EAAGI,GAEpB,MAAO,CAACyE,EAAKkC,GADb/G,GAAK8R,GACehN,EAAKiC,GADhB3G,GAAK2R,GAEhB,CAIA,OAHAE,EAAU/J,OAAS,SAASlI,EAAGI,GAC7B,MAAO,EAAEJ,EAAI6E,GAAMkC,EAAI+K,GAAKhN,EAAK1E,GAAK2G,EAAIgL,EAC5C,EACOE,CACT,CAGqBC,CAAenL,EAAGlC,EAAIC,EAAIgN,EAAIC,GACjD,IAAII,GAAW,QAAIH,GACfI,GAAW,QAAIJ,GACfjK,EAAIoK,EAAWpL,EACfiB,EAAIoK,EAAWrL,EACfsL,EAAKF,EAAWpL,EAChBuL,EAAKF,EAAWrL,EAChBwL,GAAMH,EAAWtN,EAAKqN,EAAWtN,GAAMkC,EACvCyL,GAAMJ,EAAWvN,EAAKsN,EAAWrN,GAAMiC,EAC3C,SAASkL,EAAUjS,EAAGI,GAEpB,MAAO,CAAC2H,GADR/H,GAAK8R,GACW9J,GADP5H,GAAK2R,GACUlN,EAAIC,EAAKkD,EAAIhI,EAAI+H,EAAI3H,EAC/C,CAIA,OAHA6R,EAAU/J,OAAS,SAASlI,EAAGI,GAC7B,MAAO,CAAC0R,GAAMO,EAAKrS,EAAIsS,EAAKlS,EAAImS,GAAKR,GAAMS,EAAKF,EAAKtS,EAAIqS,EAAKjS,GAChE,EACO6R,CACT,CAEe,SAAS3K,EAAW2I,GACjC,OAGK,SAA2BwC,GAChC,IAAIxC,EAI+CyC,EAKpCpQ,EAAIC,EAAIC,EAEnBmQ,EACAC,EACAC,EACAC,EACAC,EAdAhM,EAAI,IACJ/G,EAAI,IAAKI,EAAI,IACbgI,EAAS,EAAGC,EAAM,EAClBC,EAAc,EAAGC,EAAW,EAAGC,EAAa,EAC5CwJ,EAAQ,EACRF,EAAK,EACLC,EAAK,EACLiB,EAAQ,KAAMC,EAAU,EACxB7Q,EAAK,KAAkB8Q,EAAWpL,EAAA,EAClCoI,EAAS,GAOb,SAAS5I,EAAW7E,GAClB,OAAOoQ,EAAuBpQ,EAAM,GAAK,KAASA,EAAM,GAAK,KAC/D,CAEA,SAASyF,EAAOzF,GAEd,OADAA,EAAQoQ,EAAuB3K,OAAOzF,EAAM,GAAIA,EAAM,MACtC,CAACA,EAAM,GAAK,KAASA,EAAM,GAAK,KAClD,CAsEA,SAAS0Q,KACP,IAAIC,EAASvB,EAAqB9K,EAAG,EAAG,EAAG+K,EAAIC,EAAIC,GAAOrK,MAAM,KAAMsI,EAAQ7H,EAAQC,IAClF4J,EAAYJ,EAAqB9K,EAAG/G,EAAIoT,EAAO,GAAIhT,EAAIgT,EAAO,GAAItB,EAAIC,EAAIC,GAK9E,OAJAU,EAAS,EAAcpK,EAAaC,EAAUC,GAC9CoK,EAAmB3K,EAAQgI,EAASgC,GACpCY,EAAyB5K,EAAQyK,EAAQE,GACzCD,EAAkBU,EAAST,EAAkB1C,GACtCoD,IACT,CAEA,SAASA,KAEP,OADAR,EAAQC,EAAc,KACfzL,CACT,CAEA,OAnFAA,EAAWM,OAAS,SAASA,GAC3B,OAAOkL,GAASC,IAAgBnL,EAASkL,EAAQA,EAAQlB,EAxE7D,SAAyBc,GACvB,OAAOzD,EAAY,CACjBxM,MAAO,SAASzC,EAAGI,GACjB,IAAIgH,EAAIsL,EAAO1S,EAAGI,GAClB,OAAOT,KAAKiI,OAAOnF,MAAM2E,EAAE,GAAIA,EAAE,GACnC,GAEJ,CAiE8EmM,CAAgBb,EAAhBa,CAAwBN,EAAQN,EAAgBO,EAASH,EAAcnL,MACnJ,EAEAN,EAAW2L,QAAU,SAASzN,GAC5B,OAAO0B,UAAUd,QAAU6M,EAAUzN,EAAGwN,OAAQQ,EAAWF,MAAWL,CACxE,EAEA3L,EAAW4L,SAAW,SAAS1N,GAC7B,OAAO0B,UAAUd,QAAU8M,EAAW1N,EAAGpD,EAAKE,EAAKC,EAAKC,EAAK,KAAM8Q,MAAWJ,CAChF,EAEA5L,EAAWmM,UAAY,SAASjO,GAC9B,OAAO0B,UAAUd,QAAU6M,GAAWzN,EC/F3B,SAASsJ,GACtB,IAAI4E,GAAK,QAAI5E,GACTpB,EAAQ,EAAI,KACZiG,EAAcD,EAAK,EACnBE,GAAgB,QAAIF,GAAM,KAM9B,SAASG,EAAQzL,EAAQC,GACvB,OAAO,QAAID,IAAU,QAAIC,GAAOqL,CAClC,CAiFA,SAASI,EAAU/L,EAAGC,EAAG+L,GACvB,IAKIC,EAAK,CAAC,EAAG,EAAG,GACZC,EAAK7I,EANAF,EAAUnD,GACVmD,EAAUlD,IAMfkM,EAAO/I,EAAa8I,EAAIA,GACxBE,EAAOF,EAAG,GACVG,EAAcF,EAAOC,EAAOA,EAGhC,IAAKC,EAAa,OAAQL,GAAOhM,EAEjC,IAAI0I,EAAMiD,EAAKQ,EAAOE,EAClBC,GAAMX,EAAKS,EAAOC,EAClBE,EAAQlJ,EAAe4I,EAAIC,GAC3BM,EAAIjJ,EAAe0I,EAAIvD,GAE3BpF,EAAoBkJ,EADZjJ,EAAe2I,EAAII,IAI3B,IAAIG,EAAIF,EACJ1E,EAAIzE,EAAaoJ,EAAGC,GACpBC,EAAKtJ,EAAaqJ,EAAGA,GACrBE,EAAK9E,EAAIA,EAAI6E,GAAMtJ,EAAaoJ,EAAGA,GAAK,GAE5C,KAAIG,EAAK,GAAT,CAEA,IAAIC,GAAI,QAAKD,GACTE,EAAItJ,EAAekJ,IAAK5E,EAAI+E,GAAKF,GAIrC,GAHApJ,EAAoBuJ,EAAGL,GACvBK,EAAI3J,EAAU2J,IAETb,EAAK,OAAOa,EAGjB,IAII7P,EAJAkI,EAAUlF,EAAE,GACZsF,EAAUrF,EAAE,GACZkF,EAAOnF,EAAE,GACT0F,EAAOzF,EAAE,GAGTqF,EAAUJ,IAASlI,EAAIkI,EAASA,EAAUI,EAASA,EAAUtI,GAEjE,IAAI2I,EAAQL,EAAUJ,EAClB4H,GAAQ,QAAInH,EAAQ,EAAA7M,IAAM,KAM9B,IAHKgU,GAASpH,EAAOP,IAAMnI,EAAImI,EAAMA,EAAOO,EAAMA,EAAO1I,GAF1C8P,GAASnH,EAAQ,KAM1BmH,EACE3H,EAAOO,EAAO,EAAImH,EAAE,KAAM,QAAIA,EAAE,GAAK3H,GAAW,KAAUC,EAAOO,GACjEP,GAAQ0H,EAAE,IAAMA,EAAE,IAAMnH,EAC1BC,EAAQ,EAAA7M,IAAMoM,GAAW2H,EAAE,IAAMA,EAAE,IAAMvH,GAAU,CACvD,IAAIyH,EAAKxJ,EAAekJ,IAAK5E,EAAI+E,GAAKF,GAEtC,OADApJ,EAAoByJ,EAAIP,GACjB,CAACK,EAAG3J,EAAU6J,GACvB,CAjCkB,CAkCpB,CAIA,SAASC,EAAK3M,EAAQC,GACpB,IAAIjB,EAAIuM,EAAc7E,EAAS,EAAAjO,GAAKiO,EAChCiG,EAAO,EAKX,OAJI3M,GAAUhB,EAAG2N,GAAQ,EAChB3M,EAAShB,IAAG2N,GAAQ,GACzB1M,GAAOjB,EAAG2N,GAAQ,EACb1M,EAAMjB,IAAG2N,GAAQ,GACnBA,CACT,CAEA,OAAOzK,EAAKuJ,GAvJZ,SAAkBjM,GAChB,IAAIoF,EACAsD,EACA0E,EACAC,EACA/G,EACJ,MAAO,CACLxL,UAAW,WACTuS,EAAMD,GAAK,EACX9G,EAAQ,CACV,EACAzL,MAAO,SAAS2F,EAAQC,GACtB,IACI6M,EADA1H,EAAS,CAACpF,EAAQC,GAElB2B,EAAI6J,EAAQzL,EAAQC,GACpBuI,EAAI+C,EACA3J,EAAI,EAAI+K,EAAK3M,EAAQC,GACrB2B,EAAI+K,EAAK3M,GAAUA,EAAS,EAAI,EAAAvH,IAAM,EAAAA,IAAKwH,GAAO,EAO1D,IANK2E,IAAWiI,EAAMD,EAAKhL,IAAIpC,EAAOlF,YAClCsH,IAAMgL,MACRE,EAASpB,EAAU9G,EAAQQ,KACZ7C,EAAWqC,EAAQkI,IAAWvK,EAAW6C,EAAQ0H,MAC9D1H,EAAO,GAAK,GAEZxD,IAAMgL,EACR9G,EAAQ,EACJlE,GAEFpC,EAAOlF,YACPwS,EAASpB,EAAUtG,EAAQR,GAC3BpF,EAAOnF,MAAMyS,EAAO,GAAIA,EAAO,MAG/BA,EAASpB,EAAU9G,EAAQQ,GAC3B5F,EAAOnF,MAAMyS,EAAO,GAAIA,EAAO,GAAI,GACnCtN,EAAOjF,WAETqK,EAASkI,OACJ,GAAItB,GAAiB5G,GAAU2G,EAAc3J,EAAG,CACrD,IAAI2K,EAGE/D,EAAIN,KAAQqE,EAAIb,EAAUtG,EAAQR,GAAQ,MAC9CkB,EAAQ,EACJyF,GACF/L,EAAOlF,YACPkF,EAAOnF,MAAMkS,EAAE,GAAG,GAAIA,EAAE,GAAG,IAC3B/M,EAAOnF,MAAMkS,EAAE,GAAG,GAAIA,EAAE,GAAG,IAC3B/M,EAAOjF,YAEPiF,EAAOnF,MAAMkS,EAAE,GAAG,GAAIA,EAAE,GAAG,IAC3B/M,EAAOjF,UACPiF,EAAOlF,YACPkF,EAAOnF,MAAMkS,EAAE,GAAG,GAAIA,EAAE,GAAG,GAAI,IAGrC,EACI3K,GAAOgD,GAAWrC,EAAWqC,EAAQQ,IACvC5F,EAAOnF,MAAM+K,EAAO,GAAIA,EAAO,IAEjCR,EAASQ,EAAQwH,EAAKhL,EAAGsG,EAAKM,CAChC,EACAjO,QAAS,WACHqS,GAAIpN,EAAOjF,UACfqK,EAAS,IACX,EAGAkB,MAAO,WACL,OAAOA,GAAU+G,GAAOD,IAAO,CACjC,EAEJ,IApFA,SAAqBlJ,EAAM4C,EAAIC,EAAW/G,INNrC,SAAsBA,EAAQkH,EAAQpB,EAAOiB,EAAWwG,EAAIC,GACjE,GAAK1H,EAAL,CACA,IAAImB,GAAY,QAAIC,GAChBuG,GAAY,QAAIvG,GAChBwG,EAAO3G,EAAYjB,EACb,MAANyH,GACFA,EAAKrG,EAASH,EAAY,KAC1ByG,EAAKtG,EAASwG,EAAO,IAErBH,EAAKvG,EAAaC,EAAWsG,GAC7BC,EAAKxG,EAAaC,EAAWuG,IACzBzG,EAAY,EAAIwG,EAAKC,EAAKD,EAAKC,KAAID,GAAMxG,EAAY,OAE3D,IAAK,IAAIlM,EAAOkS,EAAIQ,EAAIxG,EAAY,EAAIgG,EAAIS,EAAKT,EAAIS,EAAIT,GAAKW,EAC5D7S,EAAQwI,EAAU,CAAC4D,GAAYwG,GAAY,QAAIV,IAAKU,GAAY,QAAIV,KACpE/M,EAAOnF,MAAMA,EAAM,GAAIA,EAAM,GAdb,CAgBpB,CMVI8S,CAAa3N,EAAQkH,EAAQpB,EAAOiB,EAAW7C,EAAM4C,EACvD,GAiK4CiF,EAAc,CAAC,GAAI7E,GAAU,EAAE,EAAAjO,GAAIiO,EAAS,EAAAjO,IAC1F,CD3E8C,CAAWmS,EAAQxN,EAAI,OAAYwN,EAAQ,KAAM,GAAmBM,MAAWN,EAAQ,IACnI,EAEA1L,EAAWiI,WAAa,SAAS/J,GAC/B,OAAO0B,UAAUd,QAAU8M,EAAgB,MAAL1N,GAAapD,EAAKE,EAAKC,EAAKC,EAAK,KAAMsF,EAAA,GJ9FlE,SAAuB1F,EAAIE,EAAIC,EAAIC,GAEhD,SAASqR,EAAQ7T,EAAGI,GAClB,OAAOgC,GAAMpC,GAAKA,GAAKuC,GAAMD,GAAMlC,GAAKA,GAAKoC,CAC/C,CAEA,SAAS4H,EAAY0B,EAAM4C,EAAIC,EAAW/G,GACxC,IAAIG,EAAI,EAAGwI,EAAK,EAChB,GAAY,MAARzE,IACI/D,EAAIyN,EAAO1J,EAAM6C,OAAiB4B,EAAKiF,EAAO9G,EAAIC,KACnD8G,EAAa3J,EAAM4C,GAAM,EAAIC,EAAY,EAC9C,GAAG/G,EAAOnF,MAAY,IAANsF,GAAiB,IAANA,EAAU3F,EAAKG,EAAIwF,EAAI,EAAIvF,EAAKF,UACnDyF,GAAKA,EAAI4G,EAAY,GAAK,KAAO4B,QAEzC3I,EAAOnF,MAAMiM,EAAG,GAAIA,EAAG,GAE3B,CAEA,SAAS8G,EAAOvV,EAAG0O,GACjB,OAAO,QAAI1O,EAAE,GAAKmC,GAAM,KAAUuM,EAAY,EAAI,EAAI,GAChD,QAAI1O,EAAE,GAAKsC,GAAM,KAAUoM,EAAY,EAAI,EAAI,GAC/C,QAAI1O,EAAE,GAAKqC,GAAM,KAAUqM,EAAY,EAAI,EAAI,EAC/CA,EAAY,EAAI,EAAI,CAC5B,CAEA,SAASzE,EAAoBnC,EAAGC,GAC9B,OAAOyN,EAAa1N,EAAE/H,EAAGgI,EAAEhI,EAC7B,CAEA,SAASyV,EAAa1N,EAAGC,GACvB,IAAI0N,EAAKF,EAAOzN,EAAG,GACf4N,EAAKH,EAAOxN,EAAG,GACnB,OAAO0N,IAAOC,EAAKD,EAAKC,EACX,IAAPD,EAAW1N,EAAE,GAAKD,EAAE,GACb,IAAP2N,EAAW3N,EAAE,GAAKC,EAAE,GACb,IAAP0N,EAAW3N,EAAE,GAAKC,EAAE,GACpBA,EAAE,GAAKD,EAAE,EACjB,CAEA,OAAO,SAASH,GACd,IAEIqC,EACAkC,EACAC,EACAwJ,EAAKC,EAAKC,EACVC,EAAIC,EAAIC,EACRC,EACAhI,EARAiI,EAAevO,EACfwO,EAAe,IASfC,EAAa,CACf5T,MAAOA,EACPC,UAgDF,WACE2T,EAAW5T,MAAQgP,EACftF,GAASA,EAAQ9C,KAAK+C,EAAO,IACjC8J,GAAQ,EACRD,GAAK,EACLF,EAAKC,EAAKtR,GACZ,EArDE/B,QA0DF,WACMsH,IACFwH,EAAUmE,EAAKC,GACXC,GAAOG,GAAIG,EAAa9M,SAC5BW,EAASZ,KAAK+M,EAAatT,WAE7BuT,EAAW5T,MAAQA,EACfwT,GAAIE,EAAaxT,SACvB,EAjEEC,aAuBF,WACEuT,EAAeC,EAAcnM,EAAW,GAAIkC,EAAU,GAAI+B,GAAQ,CACpE,EAxBErL,WA0BF,WACE,IAAIsH,EApBN,WAGE,IAFA,IAAI2C,EAAU,EAEL5M,EAAI,EAAGQ,EAAIyL,EAAQ/F,OAAQlG,EAAIQ,IAAKR,EAC3C,IAAK,IAAgEkQ,EAAIG,EAAhEnE,EAAOD,EAAQjM,GAAIC,EAAI,EAAGiJ,EAAIgD,EAAKhG,OAAQ3D,EAAQ2J,EAAK,GAAYiE,EAAK5N,EAAM,GAAI+N,EAAK/N,EAAM,GAAItC,EAAIiJ,IAAKjJ,EAClHiQ,EAAKC,EAAIE,EAAKC,EAAqBH,GAAjB5N,EAAQ2J,EAAKjM,IAAe,GAAIqQ,EAAK/N,EAAM,GACzD8N,GAAM/N,EAAUgO,EAAKhO,IAAO6N,EAAKD,IAAO5N,EAAK+N,IAAOC,EAAKD,IAAOnO,EAAKgO,MAAOtD,EACrE0D,GAAMhO,IAAO6N,EAAKD,IAAO5N,EAAK+N,IAAOC,EAAKD,IAAOnO,EAAKgO,MAAOtD,EAI5E,OAAOA,CACT,CAQoBwJ,GACdC,EAAcrI,GAAS/D,EACvB0J,GAAW5J,EAAW0B,EAAM1B,IAAW7D,QACvCmQ,GAAe1C,KACjBjM,EAAOhF,eACH2T,IACF3O,EAAOlF,YACP0H,EAAY,KAAM,KAAM,EAAGxC,GAC3BA,EAAOjF,WAELkR,GACF,EAAW5J,EAAUC,EAAqBC,EAAaC,EAAaxC,GAEtEA,EAAO/E,cAETsT,EAAevO,EAAQqC,EAAWkC,EAAUC,EAAO,IACrD,GAxCA,SAAS3J,EAAMzC,EAAGI,GACZyT,EAAQ7T,EAAGI,IAAI+V,EAAa1T,MAAMzC,EAAGI,EAC3C,CA6DA,SAASqR,EAAUzR,EAAGI,GACpB,IAAI4J,EAAI6J,EAAQ7T,EAAGI,GAEnB,GADI+L,GAASC,EAAK/C,KAAK,CAACrJ,EAAGI,IACvB8V,EACFN,EAAM5V,EAAG6V,EAAMzV,EAAG0V,EAAM9L,EACxBkM,GAAQ,EACJlM,IACFmM,EAAazT,YACbyT,EAAa1T,MAAMzC,EAAGI,SAGxB,GAAI4J,GAAKiM,EAAIE,EAAa1T,MAAMzC,EAAGI,OAC9B,CACH,IAAI2H,EAAI,CAACgO,EAAKxV,KAAKiW,IAAIxH,EAASzO,KAAKuP,IAAIf,EAASgH,IAAMC,EAAKzV,KAAKiW,IAAIxH,EAASzO,KAAKuP,IAAIf,EAASiH,KAC7FhO,EAAI,CAAChI,EAAIO,KAAKiW,IAAIxH,EAASzO,KAAKuP,IAAIf,EAAS/O,IAAKI,EAAIG,KAAKiW,IAAIxH,EAASzO,KAAKuP,IAAIf,EAAS3O,MMlJzF,SAAS2H,EAAGC,EAAG5F,EAAIE,EAAIC,EAAIC,GACxC,IAQI4E,EARAqP,EAAK1O,EAAE,GACP2O,EAAK3O,EAAE,GAGPoN,EAAK,EACLC,EAAK,EACLvQ,EAJKmD,EAAE,GAIGyO,EACV3R,EAJKkD,EAAE,GAIG0O,EAId,GADAtP,EAAIhF,EAAKqU,EACJ5R,KAAMuC,EAAI,GAAf,CAEA,GADAA,GAAKvC,EACDA,EAAK,EAAG,CACV,GAAIuC,EAAI+N,EAAI,OACR/N,EAAIgO,IAAIA,EAAKhO,EACnB,MAAO,GAAIvC,EAAK,EAAG,CACjB,GAAIuC,EAAIgO,EAAI,OACRhO,EAAI+N,IAAIA,EAAK/N,EACnB,CAGA,GADAA,EAAI7E,EAAKkU,EACJ5R,KAAMuC,EAAI,GAAf,CAEA,GADAA,GAAKvC,EACDA,EAAK,EAAG,CACV,GAAIuC,EAAIgO,EAAI,OACRhO,EAAI+N,IAAIA,EAAK/N,EACnB,MAAO,GAAIvC,EAAK,EAAG,CACjB,GAAIuC,EAAI+N,EAAI,OACR/N,EAAIgO,IAAIA,EAAKhO,EACnB,CAGA,GADAA,EAAI9E,EAAKoU,EACJ5R,KAAMsC,EAAI,GAAf,CAEA,GADAA,GAAKtC,EACDA,EAAK,EAAG,CACV,GAAIsC,EAAI+N,EAAI,OACR/N,EAAIgO,IAAIA,EAAKhO,EACnB,MAAO,GAAItC,EAAK,EAAG,CACjB,GAAIsC,EAAIgO,EAAI,OACRhO,EAAI+N,IAAIA,EAAK/N,EACnB,CAGA,GADAA,EAAI5E,EAAKkU,EACJ5R,KAAMsC,EAAI,GAAf,CAEA,GADAA,GAAKtC,EACDA,EAAK,EAAG,CACV,GAAIsC,EAAIgO,EAAI,OACRhO,EAAI+N,IAAIA,EAAK/N,EACnB,MAAO,GAAItC,EAAK,EAAG,CACjB,GAAIsC,EAAI+N,EAAI,OACR/N,EAAIgO,IAAIA,EAAKhO,EACnB,CAIA,OAFI+N,EAAK,IAAGpN,EAAE,GAAK0O,EAAKtB,EAAKtQ,EAAIkD,EAAE,GAAK2O,EAAKvB,EAAKrQ,GAC9CsQ,EAAK,IAAGpN,EAAE,GAAKyO,EAAKrB,EAAKvQ,EAAImD,EAAE,GAAK0O,EAAKtB,EAAKtQ,IAC3C,CAZiB,CAXA,CAXA,CAXA,CA8C1B,CNyFc,CAASiD,EAAGC,EAAG5F,EAAIE,EAAIC,EAAIC,GAQpBwH,IACTmM,EAAazT,YACbyT,EAAa1T,MAAMzC,EAAGI,GACtB8N,GAAQ,IAVH+H,IACHE,EAAazT,YACbyT,EAAa1T,MAAMsF,EAAE,GAAIA,EAAE,KAE7BoO,EAAa1T,MAAMuF,EAAE,GAAIA,EAAE,IACtBgC,GAAGmM,EAAaxT,UACrBuL,GAAQ,EAMZ,CAEF6H,EAAK/V,EAAGgW,EAAK5V,EAAG6V,EAAKjM,CACvB,CAEA,OAAOqM,CACT,CACF,CI9D6FM,CAAcvU,GAAMoD,EAAE,GAAG,GAAIlD,GAAMkD,EAAE,GAAG,GAAIjD,GAAMiD,EAAE,GAAG,GAAIhD,GAAMgD,EAAE,GAAG,IAAK8N,MAAiB,MAANlR,EAAa,KAAO,CAAC,CAACA,EAAIE,GAAK,CAACC,EAAIC,GACrN,EAEA8E,EAAWkI,MAAQ,SAAShK,GAC1B,OAAO0B,UAAUd,QAAUW,GAAKvB,EAAG2N,MAAcpM,CACnD,EAEAO,EAAWmI,UAAY,SAASjK,GAC9B,OAAO0B,UAAUd,QAAUpG,GAAKwF,EAAE,GAAIpF,GAAKoF,EAAE,GAAI2N,MAAc,CAACnT,EAAGI,EACrE,EAEAkH,EAAW8L,OAAS,SAAS5N,GAC3B,OAAO0B,UAAUd,QAAUgC,EAAS5C,EAAE,GAAK,IAAM,KAAS6C,EAAM7C,EAAE,GAAK,IAAM,KAAS2N,MAAc,CAAC/K,EAAS,KAASC,EAAM,KAC/H,EAEAf,EAAWoL,OAAS,SAASlN,GAC3B,OAAO0B,UAAUd,QAAUkC,EAAc9C,EAAE,GAAK,IAAM,KAAS+C,EAAW/C,EAAE,GAAK,IAAM,KAASgD,EAAahD,EAAEY,OAAS,EAAIZ,EAAE,GAAK,IAAM,KAAU,EAAG2N,MAAc,CAAC7K,EAAc,KAASC,EAAW,KAASC,EAAa,KAC/N,EAEAlB,EAAWuF,MAAQ,SAASrH,GAC1B,OAAO0B,UAAUd,QAAU4L,EAAQxM,EAAI,IAAM,KAAS2N,MAAcnB,EAAQ,IAC9E,EAEA1K,EAAWsP,SAAW,SAASpR,GAC7B,OAAO0B,UAAUd,QAAU0L,EAAKtM,GAAK,EAAI,EAAG2N,MAAcrB,EAAK,CACjE,EAEAxK,EAAWuP,SAAW,SAASrR,GAC7B,OAAO0B,UAAUd,QAAU2L,EAAKvM,GAAK,EAAI,EAAG2N,MAAcpB,EAAK,CACjE,EAEAzK,EAAWwP,UAAY,SAAStR,GAC9B,OAAO0B,UAAUd,QAAUuM,EAAkBU,EAAST,EAAkB1C,EAAS1K,EAAIA,GAAI8N,OAAW,QAAKpD,EAC3G,EAEA5I,EAAWoI,UAAY,SAASC,EAAQjI,GACtC,OAAOgI,EAAUpI,EAAYqI,EAAQjI,EACvC,EAEAJ,EAAWyP,QAAU,SAASC,EAAMtP,GAClC,OFzHG,SAAiBJ,EAAY0P,EAAMtP,GACxC,OAAOgI,EAAUpI,EAAY,CAAC,CAAC,EAAG,GAAI0P,GAAOtP,EAC/C,CEuHWqP,CAAQzP,EAAY0P,EAAMtP,EACnC,EAEAJ,EAAW2P,SAAW,SAASC,EAAOxP,GACpC,OFzHG,SAAkBJ,EAAY4P,EAAOxP,GAC1C,OAAO2H,EAAI/H,GAAY,SAASU,GAC9B,IAAI4H,GAAKsH,EACLnQ,EAAI6I,GAAK5H,EAAE,GAAG,GAAKA,EAAE,GAAG,IACxBhI,GAAK4P,EAAI7I,GAAKiB,EAAE,GAAG,GAAKA,EAAE,GAAG,KAAO,EACpC5H,GAAK2G,EAAIiB,EAAE,GAAG,GAClBV,EAAWkI,MAAM,IAAMzI,GAAG0I,UAAU,CAACzP,EAAGI,GAC1C,GAAGsH,EACL,CEiHWuP,CAAS3P,EAAY4P,EAAOxP,EACrC,EAEAJ,EAAW6P,UAAY,SAASC,EAAQ1P,GACtC,OFnHG,SAAmBJ,EAAY8P,EAAQ1P,GAC5C,OAAO2H,EAAI/H,GAAY,SAASU,GAC9B,IAAI6H,GAAKuH,EACLrQ,EAAI8I,GAAK7H,EAAE,GAAG,GAAKA,EAAE,GAAG,IACxBhI,GAAK+G,EAAIiB,EAAE,GAAG,GACd5H,GAAKyP,EAAI9I,GAAKiB,EAAE,GAAG,GAAKA,EAAE,GAAG,KAAO,EACxCV,EAAWkI,MAAM,IAAMzI,GAAG0I,UAAU,CAACzP,EAAGI,GAC1C,GAAGsH,EACL,CE2GWyP,CAAU7P,EAAY8P,EAAQ1P,EACvC,EAiBO,WAGL,OAFAuI,EAAUwC,EAAU9K,MAAMhI,KAAMuH,WAChCI,EAAWY,OAAS+H,EAAQ/H,QAAUA,EAC/BiL,IACT,CACF,CAtHSkE,EAAkB,WAAa,OAAOpH,CAAS,GAA/CoH,EACT,CGvDO,SAASC,EAAYlP,EAAQC,GAClC,MAAO,CAACD,GAAQ,SAAI,SAAK,KAASC,GAAO,IAC3C,CAMe,aACb,OAIK,SAA4B4H,GACjC,IAKe3N,EAAIC,EAAIC,EALnB4G,EAAI9B,EAAW2I,GACfmD,EAAShK,EAAEgK,OACX5D,EAAQpG,EAAEoG,MACVC,EAAYrG,EAAEqG,UACdF,EAAanG,EAAEmG,WACfnN,EAAK,KAkBT,SAASmV,IACP,IAAIxQ,EAAI,EAAAlG,GAAK2O,IACTmF,EAAIvL,EjBqBG,SAASsJ,GAGtB,SAAS8E,EAAQC,GAEf,OADAA,EAAc/E,EAAO+E,EAAY,GAAK,KAASA,EAAY,GAAK,OAC7C,IAAM,KAASA,EAAY,IAAM,KAASA,CAC/D,CAOA,OAZA/E,EAAS,EAAcA,EAAO,GAAK,KAASA,EAAO,GAAK,KAASA,EAAOtM,OAAS,EAAIsM,EAAO,GAAK,KAAU,GAO3G8E,EAAQtP,OAAS,SAASuP,GAExB,OADAA,EAAc/E,EAAOxK,OAAOuP,EAAY,GAAK,KAASA,EAAY,GAAK,OACpD,IAAM,KAASA,EAAY,IAAM,KAASA,CAC/D,EAEOD,CACT,CiBnCc5O,CAASQ,EAAEsJ,UAAUxK,OAAO,CAAC,EAAG,KAC1C,OAAOqH,EAAiB,MAANnN,EACZ,CAAC,CAACuS,EAAE,GAAK5N,EAAG4N,EAAE,GAAK5N,GAAI,CAAC4N,EAAE,GAAK5N,EAAG4N,EAAE,GAAK5N,IAAMkJ,IAAYqH,EAC3D,CAAC,CAAC/W,KAAKiW,IAAI7B,EAAE,GAAK5N,EAAG3E,GAAKE,GAAK,CAAC/B,KAAKuP,IAAI6E,EAAE,GAAK5N,EAAGxE,GAAKC,IACxD,CAAC,CAACJ,EAAI7B,KAAKiW,IAAI7B,EAAE,GAAK5N,EAAGzE,IAAM,CAACC,EAAIhC,KAAKuP,IAAI6E,EAAE,GAAK5N,EAAGvE,KAC/D,CAEA,OAzBA4G,EAAEoG,MAAQ,SAAShK,GACjB,OAAO0B,UAAUd,QAAUoJ,EAAMhK,GAAI+R,KAAY/H,GACnD,EAEApG,EAAEqG,UAAY,SAASjK,GACrB,OAAO0B,UAAUd,QAAUqJ,EAAUjK,GAAI+R,KAAY9H,GACvD,EAEArG,EAAEgK,OAAS,SAAS5N,GAClB,OAAO0B,UAAUd,QAAUgN,EAAO5N,GAAI+R,KAAYnE,GACpD,EAEAhK,EAAEmG,WAAa,SAAS/J,GACtB,OAAO0B,UAAUd,QAAgB,MAALZ,EAAYpD,EAAKE,EAAKC,EAAKC,EAAK,MAAQJ,GAAMoD,EAAE,GAAG,GAAIlD,GAAMkD,EAAE,GAAG,GAAIjD,GAAMiD,EAAE,GAAG,GAAIhD,GAAMgD,EAAE,GAAG,IAAM+R,KAAkB,MAANnV,EAAa,KAAO,CAAC,CAACA,EAAIE,GAAK,CAACC,EAAIC,GACpL,EAWO+U,GACT,CAtCSG,CAAmBJ,GACrB9H,MAAM,IAAM,KACnB,CAPA8H,EAAYpP,OAAS,SAASlI,EAAGI,GAC/B,MAAO,CAACJ,EAAG,GAAI,SAAK,QAAII,IAAM,KAChC,C,iBCVA,SAASuX,EAAeC,EAAUhQ,GAC5BgQ,GAAYC,EAAmBC,eAAeF,EAASG,OACzDF,EAAmBD,EAASG,MAAMH,EAAUhQ,EAEhD,C,iBAEA,IAAIoQ,EAAmB,CACrBC,QAAS,SAASvQ,EAAQE,GACxB+P,EAAejQ,EAAOkQ,SAAUhQ,EAClC,EACAsQ,kBAAmB,SAASxQ,EAAQE,GAElC,IADA,IAAIuQ,EAAWzQ,EAAOyQ,SAAUjY,GAAK,EAAGQ,EAAIyX,EAAS/R,SAC5ClG,EAAIQ,GAAGiX,EAAeQ,EAASjY,GAAG0X,SAAUhQ,EACvD,GAGEiQ,EAAqB,CACvBO,OAAQ,SAAS1Q,EAAQE,GACvBA,EAAOoG,QACT,EACAqK,MAAO,SAAS3Q,EAAQE,GACtBF,EAASA,EAAO+P,YAChB7P,EAAOnF,MAAMiF,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAC5C,EACA4Q,WAAY,SAAS5Q,EAAQE,GAE3B,IADA,IAAI6P,EAAc/P,EAAO+P,YAAavX,GAAK,EAAGQ,EAAI+W,EAAYrR,SACrDlG,EAAIQ,GAAGgH,EAAS+P,EAAYvX,GAAI0H,EAAOnF,MAAMiF,EAAO,GAAIA,EAAO,GAAIA,EAAO,GACrF,EACA6Q,WAAY,SAAS7Q,EAAQE,GAC3B4Q,EAAW9Q,EAAO+P,YAAa7P,EAAQ,EACzC,EACA6Q,gBAAiB,SAAS/Q,EAAQE,GAEhC,IADA,IAAI6P,EAAc/P,EAAO+P,YAAavX,GAAK,EAAGQ,EAAI+W,EAAYrR,SACrDlG,EAAIQ,GAAG8X,EAAWf,EAAYvX,GAAI0H,EAAQ,EACrD,EACA8Q,QAAS,SAAShR,EAAQE,GACxB+Q,EAAcjR,EAAO+P,YAAa7P,EACpC,EACAgR,aAAc,SAASlR,EAAQE,GAE7B,IADA,IAAI6P,EAAc/P,EAAO+P,YAAavX,GAAK,EAAGQ,EAAI+W,EAAYrR,SACrDlG,EAAIQ,GAAGiY,EAAclB,EAAYvX,GAAI0H,EAChD,EACAiR,mBAAoB,SAASnR,EAAQE,GAEnC,IADA,IAAIkR,EAAapR,EAAOoR,WAAY5Y,GAAK,EAAGQ,EAAIoY,EAAW1S,SAClDlG,EAAIQ,GAAGiX,EAAemB,EAAW5Y,GAAI0H,EAChD,GAGF,SAAS4Q,EAAWf,EAAa7P,EAAQmR,GACvC,IAA6CC,EAAzC9Y,GAAK,EAAGQ,EAAI+W,EAAYrR,OAAS2S,EAErC,IADAnR,EAAOlF,cACExC,EAAIQ,GAAGsY,EAAavB,EAAYvX,GAAI0H,EAAOnF,MAAMuW,EAAW,GAAIA,EAAW,GAAIA,EAAW,IACnGpR,EAAOjF,SACT,CAEA,SAASgW,EAAclB,EAAa7P,GAClC,IAAI1H,GAAK,EAAGQ,EAAI+W,EAAYrR,OAE5B,IADAwB,EAAOhF,iBACE1C,EAAIQ,GAAG8X,EAAWf,EAAYvX,GAAI0H,EAAQ,GACnDA,EAAO/E,YACT,CAEe,WAAS6E,EAAQE,GAC1BF,GAAUsQ,EAAiBF,eAAepQ,EAAOqQ,MACnDC,EAAiBtQ,EAAOqQ,MAAMrQ,EAAQE,GAEtC+P,EAAejQ,EAAQE,EAE3B,C","sources":["webpack:///../../node_modules/d3-array/src/fsum.js","webpack:///../../node_modules/d3-geo/src/identity.js","webpack:///../../node_modules/d3-geo/src/math.js","webpack:///../../node_modules/d3-geo/src/noop.js","webpack:///../../node_modules/d3-geo/src/path/bounds.js","webpack:///../../node_modules/d3-geo/src/path/area.js","webpack:///../../node_modules/d3-geo/src/path/centroid.js","webpack:///../../node_modules/d3-geo/src/path/context.js","webpack:///../../node_modules/d3-geo/src/path/measure.js","webpack:///../../node_modules/d3-geo/src/path/string.js","webpack:///../../node_modules/d3-geo/src/path/index.js","webpack:///../../node_modules/d3-geo/src/compose.js","webpack:///../../node_modules/d3-geo/src/rotation.js","webpack:///../../node_modules/d3-geo/src/clip/buffer.js","webpack:///../../node_modules/d3-geo/src/pointEqual.js","webpack:///../../node_modules/d3-geo/src/clip/rejoin.js","webpack:///../../node_modules/d3-geo/src/cartesian.js","webpack:///../../node_modules/d3-geo/src/polygonContains.js","webpack:///../../node_modules/d3-array/src/merge.js","webpack:///../../node_modules/d3-geo/src/clip/index.js","webpack:///../../node_modules/d3-geo/src/clip/antimeridian.js","webpack:///../../node_modules/d3-geo/src/circle.js","webpack:///../../node_modules/d3-geo/src/clip/rectangle.js","webpack:///../../node_modules/d3-geo/src/transform.js","webpack:///../../node_modules/d3-geo/src/projection/fit.js","webpack:///../../node_modules/d3-geo/src/projection/resample.js","webpack:///../../node_modules/d3-geo/src/projection/index.js","webpack:///../../node_modules/d3-geo/src/clip/circle.js","webpack:///../../node_modules/d3-geo/src/clip/line.js","webpack:///../../node_modules/d3-geo/src/projection/mercator.js","webpack:///../../node_modules/d3-geo/src/stream.js"],"sourcesContent":["// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport class Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n add(x) {\n const p = this._partials;\n let i = 0;\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n valueOf() {\n const p = this._partials;\n let n = this._n, x, y, lo, hi = 0;\n if (n > 0) {\n hi = p[--n];\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n return hi;\n }\n}\n\nexport function fsum(values, valueof) {\n const adder = new Adder();\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n return +adder;\n}\n\nexport function fcumsum(values, valueof) {\n const adder = new Adder();\n let index = -1;\n return Float64Array.from(values, valueof === undefined\n ? v => adder.add(+v || 0)\n : v => adder.add(+valueof(v, ++index, values) || 0)\n );\n}\n","export default x => x;\n","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var hypot = Math.hypot;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","import noop from \"../noop.js\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {Adder} from \"d3-array\";\nimport {abs} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar areaSum = new Adder(),\n areaRingSum = new Adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum = new Adder();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum = new Adder();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","import {sqrt} from \"../math.js\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import {Adder} from \"d3-array\";\nimport {sqrt} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar lengthSum = new Adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum = new Adder();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","// Simple caching for constant-radius points.\nlet cacheDigits, cacheAppend, cacheRadius, cacheCircle;\n\nexport default class PathString {\n constructor(digits) {\n this._append = digits == null ? append : appendRound(digits);\n this._radius = 4.5;\n this._ = \"\";\n }\n pointRadius(_) {\n this._radius = +_;\n return this;\n }\n polygonStart() {\n this._line = 0;\n }\n polygonEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line === 0) this._ += \"Z\";\n this._point = NaN;\n }\n point(x, y) {\n switch (this._point) {\n case 0: {\n this._append`M${x},${y}`;\n this._point = 1;\n break;\n }\n case 1: {\n this._append`L${x},${y}`;\n break;\n }\n default: {\n this._append`M${x},${y}`;\n if (this._radius !== cacheRadius || this._append !== cacheAppend) {\n const r = this._radius;\n const s = this._;\n this._ = \"\"; // stash the old string so we can cache the circle path fragment\n this._append`m0,${r}a${r},${r} 0 1,1 0,${-2 * r}a${r},${r} 0 1,1 0,${2 * r}z`;\n cacheRadius = r;\n cacheAppend = this._append;\n cacheCircle = this._;\n this._ = s;\n }\n this._ += cacheCircle;\n break;\n }\n }\n }\n result() {\n const result = this._;\n this._ = \"\";\n return result.length ? result : null;\n }\n}\n\nfunction append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n const d = Math.floor(digits);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${digits}`);\n if (d > 15) return append;\n if (d !== cacheDigits) {\n const k = 10 ** d;\n cacheDigits = d;\n cacheAppend = function append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n }\n return cacheAppend;\n}\n","import identity from \"../identity.js\";\nimport stream from \"../stream.js\";\nimport pathArea from \"./area.js\";\nimport pathBounds from \"./bounds.js\";\nimport pathCentroid from \"./centroid.js\";\nimport PathContext from \"./context.js\";\nimport pathMeasure from \"./measure.js\";\nimport PathString from \"./string.js\";\n\nexport default function(projection, context) {\n let digits = 3,\n pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream;\n return path;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString(digits)) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n path.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) digits = null;\n else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n if (context === null) contextStream = new PathString(digits);\n return path;\n };\n\n return path.projection(projection).digits(digits).context(context);\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose.js\";\nimport {abs, asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math.js\";\n\nfunction rotationIdentity(lambda, phi) {\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n lambda += deltaLambda;\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import noop from \"../noop.js\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y, m) {\n line.push([x, y, m]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math.js\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual.js\";\nimport {epsilon} from \"../math.js\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n if (pointEqual(p0, p1)) {\n if (!p0[2] && !p1[2]) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n // handle degenerate cases by moving the point\n p1[0] += 2 * epsilon;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math.js\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","import {Adder} from \"d3-array\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, epsilon2, halfPi, pi, quarterPi, sign, sin, tau} from \"./math.js\";\n\nfunction longitude(point) {\n return abs(point[0]) <= pi ? point[0] : sign(point[0]) * ((abs(point[0]) + pi) % tau - pi);\n}\n\nexport default function(polygon, point) {\n var lambda = longitude(point),\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n var sum = new Adder();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = longitude(point0),\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = longitude(point1),\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon2) ^ (winding & 1);\n}\n","function* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}\n","import clipBuffer from \"./buffer.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {epsilon, halfPi} from \"../math.js\";\nimport polygonContains from \"../polygonContains.js\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index.js\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math.js\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian.js\";\nimport constant from \"./constant.js\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math.js\";\nimport {rotateRadians} from \"./rotation.js\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(2),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import {abs, epsilon} from \"../math.js\";\nimport clipBuffer from \"./buffer.js\";\nimport clipLine from \"./line.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream.js\";\nimport boundsStream from \"../path/bounds.js\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math.js\";\nimport {transformer} from \"../transform.js\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian.js\";\nimport clipCircle from \"../clip/circle.js\";\nimport clipRectangle from \"../clip/rectangle.js\";\nimport compose from \"../compose.js\";\nimport identity from \"../identity.js\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math.js\";\nimport {rotateRadians} from \"../rotation.js\";\nimport {transformer} from \"../transform.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\nimport resample from \"./resample.js\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy, sx, sy) {\n function transform(x, y) {\n x *= sx; y *= sy;\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k * sx, (dy - y) / k * sy];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {\n if (!alpha) return scaleTranslate(k, dx, dy, sx, sy);\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n x *= sx; y *= sy;\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate angle\n sx = 1, // reflectX\n sy = 1, // reflectX\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.reflectX = function(_) {\n return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;\n };\n\n projection.reflectY = function(_) {\n return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)),\n transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian.js\";\nimport {circleStream} from \"../circle.js\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math.js\";\nimport pointEqual from \"../pointEqual.js\";\nimport clip from \"./index.js\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 2 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2))\n point1[2] = 1;\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1], 2);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1], 3);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math.js\";\nimport rotation from \"../rotation.js\";\nimport projection from \"./index.js\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n"],"names":["Adder","constructor","this","_partials","Float64Array","_n","add","x","p","i","j","y","hi","lo","Math","abs","valueOf","n","epsilon","epsilon2","pi","PI","halfPi","quarterPi","tau","degrees","radians","atan","atan2","cos","exp","ceil","log","floor","hypot","sin","pow","sign","sqrt","tan","acos","asin","noop","x0","Infinity","y0","x1","y1","point","lineStart","lineEnd","polygonStart","polygonEnd","result","bounds","x00","y00","areaSum","areaRingSum","areaStream","areaRingStart","areaRingEnd","area","areaPointFirst","areaPoint","X0","Y0","Z0","X1","Y1","Z1","X2","Y2","Z2","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroid","NaN","centroidPointFirstLine","centroidPointLine","dx","dy","z","centroidPointFirstRing","centroidPointRing","PathContext","context","_context","prototype","_radius","pointRadius","_","_line","_point","closePath","moveTo","lineTo","arc","lengthRing","lengthSum","lengthStream","lengthPointFirst","lengthPoint","length","cacheDigits","cacheAppend","cacheRadius","cacheCircle","PathString","digits","_append","append","d","RangeError","k","strings","round","arguments","appendRound","r","s","projection","projectionStream","contextStream","path","object","apply","stream","measure","identity","a","b","compose","invert","rotationIdentity","lambda","phi","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","cosPhi","line","lines","m","push","rejoin","pop","concat","shift","Intersection","points","other","entry","o","e","v","segments","compareIntersection","startInside","interpolate","subject","clip","forEach","segment","p0","p1","pointEqual","sort","start","current","isSubject","array","spherical","cartesian","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","cartesianNormalizeInPlace","l","longitude","merge","arrays","Array","from","flatten","pointVisible","clipLine","sink","polygon","ring","ringBuffer","ringSink","polygonStarted","pointRing","ringStart","ringEnd","sinPhi","normal","angle","winding","sum","point0","lambda0","phi0","sinPhi0","cosPhi0","lambda1","sinPhi1","cosPhi1","point1","phi1","delta","absDelta","antimeridian","intersection","phiArc","polygonContains","sphere","pointLine","clean","ringSegments","filter","validSegment","sign0","sign1","sinLambda0Lambda1","clipAntimeridianIntersect","to","direction","circleRadius","cosRadius","radius","clipMax","clipMin","transformer","methods","TransformStream","key","fit","fitBounds","clipExtent","scale","translate","fitExtent","extent","w","h","min","maxDepth","cosMinDistance","project","delta2","resampleLineTo","a0","b0","c0","a1","b1","c1","depth","d2","c","phi2","lambda2","x2","y2","dx2","dy2","dz","lambda00","a00","b00","c00","resampleStream","linePoint","ringPoint","resampleNone","transformRadians","scaleTranslateRotate","sx","sy","alpha","transform","scaleTranslate","cosAlpha","sinAlpha","ai","bi","ci","fi","projectAt","rotate","projectResample","projectTransform","projectRotateTransform","cache","cacheStream","theta","preclip","postclip","recenter","center","resample","reset","transformRotate","undefined","clipAngle","cr","smallRadius","notHemisphere","visible","intersect","two","n1","n2","n2n2","n1n2","determinant","c2","n1xn2","A","u","uu","t2","t","q","polar","q1","code","v0","v00","point2","t0","t1","sinRadius","step","circleStream","corner","comparePoint","ca","cb","x__","y__","v__","x_","y_","v_","first","activeStream","bufferStream","clipStream","polygonInside","cleanInside","max","ax","ay","clipRectangle","reflectX","reflectY","precision","fitSize","size","fitWidth","width","fitHeight","height","projectionMutator","mercatorRaw","reclip","forward","coordinates","mercatorProjection","streamGeometry","geometry","streamGeometryType","hasOwnProperty","type","streamObjectType","Feature","FeatureCollection","features","Sphere","Point","MultiPoint","LineString","streamLine","MultiLineString","Polygon","streamPolygon","MultiPolygon","GeometryCollection","geometries","closed","coordinate"],"sourceRoot":""}
|