earcut 2.0.6 → 2.1.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.
@@ -1,10 +0,0 @@
1
- [
2
- [[-128,-128],[-128,-128],[-128,-128],[-128,1998],[-119,1978],[-127,2036],[-128,2037],[-128,2050],[-107,2044],[-77,2056],[-61,2076],[-57,2112],[-59,2198],[-49,2208],[-29,2196],[-21,2178],[33,2132],[23,2018],[69,1948],[75,1932],[65,1912],[13,1888],[-13,1862],[-29,1834],[-67,1832],[-107,1816],[-128,1817],[-128,962],[-128,962],[-128,1583],[-121,1578],[-93,1578],[-55,1586],[-23,1598],[37,1598],[169,1466],[45,1606],[65,1672],[91,1692],[83,1864],[101,1886],[139,1872],[175,1810],[177,1786],[185,1808],[163,1846],[153,1876],[185,1882],[219,1874],[269,1846],[293,1842],[317,1846],[329,1866],[361,1888],[395,1908],[415,1910],[431,1886],[441,1864],[465,1842],[491,1828],[519,1800],[537,1758],[547,1698],[549,1626],[579,1580],[595,1528],[593,1470],[585,1428],[555,1356],[509,1302],[481,1262],[441,1236],[419,1232],[393,1248],[375,1228],[397,1238],[417,1222],[441,1224],[491,1264],[501,1230],[501,1206],[511,1236],[497,1272],[531,1312],[571,1350],[583,1382],[603,1422],[651,1386],[661,1352],[655,1390],[633,1414],[607,1430],[615,1476],[615,1590],[657,1568],[703,1522],[667,1570],[637,1596],[667,1590],[693,1612],[663,1600],[641,1604],[621,1616],[607,1736],[629,1718],[653,1710],[671,1710],[703,1726],[737,1726],[699,1734],[677,1722],[657,1718],[637,1722],[619,1738],[603,1766],[585,1828],[571,1854],[555,1874],[513,1880],[483,1876],[465,1888],[443,1888],[433,1914],[431,1926],[437,1946],[461,1942],[483,1918],[481,1934],[459,1954],[485,1960],[509,1960],[539,1968],[569,1970],[597,1980],[617,1980],[643,1976],[667,1958],[719,1900],[699,1934],[671,1972],[743,1978],[765,1984],[735,1988],[697,1982],[661,1990],[645,1998],[665,2042],[695,2098],[705,2140],[719,2162],[757,2190],[853,2186],[865,2214],[881,2242],[915,2252],[925,2264],[925,2286],[917,2316],[907,2376],[941,2382],[903,2392],[895,2444],[883,2470],[877,2566],[871,2596],[947,2648],[1011,2686],[1017,2706],[1029,2708],[1041,2700],[1099,2724],[1167,2768],[1427,2832],[1447,2826],[1467,2810],[1481,2792],[1487,2766],[1489,2742],[1480,2705],[1466,2683],[1429,2654],[1270,2561],[1243,2565],[1260,2552],[1209,2524],[1190,2506],[1187,2482],[1195,2431],[1215,2397],[1222,2368],[1210,2357],[1174,2343],[1126,2305],[1114,2281],[1099,2136],[1135,2096],[1174,2060],[1179,2040],[1173,2020],[1175,2008],[1170,1976],[1136,1924],[1121,1897],[1129,1863],[1157,1815],[1175,1800],[1205,1791],[1227,1771],[1243,1737],[1236,1776],[1218,1800],[1198,1805],[1178,1818],[1160,1839],[1140,1887],[1147,1915],[1170,1942],[1191,1948],[1211,1962],[1259,1977],[1301,2020],[1369,2046],[1385,2048],[1379,2063],[1409,2125],[1425,2141],[1444,2188],[1459,2197],[1549,2188],[1579,2180],[1592,2165],[1601,2136],[1595,2110],[1579,2086],[1556,2073],[1529,2070],[1485,2071],[1444,2053],[1423,2036],[1453,2042],[1483,2056],[1511,2058],[1529,2055],[1560,2061],[1597,2085],[1636,2120],[1653,2115],[1681,2098],[1693,2072],[1696,2048],[1696,2016],[1713,2003],[1702,1986],[1705,1966],[1675,1931],[1659,1920],[1626,1915],[1571,1885],[1554,1857],[1573,1877],[1627,1907],[1665,1912],[1686,1925],[1711,1953],[1739,1963],[1731,1945],[1707,1909],[1661,1846],[1631,1839],[1575,1842],[1602,1839],[1618,1827],[1642,1824],[1671,1834],[1703,1862],[1755,1893],[1774,1896],[1798,1891],[1823,1878],[1843,1862],[1857,1814],[1835,1738],[1871,1804],[1890,1811],[1903,1824],[1911,1841],[1937,1864],[1974,1888],[2001,1894],[2026,1906],[2047,1921],[2062,1952],[2076,2007],[2092,1995],[2091,1910],[2081,1879],[2085,1853],[2127,1818],[2134,1801],[2127,1787],[2102,1764],[2099,1746],[2103,1728],[1649,1232],[1587,1151],[1616,1180],[1651,1226],[2110,1719],[2122,1720],[2153,1755],[2175,1772],[2202,1775],[2214,1750],[2218,1728],[2205,1715],[2186,1704],[2179,1689],[2186,1674],[2203,1672],[2236,1679],[2247,1666],[2251,1648],[2231,1615],[2226,1573],[2218,1565],[2200,1574],[2178,1572],[2166,1561],[2165,1549],[2179,1538],[2198,1513],[2192,1477],[2166,1483],[2141,1480],[2121,1442],[2116,1427],[2100,1420],[2077,1420],[2059,1409],[2061,1378],[2079,1319],[2095,1305],[2117,1303],[2135,1314],[2147,1330],[2171,1325],[2183,1312],[2183,1290],[2163,1260],[2143,1238],[2107,1221],[2101,1206],[2104,1191],[2122,1176],[2143,1160],[2151,1143],[2147,1126],[2135,1114],[2115,1111],[2095,1101],[2084,1086],[2087,1067],[2111,1023],[2109,1010],[2095,1002],[2081,984],[2081,962],[2095,945],[2115,937],[2137,939],[2157,929],[2161,889],[2153,869],[2127,869],[2101,859],[2091,829],[2093,801],[2121,783],[2151,783],[2167,799],[2189,791],[2197,771],[2191,741],[2199,729],[2231,713],[2237,699],[2209,681],[2191,659],[2189,635],[2207,591],[2233,553],[2231,519],[2239,495],[2255,483],[2271,443],[2299,437],[2341,439],[2371,421],[2419,399],[2443,397],[2457,405],[2483,393],[2515,371],[2545,361],[2597,359],[2631,321],[2665,317],[2705,319],[2679,327],[2678,327],[2645,327],[2636,332],[2615,361],[2591,371],[2541,373],[2507,389],[2469,415],[2453,415],[2429,405],[2401,415],[2363,445],[2337,457],[2303,453],[2283,457],[2271,477],[2247,507],[2239,531],[2245,555],[2213,605],[2201,641],[2201,655],[2247,687],[2257,707],[2217,733],[2203,747],[2209,775],[2197,801],[2171,811],[2153,805],[2141,797],[2117,801],[2103,819],[2107,839],[2129,851],[2165,857],[2177,873],[2175,897],[2167,923],[2153,949],[2107,957],[2095,969],[2097,985],[2121,1003],[2135,1021],[2127,1041],[2105,1065],[2107,1075],[2121,1089],[2145,1103],[2163,1125],[2167,1143],[2157,1163],[2125,1191],[2119,1203],[2135,1221],[2161,1233],[2199,1287],[2201,1299],[2195,1323],[2175,1339],[2147,1341],[2129,1337],[2125,1319],[2113,1317],[2095,1335],[2087,1353],[2077,1397],[2079,1411],[2117,1407],[2135,1415],[2149,1457],[2165,1467],[2415,1383],[2205,1467],[2213,1487],[2211,1523],[2201,1545],[2183,1557],[2223,1553],[2233,1563],[2243,1579],[2241,1597],[2255,1617],[2273,1625],[2477,1599],[2263,1639],[2261,1671],[2251,1687],[2237,1697],[2223,1701],[2199,1695],[2227,1713],[2237,1733],[2233,1761],[2219,1781],[2207,1791],[2225,1811],[2245,1827],[2281,1839],[2315,1839],[2377,1855],[2313,1849],[2277,1853],[2251,1843],[2223,1825],[2207,1807],[2193,1799],[2173,1797],[2159,1799],[2153,1821],[2141,1839],[2115,1853],[2105,1871],[2113,2025],[2117,2057],[2113,2077],[2101,2097],[2095,2119],[2101,2135],[2121,2151],[2133,2169],[2127,2193],[2129,2211],[2145,2221],[2167,2215],[2195,2199],[2219,2191],[2265,2189],[2293,2169],[2317,2143],[2355,2137],[2377,2141],[2427,1971],[2387,2147],[2401,2165],[2535,2167],[2405,2179],[2421,2205],[2441,2227],[2445,2255],[2427,2287],[2391,2325],[2365,2357],[2361,2381],[2349,2397],[2327,2419],[2291,2413],[2263,2453],[2229,2473],[2251,2491],[2265,2555],[2263,2583],[2253,2613],[2285,2623],[2331,2645],[2319,2617],[2319,2583],[2335,2565],[2359,2565],[2389,2603],[2401,2627],[2447,2639],[2475,2631],[2493,2619],[2515,2615],[2561,2633],[2603,2635],[2636,2627],[2661,2571],[2687,2569],[2678,2561],[2655,2537],[2636,2546],[2621,2553],[2581,2555],[2549,2539],[2523,2509],[2571,2537],[2611,2545],[2636,2533],[2653,2525],[2637,2503],[2701,2565],[2737,2561],[2679,2583],[2669,2599],[2667,2619],[2659,2637],[2673,2651],[2677,2679],[2665,2697],[2641,2719],[2609,2733],[2601,2759],[2599,2787],[2633,2785],[2671,2787],[2701,2725],[2725,2715],[2779,2717],[2725,2723],[2705,2739],[2689,2771],[2683,2791],[2693,2793],[2737,2831],[2687,2797],[2678,2795],[2667,2793],[2599,2797],[2589,2819],[2575,2839],[2581,2881],[2607,2901],[2611,2927],[2623,2951],[2636,2968],[2647,2997],[2649,3019],[2671,3031],[2687,3029],[2733,3053],[2747,3067],[2753,3089],[2741,3117],[2709,3139],[2757,3151],[2791,3129],[2837,3093],[2865,3063],[2877,3041],[2871,3019],[2823,2963],[2885,3017],[2909,2993],[2951,2975],[2909,3007],[2887,3027],[2885,3053],[2867,3081],[2833,3109],[2805,3139],[2817,3153],[2973,3125],[2983,3135],[2995,3157],[2971,3135],[2939,3135],[2809,3165],[2795,3177],[2801,3191],[2795,3207],[2783,3221],[2785,3239],[2801,3251],[2823,3253],[2847,3239],[2879,3245],[2901,3257],[2921,3273],[2931,3303],[2947,3277],[2967,3273],[3013,3297],[3027,3315],[3179,3419],[3227,3457],[3257,3455],[3275,3441],[3265,3417],[3283,3351],[3277,3327],[3293,3293],[3119,3119],[3297,3283],[3305,3303],[3295,3323],[3309,3333],[3327,3321],[3331,3293],[3383,3241],[3387,3211],[3351,3187],[3321,3153],[3289,3091],[3279,3051],[3263,3047],[3217,3077],[3179,3083],[3147,3067],[3199,3071],[3235,3055],[3261,3039],[3217,2997],[3115,2953],[3169,2955],[3219,2977],[3261,3019],[3289,3039],[3303,3081],[3313,3121],[3351,3171],[3395,3195],[3415,3153],[3433,3131],[3435,3055],[3403,3049],[3373,3033],[3303,2931],[3281,2915],[3213,2909],[3287,2907],[3311,2925],[3381,3027],[3417,3043],[3443,3045],[3449,3061],[3443,3123],[3475,3115],[3493,3091],[3485,3113],[3521,3107],[3545,3085],[3577,2981],[3567,2961],[3519,2943],[3515,2933],[3491,2937],[3447,2913],[3363,2899],[3449,2901],[3497,2923],[3527,2921],[3533,2895],[3557,2881],[3585,2875],[3635,2839],[3615,2817],[3589,2797],[3603,2777],[3609,2743],[3591,2723],[3587,2709],[3453,2701],[3435,2695],[3411,2719],[3179,2655],[3409,2707],[3439,2685],[3467,2691],[3585,2695],[3607,2639],[3597,2605],[3609,2567],[3601,2557],[3539,2551],[3531,2531],[3551,2515],[3593,2505],[3629,2463],[3617,2419],[3605,2389],[3583,2365],[3581,2341],[3553,2347],[3477,2343],[3465,2315],[3479,2289],[3473,2265],[3453,2283],[3431,2289],[3407,2285],[3381,2267],[3377,2245],[3405,2213],[3397,2195],[3361,2197],[3337,2209],[3313,2213],[3305,2235],[3319,2261],[3321,2287],[3305,2335],[3311,2287],[3305,2259],[3289,2235],[3301,2215],[3321,2199],[3347,2195],[3371,2181],[3395,2187],[3407,2139],[3391,2121],[3379,2083],[3375,2019],[3367,1959],[3373,1913],[3371,1893],[3313,1855],[3299,1829],[3305,1797],[3305,1781],[3289,1769],[3243,1759],[3209,1737],[3183,1699],[3155,1687],[3141,1673],[3151,1627],[3151,1603],[3189,1555],[3201,1533],[3181,1483],[3189,1465],[3225,1463],[3239,1441],[3269,1439],[3287,1421],[3307,1411],[3329,1417],[3349,1403],[3355,1373],[3385,1341],[3389,1313],[3377,1269],[3387,1253],[3399,1211],[3409,1197],[3403,1183],[3407,1169],[3439,1145],[3445,1101],[3439,1063],[3455,1047],[3459,1025],[3471,1007],[3483,981],[3505,961],[3569,935],[3639,895],[3569,945],[3509,971],[3489,985],[3479,1007],[3463,1031],[3465,1049],[3449,1065],[3453,1101],[3449,1143],[3431,1165],[3411,1179],[3423,1197],[3411,1211],[3389,1273],[3395,1317],[3393,1339],[3373,1371],[3363,1379],[3359,1405],[3337,1427],[3305,1425],[3277,1441],[3259,1459],[3243,1455],[3227,1475],[3197,1481],[3209,1511],[3213,1541],[3173,1595],[3161,1623],[3157,1657],[3165,1671],[3197,1689],[3221,1729],[3263,1751],[3291,1751],[3319,1767],[3325,1795],[3319,1817],[3331,1847],[3363,1865],[3383,1883],[3395,1909],[3387,1985],[3397,2027],[3399,2071],[3415,2097],[3423,2117],[3423,2141],[3415,2185],[3429,2211],[3473,2235],[3497,2257],[3501,2287],[3489,2309],[3495,2325],[3531,2331],[3565,2321],[3593,2327],[3605,2353],[3603,2367],[3631,2387],[3729,2143],[3771,2119],[3735,2149],[3635,2407],[3649,2459],[3737,2519],[3733,2477],[3747,2447],[3811,2361],[3749,2461],[3739,2487],[3745,2531],[3741,2557],[3729,2583],[3699,2625],[3695,2649],[3707,2671],[3753,2731],[3791,2773],[3805,2811],[3823,2847],[3855,2803],[3853,2771],[3837,2759],[3829,2737],[3797,2695],[3785,2689],[3801,2653],[3831,2651],[3835,2623],[3851,2621],[3857,2593],[3867,2569],[3865,2547],[3879,2529],[3873,2553],[3875,2577],[3861,2625],[3845,2633],[3841,2659],[3807,2661],[3799,2681],[3843,2737],[3847,2753],[3865,2765],[3865,2807],[3837,2847],[3845,2865],[3869,2899],[3889,2945],[3911,3021],[3951,3069],[3959,3097],[3955,3129],[3975,3143],[4017,3147],[4051,3169],[4075,3188],[4087,3197],[4117,3198],[4145,3199],[4177,3223],[4215,3245],[4213,3279],[4199,3331],[4224,3350],[4224,3661],[4117,3663],[4081,3664],[3963,3670],[3937,3690],[3941,3736],[3949,3798],[3965,3816],[3987,3852],[4045,3858],[4075,3832],[4089,3820],[4155,3788],[4215,3782],[4224,3785],[4224,4062],[4195,4066],[4179,4088],[4189,4112],[4224,4129],[4224,4145],[4177,4122],[4101,4200],[4082,4224],[4224,4224],[4224,4224],[-128,4224],[-128,-128]],
3
- [[4117,4162],[4161,4115],[4165,4091],[4177,4067],[4203,4053],[4224,4047],[4224,3801],[4181,3801],[4157,3801],[4127,3819],[4081,3857],[4041,3877],[3997,3875],[3969,3851],[3941,3831],[3933,3769],[3911,3717],[3925,3665],[3929,3639],[3879,3619],[3849,3581],[3823,3601],[3815,3629],[3829,3669],[3861,3699],[3883,3737],[3883,3775],[3881,3827],[3867,3869],[3839,3907],[3787,3959],[3783,3989],[3801,4005],[3797,4027],[3799,4061],[3813,4093],[3805,4141],[3795,4191],[3789,4221],[3801,4224],[3907,4224],[4033,4217],[4049,4224],[4059,4224],[4117,4162],[4117,4162]],
4
- [[3857,2915],[3833,2925],[3817,2921],[3807,2913],[3773,2913],[3761,2927],[3765,2957],[3757,2979],[3773,2991],[3791,2995],[3789,3013],[3817,3017],[3835,3027],[3839,3039],[3827,3047],[3817,3055],[3811,3077],[3789,3085],[3765,3079],[3739,3093],[3711,3107],[3705,3115],[3707,3135],[3689,3161],[3705,3167],[3695,3197],[3705,3205],[3723,3211],[3723,3231],[3751,3229],[3749,3217],[3767,3203],[3799,3167],[3793,3131],[3809,3117],[3869,3085],[3911,3057],[3891,3035],[3887,3001],[3871,2959],[3857,2915],[3857,2915]],
5
- [[3653,2641],[3665,2621],[3681,2615],[3693,2613],[3731,2567],[3737,2541],[3727,2521],[3649,2473],[3625,2503],[3599,2519],[3573,2525],[3555,2531],[3555,2543],[3603,2541],[3631,2553],[3625,2579],[3615,2607],[3625,2643],[3653,2641],[3653,2641]],
6
- [[3413,2227],[3395,2243],[3393,2261],[3413,2273],[3433,2277],[3473,2259],[3413,2227],[3413,2227]],
7
- [[1991,2570],[2223,2614],[2239,2600],[2247,2570],[2237,2542],[2235,2516],[2223,2504],[2207,2490],[2213,2464],[2225,2446],[2249,2440],[2255,2424],[2263,2406],[2283,2394],[2307,2388],[2333,2394],[2343,2386],[2343,2364],[2351,2340],[2373,2318],[2403,2298],[2417,2272],[2421,2256],[2411,2234],[2397,2200],[2379,2172],[2349,2158],[2333,2156],[2315,2166],[2303,2192],[2279,2208],[2241,2208],[2221,2212],[2197,2218],[2181,2228],[2159,2246],[2139,2256],[2127,2260],[2111,2266],[2127,2332],[2251,2288],[2121,2348],[2099,2358],[2081,2378],[2055,2388],[2015,2410],[1973,2430],[1951,2442],[1945,2456],[1947,2476],[1963,2484],[2095,2432],[1969,2494],[1965,2510],[1971,2524],[1983,2538],[1989,2552],[1991,2570],[1991,2570]],
8
- [[850,2552],[858,2452],[790,2436],[778,2380],[806,2416],[870,2428],[910,2276],[870,2256],[838,2204],[762,2212],[706,2164],[686,2128],[634,2016],[582,1996],[510,1976],[422,1964],[370,1928],[314,1884],[270,1884],[218,1908],[130,1924],[134,1988],[106,2028],[86,2064],[114,2108],[114,2152],[-22,2292],[-102,2272],[-128,2252],[-128,2319],[-106,2328],[-102,2364],[-10,2400],[98,2400],[234,2408],[338,2432],[450,2448],[606,2488],[734,2536],[850,2552],[850,2552]],
9
- [[-128,1781],[-118,1780],[-54,1808],[-2,1820],[30,1860],[58,1860],[74,1708],[46,1692],[18,1620],[-54,1608],[-114,1608],[-128,1615],[-128,1781]]
10
- ]
@@ -1,8 +0,0 @@
1
- [
2
- [[-128,4224],[-128,-128],[4224,-128],[4224,4224],[-128,4224]],
3
- [[3030,-21],[3019,7],[3025,21],[3045,65],[3054,114],[3041,189],[3000,219],[3017,257],[2966,338],[2938,340],[2934,541],[2973,618],[2979,752],[3026,803],[3052,938],[3083,1030],[3034,1175],[3041,1264],[3083,1311],[3088,1348],[3067,1399],[3139,1435],[3209,1412],[3220,1378],[3242,1316],[3276,1335],[3314,1367],[3369,1529],[3436,1563],[3464,1681],[3512,1732],[3521,1811],[3508,1883],[3591,1939],[3724,2088],[3828,2171],[3867,2238],[3905,2344],[3939,2443],[3892,2498],[3889,2521],[3884,2560],[3942,2624],[3986,2681],[3999,2831],[4089,3008],[4117,3130],[4104,3172],[4023,3205],[3969,3283],[3991,3347],[4091,3365],[4146,3411],[4136,3456],[4068,3467],[3999,3412],[3978,3373],[3935,3350],[3937,3401],[4001,3465],[4036,3503],[3941,3459],[3907,3533],[3939,3655],[3867,3574],[3867,3663],[3796,3614],[3773,3730],[3880,4118],[3854,4159],[3891,4224],[4084,4224],[4106,4103],[4213,4062],[4224,4060],[4224,2439],[4155,2244],[4020,2282],[3978,2233],[3976,2146],[3927,2103],[3937,2060],[3910,1930],[3933,1862],[3893,1781],[3850,1774],[3803,1712],[3824,1651],[3794,1572],[3820,1535],[3835,1493],[3920,1550],[3957,1520],[3948,1444],[3973,1459],[3982,1508],[4016,1520],[4012,1471],[4042,1426],[4068,1422],[4198,1390],[4224,1368],[4224,969],[4214,1019],[4177,1095],[4142,1070],[4176,978],[4202,843],[4213,653],[4181,656],[4181,804],[4155,796],[4138,673],[4114,600],[4050,622],[4050,573],[4100,551],[4050,379],[4015,274],[3986,208],[3972,175],[3965,158],[3953,131],[3921,99],[3885,60],[3853,29],[3807,-4],[3755,-27],[3692,-53],[3639,-58],[3595,-34],[3573,-11],[3519,-4],[3488,17],[3467,6],[3426,4],[3384,25],[3308,28],[3263,-93],[3126,-83],[3041,-46],[3030,-21],[3030,-21]],
4
- [[3832,-21],[3840,-17],[3877,21],[3895,39],[3961,-21],[3893,-98],[3855,-128],[3688,-128],[3742,-81],[3793,-41],[3832,-21],[3832,-21]],
5
- [[4205,596],[4224,572],[4224,248],[4166,163],[4119,50],[4020,36],[4004,21],[3969,21],[3936,62],[3982,117],[4088,293],[4152,419],[4185,544],[4205,596],[4205,596]],
6
- [[3228,2459],[3243,2459],[3248,2434],[3273,2429],[3218,2186],[3255,2102],[3285,2094],[3314,1972],[3198,1969],[3192,1943],[3223,1943],[3222,1913],[3177,1928],[3187,1979],[3180,2171],[3134,2187],[3212,2399],[3243,2398],[3228,2459],[3228,2459]],
7
- [[4224,1574],[4212,1572],[4175,1600],[4152,1647],[4131,1689],[4106,1736],[4101,1785],[4115,1851],[4149,1885],[4169,1920],[4204,1908],[4224,1875],[4214,1844],[4199,1798],[4215,1763],[4224,1767],[4224,1574]]
8
- ]
@@ -1,5 +0,0 @@
1
- [
2
- [[-128,4224],[-128,-128],[4224,-128],[4224,4224],[-128,4224]],
3
- [[3832,-21],[3840,-17],[3877,21],[3895,39],[3961,-21],[3893,-98],[3855,-128],[3688,-128],[3742,-81],[3793,-41],[3832,-21],[3832,-21]],
4
- [[4205,596],[4224,572],[4224,248],[4166,163],[4119,50],[4020,36],[4004,21],[3969,21],[3936,62],[3982,117],[4088,293],[4152,419],[4185,544],[4205,596],[4205,596]]
5
- ]
@@ -1,8 +0,0 @@
1
- [
2
- [[3911,4075],[3910,4075],[3926,4114],[3950,4132],[3965,4126],[3978,4139],[3986,4131],[3979,4119],[3986,4084],[3991,4075],[4020,4020],[4027,4012],[4030,4022],[4047,4033],[4058,4030],[4067,4022],[4120,4003],[4118,3993],[4135,3995],[4130,4032],[4121,4038],[4118,4056],[4107,4050],[4095,4060],[4086,4062],[4070,4075],[4027,4111],[4042,4140],[4058,4139],[4067,4135],[4078,4138],[4067,4151],[4067,4166],[4077,4180],[4088,4191],[4047,4172],[4031,4161],[4020,4165],[4000,4147],[4013,4171],[4000,4224],[3836,4224],[3828,4224],[3071,4224],[3070,4212],[3158,4140],[3202,4158],[3171,4117],[3161,4104],[3136,4131],[3122,4117],[3105,4099],[3122,4075],[3136,4055],[3156,4075],[3178,4097],[3205,4082],[3176,4036],[3187,3979],[3105,3947],[3084,3920],[3036,3976],[2980,3982],[2993,4043],[2956,3964],[3020,3960],[3050,3921],[3032,3880],[3069,3902],[3093,3894],[3188,3961],[3236,3917],[3222,3893],[3191,3891],[3173,3863],[3187,3818],[3225,3775],[3292,3774],[3239,3798],[3197,3845],[3211,3873],[3249,3877],[3442,3801],[3567,3769],[3587,3798],[3632,3777],[3607,3820],[3644,3880],[3707,3851],[3726,3899],[3766,3951],[3770,3977],[3778,3985],[3772,4012],[3763,3998],[3745,3990],[3747,3977],[3738,3974],[3735,3985],[3725,3995],[3745,4010],[3758,4024],[3763,4048],[3772,4067],[3762,4074],[3754,4093],[3763,4094],[3779,4083],[3779,4074],[3784,4066],[3792,4060],[3794,4043],[3795,4029],[3798,4016],[3807,4006],[3799,3933],[3849,3871],[3838,3840],[3885,3818],[3913,3778],[3958,3687],[4056,3501],[4109,3301],[3956,3259],[3876,3277],[3775,3251],[3705,3225],[3659,3243],[3613,3232],[3614,3310],[3606,3266],[3552,3297],[3494,3235],[3440,3221],[3402,3190],[3344,3177],[3264,3142],[3279,3201],[3248,3256],[3229,3197],[3200,3194],[3191,3246],[3159,3244],[3125,3282],[3097,3296],[3068,3279],[3013,3393],[3002,3486],[2994,3383],[2917,3406],[2985,3359],[3073,3239],[3106,3270],[3139,3238],[3156,3166],[3156,3101],[3106,3069],[3095,3021],[3060,3025],[3100,2967],[3058,2920],[3115,2933],[3138,2891],[3168,2877],[3217,2892],[3207,2847],[3143,2821],[3192,2691],[3239,2686],[3176,2615],[3191,2615],[3191,2600],[3240,2590],[3189,2544],[3161,2570],[3112,2769],[3087,2798],[3045,2878],[3028,2890],[2992,3118],[2905,3266],[2880,3271],[2860,3342],[2820,3348],[2800,3419],[2775,3424],[2756,3495],[2731,3501],[2711,3572],[2686,3577],[2642,3729],[2612,3730],[2628,3805],[2628,3821],[2579,3968],[2554,3973],[2554,4004],[2524,4004],[2534,4029],[2479,4050],[2470,4075],[2457,4111],[2442,4117],[2419,4126],[2414,4197],[2390,4218],[2388,4224],[-128,4224],[-128,-128],[-128,-128],[4224,-128],[4224,-128],[4224,3063],[4156,3260],[4172,3284],[4147,3288],[4125,3375],[4092,3462],[4080,3524],[3983,3692],[3965,3786],[3984,3816],[3943,3891],[3973,3902],[3978,3917],[3976,3929],[3964,3953],[3957,3968],[3941,3983],[3925,4009],[3923,4024],[3924,4033],[3922,4046],[3920,4055],[3911,4075],[3911,4075]],
3
- [[3364,4097],[3383,4108],[3398,4124],[3406,4144],[3413,4155],[3426,4156],[3442,4162],[3446,4176],[3465,4185],[3488,4189],[3502,4192],[3517,4205],[3520,4224],[3549,4224],[3557,4208],[3540,4198],[3528,4191],[3523,4183],[3510,4184],[3498,4178],[3485,4184],[3479,4173],[3480,4136],[3489,4120],[3475,4116],[3460,4105],[3471,4103],[3469,4083],[3444,4074],[3444,4056],[3455,4070],[3470,4074],[3478,4083],[3488,4079],[3477,4089],[3483,4100],[3475,4107],[3483,4113],[3506,4102],[3502,4092],[3527,4107],[3513,4106],[3512,4117],[3504,4125],[3490,4136],[3487,4146],[3486,4172],[3501,4173],[3510,4178],[3523,4177],[3532,4185],[3568,4199],[3582,4198],[3600,4183],[3579,4144],[3580,4123],[3586,4114],[3586,4104],[3594,4099],[3573,4090],[3581,4103],[3578,4114],[3565,4110],[3565,4101],[3562,4092],[3542,4081],[3540,4067],[3553,4052],[3538,4041],[3529,4040],[3532,4027],[3538,4019],[3551,4018],[3565,4011],[3567,3999],[3576,3996],[3595,3992],[3588,3958],[3573,3922],[3578,3885],[3559,3878],[3553,3866],[3558,3790],[3529,3795],[3468,3809],[3395,3836],[3247,3891],[3246,3922],[3246,3948],[3274,3976],[3335,3983],[3387,3980],[3383,4036],[3387,4052],[3364,4097],[3364,4097]],
4
- [[2976,2176],[2953,2237],[2969,2285],[3011,2301],[3046,2297],[3091,2255],[3133,2276],[3155,2245],[3145,2194],[3171,2157],[3148,2085],[3109,2097],[3096,2079],[3073,2080],[3056,2136],[3008,2171],[3032,2134],[3042,2085],[3064,2068],[3067,2028],[3099,1984],[3126,1980],[3146,1951],[3158,1893],[3207,1857],[3240,1826],[3321,1842],[3238,1848],[3213,1885],[3177,1917],[3163,1968],[3138,2017],[3180,2004],[3206,1958],[3272,1951],[3346,1944],[3360,1988],[3402,2001],[3437,2053],[3460,2054],[3468,2089],[3455,2140],[3425,2187],[3486,2135],[3505,2080],[3506,2038],[3516,1985],[3559,1955],[3556,1887],[3548,1857],[3520,1881],[3482,1895],[3473,1860],[3448,1842],[3449,1791],[3480,1773],[3532,1750],[3510,1789],[3463,1808],[3475,1835],[3509,1874],[3542,1836],[3579,1847],[3579,1891],[3580,1936],[3601,1954],[3630,1924],[3699,1930],[3720,1966],[3708,1994],[3695,1943],[3629,1945],[3611,1975],[3581,1966],[3556,1993],[3548,2073],[3517,2148],[3475,2199],[3486,2254],[3456,2300],[3410,2293],[3384,2219],[3346,2189],[3270,2185],[3214,2148],[3183,2217],[3231,2271],[3301,2317],[3296,2369],[3282,2441],[3230,2488],[3242,2507],[3233,2539],[3275,2568],[3272,2646],[3301,2638],[3312,2583],[3359,2662],[3350,2602],[3374,2555],[3413,2549],[3444,2550],[3459,2526],[3481,2534],[3464,2556],[3506,2588],[3536,2535],[3555,2549],[3518,2625],[3491,2600],[3463,2623],[3451,2583],[3398,2637],[3437,2690],[3378,2678],[3354,2693],[3301,2701],[3301,2767],[3266,2712],[3235,2713],[3195,2731],[3203,2761],[3224,2792],[3291,2804],[3341,2802],[3357,2780],[3363,2753],[3388,2724],[3415,2726],[3445,2736],[3460,2779],[3516,2736],[3537,2741],[3579,2749],[3608,2715],[3645,2709],[3659,2727],[3691,2712],[3734,2691],[3745,2648],[3731,2635],[3687,2679],[3654,2685],[3633,2662],[3598,2658],[3584,2630],[3596,2597],[3594,2557],[3613,2518],[3640,2517],[3636,2486],[3658,2444],[3647,2409],[3686,2446],[3652,2488],[3651,2525],[3626,2560],[3655,2597],[3630,2629],[3667,2669],[3727,2616],[3758,2623],[3817,2628],[3823,2593],[3791,2551],[3753,2515],[3754,2484],[3775,2484],[3795,2454],[3831,2471],[3893,2485],[3927,2485],[3953,2458],[3998,2422],[4046,2383],[4022,2355],[4020,2296],[3946,2285],[3902,2357],[3920,2295],[3894,2249],[3839,2250],[3898,2235],[3927,2187],[3916,2149],[3887,2161],[3822,2135],[3883,2132],[3922,2040],[3909,2109],[3937,2104],[3949,2152],[3998,2135],[4080,2138],[4119,2083],[4101,2020],[4106,1978],[4164,1986],[4163,1952],[4203,1992],[4210,2013],[4200,2031],[4224,2021],[4224,1949],[4216,1915],[4199,1891],[4199,1876],[4183,1816],[4097,1796],[4059,1748],[4030,1713],[3989,1696],[3955,1681],[3926,1657],[3869,1646],[3824,1612],[3788,1591],[3561,1609],[3546,1624],[3515,1624],[3510,1649],[3350,1732],[3335,1732],[3274,1748],[3259,1763],[3108,1795],[3049,1887],[3015,2080],[2976,2176],[2976,2176]],
5
- [[3183,-128],[3192,-118],[3253,-36],[3313,26],[3357,31],[3406,103],[3514,134],[3541,271],[3547,344],[3664,311],[3669,216],[3565,168],[3662,150],[3655,88],[3528,39],[3581,26],[3608,-21],[3675,-87],[3637,-128],[3183,-128]],
6
- [[3205,-15],[3114,-30],[3065,-59],[3017,-29],[3047,7],[3013,118],[2971,183],[2978,281],[3026,305],[3081,298],[3107,369],[3157,360],[3191,397],[3312,393],[3350,371],[3363,294],[3419,236],[3334,298],[3306,338],[3305,290],[3261,235],[3253,140],[3254,86],[3335,51],[3273,34],[3227,26],[3199,49],[3232,96],[3223,166],[3224,247],[3242,268],[3224,281],[3202,244],[3173,266],[3187,328],[3158,328],[3136,258],[3184,231],[3177,169],[3149,144],[3133,188],[3078,155],[3058,183],[3102,221],[3074,236],[3048,198],[3011,180],[3043,144],[3111,74],[3120,37],[3098,19],[3100,-1],[3201,8],[3205,-15],[3205,-15]],
7
- [[4224,2296],[4180,2330],[4198,2362],[4203,2411],[4224,2415],[4224,2482],[4212,2474],[4198,2509],[4197,2541],[4177,2531],[4124,2533],[4101,2514],[4023,2555],[4029,2506],[4055,2468],[4029,2422],[3955,2489],[3928,2532],[3913,2515],[3857,2512],[3804,2481],[3789,2511],[3844,2590],[3830,2643],[3767,2641],[3761,2730],[3704,2728],[3675,2737],[3670,2764],[3651,2765],[3651,2741],[3626,2729],[3607,2761],[3552,2763],[3551,2781],[3513,2781],[3505,2817],[3477,2800],[3459,2831],[3422,2852],[3420,2901],[3399,2855],[3428,2807],[3428,2770],[3402,2751],[3378,2764],[3400,2817],[3363,2833],[3319,2849],[3299,2895],[3313,2925],[3283,2942],[3286,2853],[3237,2904],[3230,2941],[3254,2952],[3267,2985],[3302,3016],[3346,2995],[3379,3004],[3384,3070],[3416,3072],[3456,3069],[3459,3042],[3478,2986],[3481,3022],[3496,3023],[3512,3072],[3486,3080],[3488,3150],[3508,3174],[3535,3195],[3553,3174],[3571,3206],[3605,3179],[3639,3213],[3701,3204],[3881,3256],[3964,3239],[4113,3273],[4168,3133],[4224,2979],[4224,2296]]
8
- ]
package/test/test.js DELETED
@@ -1,124 +0,0 @@
1
- 'use strict';
2
-
3
- var test = require('tape'),
4
- earcut = require('../src/earcut'),
5
- fs = require('fs'),
6
- path = require('path');
7
-
8
- areaTest('building', 12);
9
- areaTest('dude', 106);
10
- areaTest('water', 2482, 0.0008);
11
- areaTest('water2', 1211);
12
- areaTest('water3', 197);
13
- areaTest('water3b', 25);
14
- areaTest('water4', 705);
15
- areaTest('water-huge', 5159, 0.008);
16
- areaTest('water-huge2', 4458, 0.0019);
17
- areaTest('degenerate', 0);
18
- areaTest('bad-hole', 34, 0.0420);
19
- areaTest('empty-square', 0);
20
- areaTest('issue16', 12);
21
- areaTest('issue17', 11);
22
- areaTest('steiner', 9);
23
- areaTest('issue29', 40);
24
- areaTest('issue34', 139);
25
- areaTest('issue35', 844);
26
- areaTest('self-touching', 124, 3.4e-14);
27
- areaTest('outside-ring', 64);
28
- areaTest('simplified-us-border', 120);
29
- areaTest('touching-holes', 57);
30
- areaTest('hole-touching-outer', 77);
31
-
32
- test('indices-2d', function (t) {
33
- var indices = earcut([10, 0, 0, 50, 60, 60, 70, 10]);
34
- t.same(indices, [1, 0, 3, 3, 2, 1]);
35
- t.end();
36
- });
37
-
38
- test('indices-3d', function (t) {
39
- var indices = earcut([10, 0, 0, 0, 50, 0, 60, 60, 0, 70, 10, 0], null, 3);
40
- t.same(indices, [1, 0, 3, 3, 2, 1]);
41
- t.end();
42
- });
43
-
44
- test('empty', function (t) {
45
- t.same(earcut([]), []);
46
- t.end();
47
- });
48
-
49
- function areaTest(filename, expectedTriangles, expectedDeviation) {
50
- expectedDeviation = expectedDeviation || 1e-14;
51
-
52
- test(filename, function (t) {
53
-
54
- var data = JSON.parse(fs.readFileSync(path.join(__dirname, '/fixtures/' + filename + '.json'))),
55
- data2 = flattenData(data),
56
- vertices = data2.vertices,
57
- holes = data2.holes,
58
- dim = data2.dimensions,
59
- indices = earcut(vertices, holes, dim),
60
- expectedArea = polygonArea(data),
61
- area = 0;
62
-
63
- for (var i = 0; i < indices.length; i += 3) {
64
- area += triangleArea(
65
- [vertices[dim * indices[i]], vertices[dim * indices[i] + 1]],
66
- [vertices[dim * indices[i + 1]], vertices[dim * indices[i + 1] + 1]],
67
- [vertices[dim * indices[i + 2]], vertices[dim * indices[i + 2] + 1]]);
68
- }
69
-
70
- var deviation = expectedArea === 0 && area === 0 ? 0 : Math.abs(area - expectedArea) / expectedArea;
71
-
72
- t.ok(deviation < expectedDeviation,
73
- 'deviation ' + formatPercent(deviation) + ' is less than ' + formatPercent(expectedDeviation));
74
-
75
- if (expectedTriangles) {
76
- t.ok(indices.length / 3 === expectedTriangles, (indices.length / 3) + ' triangles when expected ' +
77
- expectedTriangles);
78
- }
79
-
80
- t.end();
81
- });
82
- }
83
-
84
- function flattenData(data) {
85
- var dim = data[0][0].length,
86
- result = {vertices: [], holes: [], dimensions: dim},
87
- holeIndex = 0;
88
-
89
- for (var i = 0; i < data.length; i++) {
90
- for (var j = 0; j < data[i].length; j++) {
91
- for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);
92
- }
93
- if (i > 0) {
94
- holeIndex += data[i - 1].length;
95
- result.holes.push(holeIndex);
96
- }
97
- }
98
-
99
- return result;
100
- }
101
-
102
- function formatPercent(num) {
103
- return (Math.round(1e8 * num) / 1e6) + '%';
104
- }
105
-
106
- function triangleArea(a, b, c) {
107
- return Math.abs((a[0] - c[0]) * (b[1] - a[1]) - (a[0] - b[0]) * (c[1] - a[1])) / 2;
108
- }
109
-
110
- function ringArea(points) {
111
- var sum = 0;
112
- for (var i = 0, len = points.length, j = len - 1; i < len; j = i++) {
113
- sum += (points[i][0] - points[j][0]) * (points[i][1] + points[j][1]);
114
- }
115
- return Math.abs(sum) / 2;
116
- }
117
-
118
- function polygonArea(rings) {
119
- var sum = ringArea(rings[0]);
120
- for (var i = 1; i < rings.length; i++) {
121
- sum -= ringArea(rings[i]);
122
- }
123
- return sum;
124
- }
package/viz/index.html DELETED
@@ -1,16 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>debug page</title>
5
- <meta charset='utf-8'>
6
- <style>
7
- body { margin: 0; padding: 0;}
8
- </style>
9
- </head>
10
- <body>
11
- <canvas id="canvas"></canvas>
12
- <script>module = {}</script>
13
- <script src='../src/earcut.js'></script>
14
- <script src='viz.js'></script>
15
- </body>
16
- </html>
package/viz/viz.js DELETED
@@ -1,115 +0,0 @@
1
- var testPoints = [
2
- [[2293,4224],[2294,4219],[2280,4180],[2288,4172],[2283,4189],[2301,4218],[2299,4224],[2347,4224],[2344,4215],[2351,4224],[2371,4224],[2379,4224],[2375,4206],[2363,4202],[2346,4194],[2371,4195],[2376,4180],[2383,4202],[2429,4176],[2431,4163],[2439,4161],[2438,4144],[2464,4124],[2457,4111],[2467,4102],[2473,4060],[2482,4053],[2488,4031],[2467,3982],[2456,3991],[2456,4005],[2451,3998],[2451,4014],[2432,4011],[2433,4025],[2427,4012],[2415,4009],[2438,4003],[2419,3990],[2411,3987],[2391,4000],[2391,3989],[2374,3991],[2382,3995],[2363,4028],[2364,4042],[2380,4041],[2389,4029],[2387,4053],[2412,4055],[2376,4059],[2389,4085],[2381,4093],[2371,4076],[2363,4082],[2372,4067],[2362,4059],[2347,4054],[2349,4040],[2344,4057],[2325,4063],[2322,4073],[2332,4078],[2325,4086],[2317,4082],[2308,4065],[2321,4063],[2299,4051],[2312,4056],[2326,4055],[2325,4044],[2302,4021],[2315,4029],[2324,4023],[2333,4040],[2335,4026],[2349,4016],[2333,3999],[2318,4002],[2333,3991],[2321,3985],[2350,4000],[2350,3962],[2331,3964],[2340,3949],[2332,3946],[2341,3943],[2345,3952],[2358,3947],[2350,3922],[2362,3931],[2363,3922],[2368,3946],[2377,3946],[2388,3933],[2378,3908],[2389,3920],[2393,3948],[2401,3924],[2400,3911],[2382,3899],[2388,3875],[2366,3885],[2350,3878],[2340,3896],[2327,3880],[2323,3900],[2313,3894],[2300,3871],[2307,3890],[2331,3872],[2317,3867],[2345,3852],[2343,3840],[2351,3843],[2348,3823],[2339,3821],[2341,3805],[2350,3828],[2379,3853],[2385,3844],[2368,3823],[2370,3809],[2362,3809],[2361,3793],[2372,3804],[2379,3795],[2376,3823],[2388,3815],[2402,3822],[2393,3832],[2384,3824],[2404,3860],[2407,3876],[2416,3872],[2418,3852],[2427,3876],[2409,3893],[2429,3921],[2484,3863],[2478,3792],[2440,3820],[2439,3834],[2438,3820],[2426,3809],[2435,3801],[2421,3794],[2429,3786],[2406,3752],[2424,3748],[2440,3762],[2431,3732],[2415,3735],[2412,3721],[2391,3707],[2381,3720],[2382,3732],[2370,3724],[2382,3716],[2372,3705],[2380,3708],[2378,3687],[2368,3685],[2349,3710],[2338,3694],[2337,3708],[2324,3706],[2327,3717],[2316,3729],[2323,3715],[2309,3714],[2318,3713],[2311,3699],[2332,3698],[2334,3678],[2356,3670],[2343,3651],[2332,3649],[2335,3658],[2324,3655],[2323,3670],[2324,3661],[2311,3661],[2332,3640],[2316,3633],[2286,3655],[2302,3631],[2277,3610],[2269,3619],[2250,3619],[2250,3630],[2239,3635],[2244,3650],[2228,3660],[2236,3679],[2226,3666],[2207,3677],[2199,3672],[2235,3648],[2232,3621],[2240,3624],[2249,3605],[2229,3607],[2219,3593],[2209,3597],[2218,3587],[2202,3586],[2201,3576],[2180,3583],[2177,3598],[2178,3573],[2165,3548],[2153,3544],[2148,3519],[2154,3506],[2139,3492],[2141,3484],[2149,3492],[2186,3568],[2207,3567],[2233,3585],[2231,3533],[2248,3519],[2248,3532],[2238,3536],[2247,3547],[2238,3549],[2237,3574],[2260,3602],[2261,3586],[2272,3598],[2294,3599],[2288,3559],[2300,3578],[2303,3610],[2324,3615],[2341,3612],[2342,3596],[2330,3591],[2342,3588],[2346,3561],[2348,3612],[2363,3604],[2365,3582],[2374,3590],[2376,3576],[2386,3591],[2403,3596],[2387,3598],[2370,3598],[2364,3636],[2379,3621],[2387,3653],[2400,3620],[2414,3623],[2402,3632],[2397,3650],[2411,3667],[2410,3682],[2427,3678],[2420,3667],[2425,3649],[2443,3653],[2426,3651],[2433,3664],[2429,3672],[2440,3671],[2440,3681],[2426,3688],[2454,3700],[2457,3689],[2462,3698],[2456,3717],[2499,3696],[2488,3686],[2498,3690],[2499,3682],[2520,3700],[2503,3702],[2499,3713],[2510,3706],[2518,3708],[2513,3730],[2530,3746],[2521,3746],[2546,3760],[2549,3777],[2574,3779],[2550,3768],[2536,3721],[2551,3725],[2555,3750],[2578,3746],[2564,3704],[2554,3709],[2542,3694],[2563,3704],[2571,3682],[2602,3652],[2577,3623],[2568,3629],[2581,3639],[2576,3655],[2561,3636],[2560,3648],[2549,3634],[2524,3637],[2531,3625],[2564,3627],[2537,3582],[2530,3591],[2534,3554],[2522,3558],[2519,3574],[2506,3576],[2504,3595],[2493,3598],[2502,3592],[2505,3572],[2513,3563],[2502,3559],[2517,3548],[2527,3551],[2533,3539],[2518,3523],[2503,3538],[2485,3535],[2479,3545],[2478,3535],[2467,3540],[2466,3555],[2454,3547],[2443,3562],[2450,3547],[2437,3543],[2462,3542],[2459,3532],[2470,3535],[2477,3525],[2500,3530],[2496,3515],[2515,3515],[2527,3502],[2503,3482],[2481,3486],[2453,3506],[2462,3496],[2461,3485],[2496,3481],[2490,3464],[2467,3463],[2479,3445],[2458,3437],[2430,3471],[2391,3471],[2403,3470],[2410,3460],[2428,3464],[2450,3428],[2435,3418],[2426,3429],[2437,3412],[2418,3406],[2415,3415],[2388,3419],[2411,3403],[2395,3399],[2404,3392],[2385,3384],[2366,3406],[2347,3410],[2384,3376],[2370,3365],[2347,3376],[2327,3371],[2376,3358],[2372,3347],[2357,3342],[2331,3350],[2334,3342],[2361,3335],[2363,3326],[2321,3317],[2303,3328],[2312,3311],[2320,3316],[2270,3302],[2257,3308],[2263,3321],[2248,3330],[2257,3316],[2246,3300],[2238,3323],[2227,3318],[2227,3304],[2243,3294],[2253,3297],[2249,3282],[2232,3278],[2242,3274],[2242,3266],[2258,3264],[2257,3255],[2269,3248],[2292,3263],[2278,3245],[2259,3239],[2278,3244],[2281,3231],[2266,3217],[2252,3217],[2250,3196],[2228,3218],[2220,3219],[2237,3199],[2215,3194],[2243,3196],[2237,3177],[2209,3171],[2189,3154],[2157,3144],[2144,3152],[2151,3141],[2139,3130],[2122,3148],[2113,3127],[2125,3142],[2130,3117],[2147,3119],[2149,3128],[2167,3120],[2169,3146],[2187,3143],[2212,3166],[2224,3161],[2225,3173],[2243,3145],[2244,3156],[2235,3162],[2254,3175],[2272,3176],[2289,3165],[2286,3182],[2274,3178],[2268,3195],[2304,3196],[2310,3180],[2323,3209],[2339,3214],[2349,3249],[2359,3249],[2357,3295],[2359,3287],[2385,3284],[2368,3300],[2393,3315],[2388,3339],[2401,3357],[2414,3352],[2410,3342],[2422,3334],[2417,3348],[2435,3354],[2416,3357],[2420,3376],[2436,3385],[2452,3381],[2444,3384],[2447,3396],[2466,3394],[2479,3417],[2490,3400],[2499,3452],[2529,3469],[2531,3481],[2547,3497],[2554,3488],[2565,3503],[2579,3490],[2569,3465],[2591,3499],[2589,3527],[2600,3518],[2606,3498],[2604,3456],[2589,3465],[2591,3456],[2572,3442],[2583,3440],[2582,3430],[2571,3419],[2557,3420],[2570,3415],[2580,3423],[2580,3409],[2530,3373],[2587,3402],[2595,3447],[2604,3413],[2598,3436],[2609,3432],[2601,3446],[2614,3451],[2635,3442],[2644,3447],[2655,3434],[2646,3429],[2646,3411],[2632,3413],[2650,3405],[2646,3393],[2610,3389],[2619,3383],[2603,3373],[2616,3372],[2623,3384],[2646,3388],[2650,3359],[2612,3347],[2641,3355],[2643,3345],[2654,3359],[2648,3382],[2662,3381],[2654,3413],[2659,3426],[2673,3429],[2673,3417],[2685,3418],[2679,3396],[2695,3397],[2684,3405],[2693,3416],[2686,3425],[2676,3422],[2684,3439],[2669,3471],[2676,3482],[2688,3472],[2684,3453],[2711,3444],[2698,3444],[2710,3426],[2702,3424],[2716,3422],[2737,3403],[2731,3374],[2746,3381],[2744,3399],[2765,3387],[2745,3326],[2735,3313],[2715,3318],[2724,3314],[2739,3307],[2666,3259],[2658,3286],[2668,3292],[2656,3294],[2655,3312],[2642,3304],[2656,3286],[2645,3286],[2653,3278],[2644,3273],[2662,3259],[2637,3234],[2591,3240],[2555,3270],[2578,3246],[2574,3238],[2585,3239],[2596,3228],[2583,3210],[2576,3218],[2580,3208],[2545,3209],[2529,3198],[2517,3209],[2513,3182],[2491,3203],[2495,3222],[2488,3230],[2483,3213],[2491,3208],[2476,3207],[2486,3201],[2483,3187],[2471,3185],[2460,3193],[2466,3183],[2452,3158],[2426,3163],[2418,3175],[2434,3195],[2435,3211],[2424,3200],[2426,3185],[2413,3177],[2403,3190],[2405,3205],[2395,3210],[2398,3198],[2383,3205],[2384,3194],[2400,3195],[2414,3172],[2393,3157],[2362,3192],[2364,3183],[2356,3180],[2371,3170],[2364,3166],[2379,3166],[2360,3150],[2394,3153],[2398,3135],[2401,3147],[2408,3128],[2395,3126],[2386,3114],[2377,3117],[2371,3106],[2351,3105],[2343,3109],[2360,3098],[2380,3105],[2376,3090],[2355,3081],[2362,3073],[2358,3041],[2339,3025],[2334,3010],[2314,3000],[2335,3006],[2349,3032],[2359,3025],[2370,3073],[2384,3089],[2388,3072],[2411,3063],[2422,3047],[2417,3063],[2394,3072],[2384,3101],[2400,3113],[2418,3094],[2412,3108],[2423,3106],[2426,3117],[2446,3119],[2446,3141],[2466,3128],[2456,3108],[2460,3097],[2471,3117],[2487,3107],[2470,3122],[2479,3137],[2485,3127],[2499,3130],[2506,3106],[2528,3101],[2529,3109],[2515,3113],[2529,3135],[2526,3114],[2541,3130],[2558,3114],[2561,3101],[2548,3102],[2535,3087],[2555,3094],[2544,3073],[2562,3099],[2576,3101],[2585,3096],[2580,3079],[2588,3073],[2605,3065],[2615,3073],[2632,3084],[2628,3071],[2620,3067],[2600,3039],[2612,3046],[2634,3071],[2642,3082],[2646,3073],[2646,3083],[2672,3093],[2677,3106],[2670,3071],[2652,3011],[2659,2936],[2636,2937],[2629,2961],[2636,2973],[2617,2976],[2629,2992],[2618,2988],[2599,2996],[2613,2989],[2613,2967],[2604,2973],[2609,2958],[2598,2962],[2586,2962],[2583,2975],[2581,2965],[2565,2975],[2574,2963],[2537,2964],[2536,2984],[2535,2961],[2512,2973],[2501,2962],[2531,2959],[2530,2951],[2538,2957],[2553,2954],[2578,2954],[2604,2944],[2618,2953],[2610,2939],[2574,2946],[2541,2926],[2576,2938],[2618,2927],[2634,2921],[2552,2863],[2521,2805],[2498,2823],[2494,2838],[2503,2847],[2493,2842],[2455,2853],[2485,2877],[2459,2862],[2443,2871],[2449,2888],[2429,2873],[2430,2861],[2416,2880],[2421,2900],[2408,2887],[2388,2915],[2420,2868],[2412,2855],[2441,2851],[2455,2834],[2447,2809],[2421,2784],[2423,2796],[2395,2818],[2400,2827],[2387,2823],[2384,2844],[2376,2841],[2367,2847],[2371,2858],[2348,2865],[2347,2879],[2325,2871],[2326,2891],[2308,2884],[2298,2898],[2297,2888],[2283,2893],[2283,2884],[2312,2880],[2294,2859],[2316,2872],[2315,2862],[2349,2857],[2333,2848],[2360,2850],[2358,2840],[2369,2834],[2339,2821],[2309,2824],[2310,2815],[2328,2816],[2342,2814],[2340,2804],[2357,2819],[2360,2798],[2365,2818],[2379,2820],[2391,2793],[2409,2789],[2392,2771],[2392,2782],[2384,2779],[2370,2792],[2368,2783],[2356,2785],[2366,2775],[2375,2783],[2373,2774],[2389,2773],[2360,2717],[2360,2707],[2377,2698],[2356,2669],[2364,2645],[2355,2642],[2360,2633],[2339,2644],[2342,2629],[2324,2645],[2312,2639],[2310,2616],[2275,2627],[2229,2610],[2219,2563],[2234,2585],[2252,2578],[2270,2589],[2286,2553],[2266,2527],[2255,2528],[2235,2496],[2221,2505],[2230,2489],[2220,2497],[2225,2486],[2210,2479],[2185,2482],[2190,2517],[2171,2513],[2171,2500],[2162,2517],[2144,2518],[2121,2472],[2096,2474],[2076,2458],[2094,2427],[2087,2410],[2095,2408],[2104,2408],[2105,2444],[2126,2453],[2136,2471],[2152,2458],[2142,2448],[2159,2433],[2196,2452],[2216,2442],[2225,2451],[2232,2441],[2223,2420],[2217,2428],[2223,2416],[2215,2425],[2219,2412],[2210,2420],[2213,2409],[2207,2417],[2197,2397],[2170,2407],[2154,2398],[2150,2376],[2132,2372],[2132,2360],[2143,2364],[2143,2356],[2158,2373],[2176,2372],[2166,2375],[2167,2385],[2192,2374],[2202,2384],[2199,2373],[2208,2368],[2225,2380],[2228,2392],[2250,2393],[2253,2411],[2257,2423],[2246,2426],[2257,2428],[2246,2431],[2257,2438],[2248,2447],[2257,2459],[2268,2456],[2269,2469],[2276,2452],[2286,2468],[2285,2451],[2294,2450],[2295,2465],[2304,2453],[2304,2464],[2340,2491],[2352,2462],[2339,2446],[2342,2433],[2357,2470],[2345,2510],[2362,2534],[2389,2522],[2408,2524],[2409,2559],[2418,2574],[2398,2596],[2450,2560],[2456,2541],[2445,2541],[2461,2531],[2440,2529],[2437,2519],[2467,2522],[2474,2513],[2460,2501],[2437,2505],[2447,2498],[2433,2476],[2447,2493],[2439,2469],[2449,2475],[2456,2497],[2462,2489],[2477,2501],[2489,2493],[2488,2485],[2468,2477],[2473,2460],[2461,2455],[2462,2446],[2486,2477],[2507,2485],[2509,2472],[2518,2469],[2505,2458],[2514,2462],[2522,2451],[2512,2414],[2493,2409],[2505,2409],[2516,2401],[2517,2412],[2533,2405],[2519,2414],[2522,2438],[2554,2449],[2525,2453],[2527,2462],[2541,2463],[2529,2465],[2524,2475],[2542,2492],[2521,2481],[2517,2490],[2527,2501],[2492,2499],[2494,2516],[2475,2543],[2487,2578],[2466,2581],[2461,2594],[2470,2601],[2458,2602],[2471,2608],[2458,2609],[2470,2612],[2468,2625],[2455,2633],[2475,2634],[2454,2640],[2456,2652],[2468,2652],[2462,2661],[2481,2677],[2481,2671],[2499,2671],[2501,2639],[2527,2635],[2513,2645],[2511,2676],[2515,2664],[2565,2659],[2565,2614],[2563,2589],[2571,2569],[2587,2575],[2604,2570],[2572,2584],[2572,2592],[2587,2588],[2584,2594],[2594,2594],[2578,2606],[2594,2613],[2626,2608],[2630,2590],[2619,2589],[2633,2586],[2634,2572],[2642,2572],[2638,2598],[2635,2613],[2642,2605],[2618,2624],[2622,2642],[2604,2675],[2611,2691],[2626,2699],[2643,2671],[2620,2670],[2642,2663],[2624,2659],[2628,2645],[2640,2649],[2635,2637],[2645,2638],[2653,2625],[2660,2639],[2647,2655],[2655,2662],[2676,2660],[2684,2667],[2676,2657],[2698,2605],[2754,2571],[2743,2564],[2753,2537],[2723,2564],[2687,2563],[2673,2544],[2627,2520],[2633,2509],[2617,2501],[2613,2511],[2594,2512],[2615,2487],[2591,2457],[2597,2444],[2587,2421],[2599,2423],[2602,2413],[2570,2381],[2538,2365],[2525,2340],[2498,2347],[2511,2334],[2508,2322],[2495,2321],[2485,2302],[2459,2293],[2458,2281],[2468,2271],[2483,2280],[2486,2262],[2498,2265],[2487,2288],[2503,2296],[2517,2291],[2528,2304],[2551,2311],[2558,2335],[2562,2313],[2552,2307],[2548,2290],[2562,2302],[2567,2322],[2591,2296],[2574,2321],[2565,2332],[2589,2352],[2601,2338],[2593,2353],[2600,2361],[2636,2366],[2638,2355],[2646,2352],[2643,2336],[2651,2352],[2658,2343],[2653,2354],[2661,2363],[2644,2361],[2642,2371],[2651,2375],[2635,2374],[2639,2413],[2650,2416],[2631,2451],[2641,2454],[2642,2479],[2671,2475],[2702,2501],[2717,2497],[2726,2504],[2731,2491],[2721,2477],[2735,2496],[2746,2498],[2734,2473],[2764,2425],[2742,2435],[2741,2419],[2752,2418],[2756,2407],[2743,2403],[2756,2396],[2745,2389],[2756,2389],[2761,2380],[2763,2397],[2787,2379],[2794,2397],[2800,2387],[2792,2370],[2803,2363],[2795,2356],[2764,2357],[2762,2344],[2761,2363],[2753,2361],[2742,2372],[2750,2359],[2741,2357],[2715,2378],[2719,2360],[2702,2371],[2709,2361],[2695,2343],[2713,2354],[2722,2350],[2714,2327],[2722,2329],[2731,2352],[2740,2346],[2732,2334],[2750,2346],[2752,2318],[2744,2320],[2736,2307],[2723,2306],[2725,2316],[2723,2301],[2714,2290],[2710,2304],[2702,2304],[2702,2313],[2693,2318],[2685,2320],[2686,2310],[2704,2299],[2703,2289],[2683,2300],[2675,2294],[2673,2303],[2665,2298],[2653,2304],[2662,2298],[2657,2289],[2669,2293],[2668,2283],[2678,2289],[2677,2277],[2683,2285],[2694,2282],[2693,2266],[2677,2264],[2675,2254],[2653,2260],[2654,2270],[2642,2269],[2647,2259],[2635,2266],[2620,2242],[2636,2256],[2652,2253],[2629,2228],[2623,2204],[2645,2235],[2669,2245],[2658,2225],[2646,2205],[2660,2213],[2677,2198],[2668,2223],[2680,2227],[2677,2236],[2717,2275],[2695,2228],[2713,2238],[2722,2259],[2737,2242],[2740,2218],[2722,2199],[2719,2182],[2727,2191],[2730,2177],[2742,2169],[2733,2198],[2738,2208],[2744,2188],[2756,2187],[2748,2188],[2743,2208],[2755,2209],[2747,2236],[2750,2247],[2760,2245],[2743,2262],[2742,2274],[2755,2270],[2766,2291],[2770,2261],[2783,2253],[2783,2274],[2797,2272],[2797,2262],[2806,2267],[2808,2290],[2796,2294],[2795,2305],[2809,2309],[2833,2291],[2851,2258],[2836,2266],[2826,2257],[2845,2248],[2833,2244],[2833,2235],[2813,2245],[2805,2227],[2787,2242],[2773,2224],[2789,2229],[2797,2219],[2781,2202],[2798,2214],[2808,2209],[2809,2220],[2825,2230],[2834,2227],[2830,2215],[2839,2207],[2840,2218],[2849,2223],[2860,2203],[2848,2185],[2836,2195],[2819,2192],[2836,2189],[2837,2179],[2825,2164],[2824,2156],[2794,2148],[2799,2140],[2790,2130],[2813,2149],[2822,2147],[2821,2133],[2835,2159],[2877,2174],[2870,2160],[2875,2149],[2856,2150],[2846,2131],[2838,2134],[2829,2109],[2841,2122],[2848,2110],[2858,2117],[2865,2103],[2851,2093],[2860,2092],[2858,2083],[2869,2100],[2867,2110],[2876,2110],[2868,2121],[2874,2135],[2886,2133],[2895,2116],[2890,2138],[2896,2157],[2909,2148],[2932,2155],[2940,2177],[2952,2172],[2908,2089],[2923,2075],[2923,2049],[2929,2028],[2895,2023],[2885,2002],[2871,1999],[2861,2014],[2837,2011],[2832,2021],[2851,2042],[2828,2033],[2831,2049],[2828,2049],[2814,2049],[2826,2029],[2811,2019],[2795,2032],[2801,2018],[2755,2011],[2757,1995],[2749,1996],[2750,2007],[2732,2008],[2733,1998],[2704,1994],[2715,1985],[2695,1987],[2713,1981],[2753,1987],[2772,2002],[2788,1999],[2788,1988],[2792,2001],[2828,1999],[2856,1952],[2837,1954],[2828,1933],[2815,1928],[2860,1933],[2854,1971],[2863,1959],[2872,1966],[2874,1936],[2882,1933],[2892,1956],[2896,1943],[2905,1942],[2911,1961],[2954,1975],[2966,1967],[2992,1968],[3021,1984],[3036,2021],[3030,2047],[3022,2078],[2973,2093],[3007,2095],[3051,2113],[3055,2128],[3044,2153],[3043,2189],[3066,2238],[3069,2269],[3049,2299],[3073,2303],[3094,2306],[3103,2225],[3136,2196],[3135,2188],[3126,2194],[3168,2163],[3157,2149],[3163,2130],[3141,2120],[3137,2109],[3141,2083],[3120,2077],[3119,2109],[3115,2078],[3104,2078],[3115,2074],[3112,2064],[3088,2062],[3078,2047],[3083,2035],[3092,2042],[3094,2033],[3106,2038],[3122,2017],[3115,2006],[3103,2008],[3105,1998],[3132,1971],[3125,1979],[3107,1972],[3107,1956],[3093,1963],[3081,1966],[3101,1952],[3089,1939],[3101,1935],[3121,1953],[3124,1964],[3142,1956],[3131,1919],[3111,1905],[3105,1918],[3103,1908],[3086,1912],[3099,1897],[3092,1887],[3077,1887],[3093,1881],[3103,1894],[3102,1874],[3093,1869],[3105,1870],[3111,1858],[3110,1895],[3124,1899],[3131,1881],[3144,1877],[3133,1886],[3146,1889],[3133,1891],[3168,1888],[3172,1866],[3183,1858],[3187,1826],[3176,1824],[3194,1797],[3178,1774],[3162,1766],[3156,1779],[3117,1761],[3119,1775],[3097,1784],[3092,1795],[3097,1783],[3096,1772],[3082,1774],[3110,1736],[3127,1740],[3138,1756],[3159,1740],[3187,1737],[3203,1725],[3210,1699],[3190,1698],[3192,1690],[3205,1682],[3235,1684],[3241,1675],[3262,1675],[3272,1637],[3286,1633],[3260,1692],[3238,1703],[3239,1732],[3231,1767],[3217,1783],[3258,1823],[3270,1815],[3249,1859],[3209,1900],[3211,1916],[3183,1980],[3196,1975],[3194,1987],[3203,1997],[3195,1995],[3175,2017],[3194,2030],[3207,2029],[3194,2046],[3179,2049],[3186,2075],[3215,2074],[3232,2105],[3250,2117],[3273,2089],[3330,2061],[3341,2049],[3370,2001],[3344,1990],[3321,2016],[3321,1997],[3311,1995],[3307,2006],[3305,1984],[3291,1993],[3294,1972],[3287,1985],[3266,1991],[3272,1999],[3262,1999],[3268,2009],[3258,2004],[3247,2014],[3239,1990],[3232,2003],[3235,1987],[3248,1976],[3232,1931],[3249,1880],[3283,1873],[3280,1883],[3254,1882],[3246,1919],[3237,1925],[3256,1964],[3266,1955],[3266,1968],[3288,1957],[3277,1953],[3281,1942],[3293,1948],[3316,1916],[3298,1954],[3313,1970],[3339,1952],[3324,1969],[3332,1984],[3347,1968],[3364,1980],[3375,1976],[3387,1964],[3378,1953],[3389,1962],[3399,1946],[3408,1946],[3396,1937],[3412,1943],[3429,1933],[3390,1971],[3390,2008],[3402,1974],[3451,1903],[3477,1909],[3508,1895],[3556,1852],[3573,1824],[3616,1797],[3610,1781],[3599,1780],[3601,1795],[3581,1797],[3584,1806],[3575,1800],[3573,1783],[3573,1772],[3579,1792],[3577,1762],[3585,1760],[3584,1783],[3601,1792],[3595,1778],[3608,1779],[3609,1771],[3602,1756],[3619,1769],[3630,1746],[3609,1734],[3622,1726],[3633,1673],[3625,1656],[3616,1662],[3603,1637],[3627,1651],[3604,1630],[3588,1604],[3564,1640],[3570,1625],[3553,1620],[3541,1601],[3527,1597],[3525,1569],[3523,1539],[3534,1502],[3533,1531],[3544,1544],[3542,1553],[3556,1554],[3546,1571],[3558,1578],[3555,1596],[3587,1546],[3603,1473],[3627,1443],[3625,1422],[3667,1400],[3667,1370],[3651,1351],[3682,1339],[3722,1374],[3778,1376],[3760,1362],[3748,1337],[3784,1353],[3807,1317],[3809,1292],[3822,1285],[3817,1297],[3825,1325],[3807,1354],[3832,1359],[3824,1361],[3827,1369],[3864,1376],[3877,1401],[3897,1405],[3907,1393],[3894,1372],[3903,1353],[3897,1343],[3906,1344],[3916,1320],[3943,1312],[3974,1284],[3993,1285],[4015,1251],[4016,1224],[4038,1198],[4057,1198],[4055,1187],[4073,1191],[4062,1199],[4074,1200],[4069,1208],[4070,1220],[4065,1247],[4057,1255],[4067,1262],[4057,1256],[4042,1296],[4022,1317],[4034,1330],[4024,1334],[4005,1320],[4005,1344],[4009,1369],[4025,1379],[4012,1378],[4004,1394],[4028,1418],[4017,1429],[3987,1431],[3971,1442],[3972,1476],[3957,1504],[3952,1553],[3942,1580],[3928,1593],[3932,1638],[3923,1673],[3881,1719],[3880,1735],[3894,1743],[3926,1726],[3923,1713],[3952,1698],[3956,1664],[3976,1664],[3979,1651],[4000,1650],[4003,1622],[4022,1623],[4023,1611],[4040,1604],[4036,1592],[4062,1588],[4062,1573],[4087,1555],[4095,1555],[4111,1553],[4115,1537],[4127,1533],[4121,1502],[4104,1505],[4096,1492],[4112,1499],[4112,1478],[4140,1496],[4160,1481],[4200,1507],[4224,1474],[4224,1532],[4190,1541],[4159,1541],[4133,1596],[4137,1606],[4178,1607],[4218,1604],[4224,1600],[4224,1660],[4208,1675],[4211,1663],[4203,1664],[4222,1658],[4194,1643],[4175,1662],[4175,1679],[4156,1678],[4161,1687],[4140,1688],[4138,1680],[4148,1682],[4128,1651],[4097,1650],[4070,1649],[4043,1687],[4056,1707],[4095,1718],[4082,1720],[4076,1739],[4078,1727],[4057,1724],[4052,1713],[4030,1710],[4030,1698],[4011,1694],[3982,1748],[3976,1783],[3959,1802],[3925,1812],[3906,1845],[3899,1878],[3908,1864],[3920,1880],[3920,1871],[3945,1880],[3949,1887],[3935,1887],[3939,1900],[3911,1900],[3906,1910],[3908,1885],[3893,1900],[3894,1887],[3884,1881],[3807,1927],[3795,1949],[3802,1978],[3593,2033],[3585,2049],[3571,2080],[3524,2110],[3517,2123],[3516,2140],[3532,2163],[3529,2177],[3536,2167],[3561,2172],[3575,2164],[3577,2174],[3549,2180],[3565,2191],[3571,2211],[3624,2208],[3642,2181],[3633,2209],[3658,2215],[3666,2233],[3650,2240],[3649,2226],[3620,2230],[3610,2225],[3611,2215],[3582,2225],[3572,2218],[3556,2222],[3544,2213],[3550,2197],[3538,2180],[3515,2183],[3492,2211],[3514,2208],[3529,2215],[3538,2235],[3573,2263],[3551,2256],[3551,2247],[3508,2218],[3497,2225],[3499,2240],[3489,2242],[3495,2251],[3478,2222],[3482,2204],[3496,2201],[3492,2177],[3473,2183],[3469,2173],[3449,2171],[3416,2188],[3408,2213],[3373,2236],[3372,2260],[3392,2266],[3397,2277],[3395,2310],[3412,2312],[3424,2326],[3422,2345],[3461,2323],[3458,2334],[3435,2347],[3420,2377],[3423,2387],[3439,2383],[3453,2390],[3454,2406],[3446,2397],[3429,2391],[3416,2421],[3429,2428],[3404,2425],[3421,2404],[3412,2398],[3409,2362],[3424,2364],[3386,2337],[3358,2377],[3330,2383],[3327,2413],[3317,2430],[3319,2451],[3328,2475],[3341,2479],[3353,2469],[3345,2477],[3350,2495],[3358,2493],[3369,2510],[3390,2502],[3389,2510],[3411,2510],[3370,2515],[3382,2540],[3391,2541],[3380,2550],[3356,2506],[3334,2492],[3318,2495],[3324,2515],[3318,2503],[3310,2498],[3315,2488],[3299,2467],[3305,2435],[3296,2430],[3299,2420],[3289,2427],[3269,2463],[3277,2460],[3282,2481],[3268,2466],[3259,2491],[3248,2537],[3260,2547],[3251,2543],[3247,2555],[3245,2543],[3231,2579],[3214,2595],[3197,2630],[3206,2627],[3203,2639],[3177,2701],[3135,2759],[3116,2805],[3104,2876],[3111,2884],[3138,2885],[3148,2820],[3144,2798],[3154,2834],[3141,2892],[3154,2875],[3169,2870],[3157,2851],[3165,2826],[3177,2824],[3170,2813],[3178,2799],[3202,2789],[3213,2794],[3189,2797],[3178,2816],[3193,2826],[3175,2830],[3171,2848],[3186,2880],[3193,2859],[3205,2853],[3193,2869],[3203,2878],[3201,2904],[3188,2906],[3175,2883],[3165,2900],[3154,2884],[3150,2905],[3183,2933],[3193,2924],[3216,2933],[3202,2943],[3200,2962],[3207,2972],[3205,2988],[3223,3007],[3194,2987],[3195,2998],[3229,3061],[3243,3129],[3240,3182],[3258,3195],[3250,3204],[3241,3199],[3247,3212],[3215,3281],[3073,3283],[3071,3283],[3032,3283],[3004,3303],[2976,3371],[2979,3405],[2970,3445],[2943,3481],[2943,3494],[2922,3493],[2951,3507],[2939,3508],[2932,3528],[2947,3520],[2931,3530],[2940,3549],[2920,3528],[2880,3594],[2860,3665],[2858,3698],[2867,3707],[2847,3750],[2857,3750],[2848,3751],[2853,3863],[2876,3855],[2854,3866],[2849,3917],[2820,3998],[2821,4035],[2842,4044],[2856,3991],[2890,3967],[2918,3973],[2908,3941],[2912,3906],[2919,3946],[2924,3926],[2930,3937],[2923,3962],[2932,3957],[2923,3972],[2951,3940],[2928,3836],[2933,3820],[2922,3857],[2923,3835],[2907,3828],[2904,3812],[2922,3826],[2936,3790],[2926,3778],[2918,3784],[2914,3758],[2900,3761],[2915,3749],[2907,3715],[2914,3700],[2922,3762],[2935,3749],[2929,3727],[2956,3736],[2955,3712],[2969,3763],[2988,3763],[2992,3722],[2979,3716],[2979,3701],[2998,3681],[2975,3653],[2959,3649],[2946,3662],[2958,3641],[2953,3631],[2933,3642],[2929,3631],[2939,3625],[2934,3609],[2945,3617],[2918,3606],[2932,3599],[2923,3593],[2938,3593],[2941,3601],[2952,3594],[2955,3613],[2963,3616],[2954,3620],[2969,3621],[2980,3627],[2979,3638],[2985,3630],[3000,3642],[3000,3622],[2983,3621],[2994,3612],[2975,3584],[2985,3592],[2984,3572],[2995,3591],[3002,3551],[2993,3527],[3007,3553],[3006,3601],[3016,3595],[3040,3577],[3017,3529],[3032,3527],[3036,3554],[3058,3554],[3047,3564],[3045,3587],[3036,3598],[3019,3614],[3026,3645],[3036,3653],[3034,3663],[3025,3658],[3027,3687],[3019,3682],[3007,3691],[3014,3715],[3033,3724],[3043,3800],[3059,3796],[3041,3737],[3057,3689],[3051,3680],[3059,3680],[3067,3675],[3061,3654],[3073,3642],[3073,3663],[3077,3637],[3073,3628],[3065,3625],[3064,3605],[3073,3622],[3081,3621],[3085,3612],[3090,3571],[3093,3607],[3075,3651],[3079,3671],[3102,3651],[3086,3674],[3097,3669],[3123,3640],[3124,3651],[3138,3647],[3125,3661],[3152,3732],[3161,3721],[3169,3736],[3171,3723],[3188,3727],[3186,3706],[3159,3700],[3148,3665],[3161,3677],[3165,3664],[3176,3660],[3173,3649],[3181,3644],[3170,3634],[3181,3632],[3181,3622],[3172,3625],[3176,3598],[3161,3609],[3148,3604],[3144,3623],[3132,3611],[3109,3614],[3120,3605],[3113,3574],[3121,3580],[3125,3606],[3141,3601],[3139,3592],[3158,3598],[3153,3573],[3143,3572],[3139,3563],[3158,3566],[3161,3576],[3175,3567],[3183,3546],[3194,3557],[3190,3545],[3179,3542],[3190,3543],[3191,3533],[3177,3532],[3191,3531],[3191,3513],[3204,3506],[3211,3538],[3206,3526],[3197,3546],[3205,3561],[3217,3558],[3224,3568],[3212,3573],[3222,3576],[3230,3566],[3250,3562],[3251,3576],[3260,3569],[3265,3578],[3264,3589],[3255,3590],[3259,3600],[3270,3601],[3274,3592],[3293,3596],[3278,3596],[3269,3609],[3273,3620],[3261,3620],[3264,3611],[3248,3614],[3230,3590],[3230,3648],[3253,3651],[3258,3631],[3268,3627],[3277,3626],[3294,3644],[3302,3633],[3308,3658],[3296,3662],[3295,3683],[3318,3690],[3318,3675],[3318,3685],[3331,3685],[3318,3691],[3326,3713],[3318,3749],[3322,3774],[3320,3830],[3332,3821],[3331,3794],[3341,3772],[3340,3814],[3348,3806],[3367,3807],[3374,3794],[3368,3767],[3378,3753],[3370,3729],[3382,3741],[3388,3718],[3385,3692],[3392,3701],[3394,3688],[3396,3736],[3378,3764],[3377,3804],[3370,3816],[3341,3823],[3313,3975],[3340,4009],[3347,4053],[3375,4064],[3358,4069],[3352,4090],[3363,4085],[3363,4095],[3363,4097],[3351,4097],[3336,4132],[3339,4140],[3347,4136],[3338,4143],[3333,4172],[3343,4187],[3350,4178],[3342,4153],[3358,4157],[3364,4144],[3376,4143],[3370,4133],[3382,4134],[3382,4126],[3397,4133],[3412,4121],[3411,4107],[3426,4095],[3447,4079],[3434,4095],[3422,4108],[3430,4116],[3415,4123],[3432,4132],[3381,4147],[3388,4166],[3375,4160],[3354,4196],[3357,4209],[3374,4204],[3370,4224],[3394,4224],[3407,4205],[3415,4210],[3423,4197],[3440,4196],[3436,4184],[3446,4195],[3462,4189],[3471,4195],[3431,4202],[3426,4213],[3407,4224],[3492,4224],[3492,4214],[3504,4219],[3519,4197],[3519,4205],[3534,4208],[3540,4194],[3554,4190],[3555,4177],[3543,4181],[3542,4146],[3532,4145],[3547,4138],[3541,4097],[3542,4085],[3529,4075],[3539,4068],[3538,4079],[3546,4082],[3571,4062],[3595,4025],[3604,4025],[3622,3995],[3611,4014],[3613,4022],[3593,4031],[3578,4058],[3585,4067],[3577,4064],[3550,4085],[3555,4097],[3563,4098],[3556,4120],[3574,4111],[3556,4126],[3558,4139],[3550,4148],[3563,4173],[3586,4157],[3586,4140],[3593,4151],[3603,4135],[3609,4145],[3635,4134],[3588,4160],[3565,4189],[3570,4199],[3645,4193],[3605,4203],[3608,4214],[3591,4201],[3586,4215],[3573,4206],[3563,4209],[3563,4201],[3553,4204],[3540,4221],[3546,4224],[3275,4224],[3266,4212],[3279,4218],[3289,4199],[3274,4194],[3279,4180],[3261,4189],[3271,4177],[3266,4168],[3263,4158],[3287,4177],[3299,4162],[3252,4108],[3248,4128],[3238,4106],[3246,4101],[3220,4105],[3228,4123],[3206,4134],[3212,4120],[3194,4119],[3201,4110],[3191,4095],[3179,4089],[3186,4069],[3171,4059],[3165,4072],[3161,4085],[3159,4075],[3149,4081],[3145,4068],[3157,4065],[3148,4061],[3167,4049],[3164,4029],[3156,4017],[3151,4027],[3152,4035],[3137,4038],[3137,4057],[3132,4040],[3124,4037],[3136,4030],[3128,4014],[3140,4016],[3140,3987],[3180,3967],[3175,3949],[3100,4026],[3096,4037],[3108,4063],[3091,4065],[3079,4085],[3071,4081],[3056,4084],[3047,4074],[3033,4097],[3018,4123],[3013,4192],[2988,4224],[3027,4224],[3044,4223],[3040,4206],[3046,4219],[3051,4224],[3074,4224],[3074,4216],[3076,4224],[3116,4224],[3111,4198],[3098,4192],[3094,4178],[3075,4180],[3069,4127],[3080,4145],[3084,4173],[3089,4165],[3100,4169],[3124,4202],[3132,4190],[3125,4181],[3134,4185],[3139,4173],[3127,4143],[3138,4148],[3157,4136],[3154,4122],[3144,4124],[3155,4117],[3153,4109],[3166,4134],[3140,4155],[3146,4172],[3131,4214],[3133,4224],[3161,4224],[3164,4180],[3176,4203],[3203,4177],[3199,4162],[3213,4155],[3207,4166],[3216,4186],[3208,4187],[3205,4199],[3189,4197],[3188,4215],[3170,4221],[3169,4224],[4224,4224],[4224,4224],[4224,-128],[4224,-128],[4224,4224],[2293,4224]],
3
- [[2681,3125],[2665,3123],[2657,3113],[2655,3124],[2640,3119],[2663,3099],[2642,3105],[2640,3089],[2618,3108],[2622,3138],[2622,3153],[2653,3192],[2652,3210],[2685,3144],[2681,3125],[2681,3125]],
4
- [[3189,3788],[3205,3783],[3206,3763],[3193,3756],[3189,3788],[3189,3788]],
5
- [[2264,3287],[2274,3283],[2269,3270],[2264,3287],[2264,3287]],
6
- [[2436,3801],[2448,3809],[2446,3798],[2462,3796],[2473,3772],[2449,3781],[2436,3801],[2436,3801]],
7
- [[3142,2365],[3155,2362],[3162,2350],[3157,2333],[3137,2341],[3122,2401],[3142,2382],[3142,2365],[3142,2365]],
8
- [[2761,2561],[2769,2563],[2780,2549],[2761,2561],[2761,2561]],
9
- [[2923,2209],[2910,2200],[2893,2208],[2898,2222],[2888,2211],[2896,2176],[2880,2194],[2862,2195],[2864,2218],[2876,2232],[2865,2227],[2886,2247],[2879,2258],[2884,2266],[2892,2260],[2894,2239],[2912,2246],[2917,2236],[2916,2251],[2907,2248],[2924,2290],[2934,2286],[2922,2272],[2928,2254],[2955,2248],[2946,2241],[2942,2214],[2923,2209],[2923,2209]],
10
- [[2823,2539],[2896,2498],[2911,2465],[2876,2449],[2805,2496],[2788,2496],[2792,2523],[2823,2539],[2823,2539]],
11
- [[3675,1790],[3740,1742],[3708,1651],[3683,1646],[3674,1634],[3638,1646],[3652,1647],[3661,1664],[3670,1660],[3649,1717],[3641,1722],[3647,1736],[3635,1756],[3653,1759],[3655,1741],[3666,1743],[3674,1731],[3662,1730],[3661,1711],[3670,1711],[3674,1691],[3678,1695],[3678,1649],[3688,1650],[3692,1665],[3684,1671],[3686,1698],[3696,1689],[3696,1708],[3707,1709],[3696,1719],[3707,1731],[3719,1729],[3702,1729],[3696,1741],[3688,1759],[3676,1769],[3675,1790],[3675,1790]]
12
- ];
13
-
14
- var triangles;
15
-
16
- var canvas = document.getElementById('canvas');
17
- var ctx = canvas.getContext('2d');
18
-
19
- var minX = Infinity,
20
- maxX = -Infinity,
21
- minY = Infinity,
22
- maxY = -Infinity;
23
-
24
- for (var i = 0; i < testPoints[0].length; i++) {
25
- minX = Math.min(minX, testPoints[0][i][0]);
26
- maxX = Math.max(maxX, testPoints[0][i][0]);
27
- minY = Math.min(minY, testPoints[0][i][1]);
28
- maxY = Math.max(maxY, testPoints[0][i][1]);
29
- }
30
-
31
- var width = maxX - minX,
32
- height = maxY - minY;
33
-
34
- canvas.width = window.innerWidth;
35
- canvas.height = canvas.width * height / width + 10;
36
-
37
- var ratio = (canvas.width - 10) / width;
38
-
39
- if (devicePixelRatio > 1) {
40
- canvas.style.width = canvas.width + 'px';
41
- canvas.style.height = canvas.height + 'px';
42
- canvas.width *= 2;
43
- canvas.height *= 2;
44
- ctx.scale(2, 2);
45
- }
46
-
47
- var data = flattenData(testPoints);
48
-
49
- console.time('earcut');
50
- // for (var i = 0; i < 1000; i++) {
51
- var result = earcut(data.vertices, data.holes, data.dimensions);
52
- // }
53
- console.timeEnd('earcut');
54
-
55
- var triangles = [];
56
- var dim = testPoints[0][0].length;
57
- for (var i = 0; i < result.length; i++) {
58
- var index = result[i];
59
- triangles.push([data.vertices[index * dim], data.vertices[index * dim + 1]]);
60
- }
61
-
62
- ctx.lineJoin = 'round';
63
-
64
- for (var i = 0; triangles && i < triangles.length; i += 3) {
65
- drawPoly([triangles.slice(i, i + 3)], 'rgba(255,0,0,0.2)', 'rgba(255,255,0,0.2)');
66
- // drawPoly([triangles.slice(i, i + 3)], 'rgba(255,0,0,0.0)', 'rgba(255,0,0,0.3)');
67
- }
68
-
69
- drawPoly(testPoints, 'black');
70
-
71
- function drawPoint(p, color) {
72
- var x = (p[0] - minX) * ratio + 5,
73
- y = (p[1] - minY) * ratio + 5;
74
- ctx.fillStyle = color || 'grey';
75
- ctx.fillRect(x - 3, y - 3, 6, 6);
76
- }
77
-
78
- function drawPoly(rings, color, fill) {
79
- ctx.beginPath();
80
-
81
- ctx.strokeStyle = color;
82
- if (fill) ctx.fillStyle = fill;
83
-
84
- for (var k = 0; k < rings.length; k++) {
85
- var points = rings[k];
86
- for (var i = 0; i < points.length; i++) {
87
- var x = (points[i][0] - minX) * ratio + 5,
88
- y = (points[i][1] - minY) * ratio + 5;
89
- if (i === 0) ctx.moveTo(x, y);
90
- else ctx.lineTo(x, y);
91
- }
92
- ctx.closePath();
93
- }
94
- ctx.stroke();
95
-
96
- if (fill) ctx.fill('evenodd');
97
- }
98
-
99
- function flattenData(data) {
100
- var dim = data[0][0].length,
101
- result = {vertices: [], holes: [], dimensions: dim},
102
- holeIndex = 0;
103
-
104
- for (var i = 0; i < data.length; i++) {
105
- for (var j = 0; j < data[i].length; j++) {
106
- for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);
107
- }
108
- if (i > 0) {
109
- holeIndex += data[i - 1].length;
110
- result.holes.push(holeIndex);
111
- }
112
- }
113
-
114
- return result;
115
- }