[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-north-korea-hit-axios-npm-maintainer-exposing-100m-summary":3,"summaries-facets-categories":79,"summary-related-north-korea-hit-axios-npm-maintainer-exposing-100m-summary":4484},{"id":4,"title":5,"ai":6,"body":13,"categories":46,"created_at":48,"date_modified":48,"description":40,"extension":49,"faq":48,"featured":50,"kicker_label":48,"meta":51,"navigation":62,"path":63,"published_at":64,"question":48,"scraped_at":65,"seo":66,"sitemap":67,"source_id":68,"source_name":69,"source_type":70,"source_url":71,"stem":72,"tags":73,"thumbnail_url":48,"tldr":76,"tweet":48,"unknown_tags":77,"__hash__":78},"summaries\u002Fsummaries\u002Fnorth-korea-hit-axios-npm-maintainer-exposing-100m-summary.md","North Korea Hit Axios NPM Maintainer, Exposing 100M Downloads",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","x-ai\u002Fgrok-4.1-fast",3899,1572,23422,0.00154315,{"type":14,"value":15,"toc":39},"minimark",[16,21,25,29,32,36],[17,18,20],"h2",{"id":19},"dependency-compromise-bypasses-target-defenses","Dependency Compromise Bypasses Target Defenses",[22,23,24],"p",{},"North Korean actors (tracked as UNC1069) didn't infiltrate OpenAI systems. Instead, they targeted Jason Saayman, maintainer of the Axios npm package with over 100 million weekly downloads across most software build pipelines. A fake job offer via Microsoft Teams on March 31, 2026, led to compromise. Axios powers apps like ChatGPT Desktop, so updating the app pulled in malicious code. Lesson: Audit dependencies rigorously—treat open-source maintainers as your perimeter. Use tools like npm audit, lockfiles, and sigstore for signing to verify package integrity before installs.",[17,26,28],{"id":27},"social-engineering-trumps-technical-exploits","Social Engineering Trumps Technical Exploits",[22,30,31],{},"Attack started with a seemingly legitimate Microsoft Teams outreach, buried in OpenAI coverage. Maintainers like Saayman face constant recruitment; hackers exploit this with tailored lures. Defend by: (1) Verify unsolicited contacts via official channels, (2) Use multi-factor auth and hardware keys for repos, (3) Rotate secrets post-contact. Impact: One compromised maintainer poisons millions of environments, amplifying reach far beyond single apps.",[17,33,35],{"id":34},"media-hype-misses-supply-chain-reality","Media Hype Misses Supply Chain Reality",[22,37,38],{},"Outlets framed as 'OpenAI breach,' downplaying the dependency angle in paragraph four or less. True exposure: 100 million environments. Builders must prioritize supply chain security—scan pipelines with Dependabot or Snyk, prefer vendored critical deps, and monitor maintainer activity. Trade-off: Full isolation slows dev velocity, but partial (e.g., air-gapped builds for prod) prevents catastrophic updates like Sunday morning app notifications.",{"title":40,"searchDepth":41,"depth":41,"links":42},"",2,[43,44,45],{"id":19,"depth":41,"text":20},{"id":27,"depth":41,"text":28},{"id":34,"depth":41,"text":35},[47],"Software Engineering",null,"md",false,{"content_references":52,"triage":57},[53],{"type":54,"title":55,"context":56},"tool","Axios","mentioned",{"relevance":58,"novelty":59,"quality":59,"actionability":59,"composite":60,"reasoning":61},5,4,4.35,"Category: AI & LLMs. The article discusses a significant security breach related to an npm package that affects AI applications, emphasizing the importance of dependency management and supply chain security, which is crucial for product builders. It provides actionable advice on auditing dependencies and securing maintainers, making it highly relevant and practical for the target audience.",true,"\u002Fsummaries\u002Fnorth-korea-hit-axios-npm-maintainer-exposing-100m-summary","2026-05-04 14:47:50","2026-05-04 16:13:16",{"title":5,"description":40},{"loc":63},"f817b802265235ad","Level Up Coding","article","https:\u002F\u002Flevelup.gitconnected.com\u002Fi-clicked-an-app-update-on-sunday-morning-it-came-from-north-korea-8b1d97a10387?source=rss----5517fd7b58a6---4","summaries\u002Fnorth-korea-hit-axios-npm-maintainer-exposing-100m-summary",[74,75],"open-source","coding","OpenAI detected NK hackers, but they compromised Axios (100M weekly downloads) via fake job offer to maintainer Jason Saayman on Microsoft Teams—not OpenAI directly.",[],"Y4Cd9iF3Hy9GmQpi_ABcE9Z63Vm1MLfqGLk-7h72F4E",[80,83,85,88,90,93,96,99,101,103,105,107,109,111,113,115,118,120,122,124,126,128,130,133,135,137,139,141,143,145,147,149,151,153,155,157,159,161,163,165,167,169,171,173,175,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,443,445,447,449,451,453,455,457,459,461,463,465,467,469,471,473,475,477,479,481,483,485,487,489,491,493,495,497,499,501,503,505,507,509,511,513,515,517,519,521,523,525,527,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334,1336,1338,1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528,1530,1532,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606,1608,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634,1636,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670,1672,1674,1676,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1730,1732,1734,1736,1738,1740,1742,1744,1746,1748,1750,1752,1754,1756,1758,1760,1762,1764,1766,1768,1770,1772,1774,1776,1778,1780,1782,1784,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804,1806,1808,1810,1812,1814,1816,1818,1820,1822,1824,1826,1828,1830,1832,1834,1836,1838,1840,1842,1844,1846,1848,1850,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1880,1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960,1962,1964,1966,1968,1970,1972,1974,1976,1978,1980,1982,1984,1986,1988,1990,1992,1994,1996,1998,2000,2002,2004,2006,2008,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028,2030,2032,2034,2036,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2116,2118,2120,2122,2124,2126,2128,2130,2132,2134,2136,2138,2140,2142,2144,2146,2148,2150,2152,2154,2156,2158,2160,2162,2164,2166,2168,2170,2172,2174,2176,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2204,2206,2208,2210,2212,2214,2216,2218,2220,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262,2264,2266,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372,2374,2376,2378,2380,2382,2384,2386,2388,2390,2392,2394,2396,2398,2400,2402,2404,2406,2408,2410,2412,2414,2416,2418,2420,2422,2424,2426,2428,2430,2432,2434,2436,2438,2440,2442,2444,2446,2448,2450,2452,2454,2456,2458,2460,2462,2464,2466,2468,2470,2472,2474,2476,2478,2480,2482,2484,2486,2488,2490,2492,2494,2496,2498,2500,2502,2504,2506,2508,2510,2512,2514,2516,2518,2520,2522,2524,2526,2528,2530,2532,2534,2536,2538,2540,2542,2544,2546,2548,2550,2552,2554,2556,2558,2560,2562,2564,2566,2568,2570,2572,2574,2576,2578,2580,2582,2584,2586,2588,2590,2592,2594,2596,2598,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2664,2666,2668,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,2706,2708,2710,2712,2714,2716,2718,2720,2722,2724,2726,2728,2730,2732,2734,2736,2738,2740,2742,2744,2746,2748,2750,2752,2754,2756,2758,2760,2762,2764,2766,2768,2770,2772,2774,2776,2778,2780,2782,2784,2786,2788,2790,2792,2794,2796,2798,2800,2802,2804,2806,2808,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836,2838,2840,2842,2844,2846,2848,2850,2852,2854,2856,2858,2860,2862,2864,2866,2868,2870,2872,2874,2876,2878,2880,2882,2884,2886,2888,2890,2892,2894,2896,2898,2900,2902,2904,2906,2908,2910,2912,2914,2916,2918,2920,2922,2924,2926,2928,2930,2932,2934,2936,2938,2940,2942,2944,2946,2948,2950,2952,2954,2956,2958,2960,2962,2964,2966,2968,2970,2972,2974,2976,2978,2980,2982,2984,2986,2988,2990,2992,2994,2996,2998,3000,3002,3004,3006,3008,3010,3012,3014,3016,3018,3020,3022,3024,3026,3028,3030,3032,3034,3036,3038,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060,3062,3064,3066,3068,3070,3072,3074,3076,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096,3098,3100,3102,3104,3106,3108,3110,3112,3114,3116,3118,3120,3122,3124,3126,3128,3130,3132,3134,3136,3138,3140,3142,3144,3146,3148,3150,3152,3154,3156,3158,3160,3162,3164,3166,3168,3170,3172,3174,3176,3178,3180,3182,3184,3186,3188,3190,3192,3194,3196,3198,3200,3202,3204,3206,3208,3210,3212,3214,3216,3218,3220,3222,3224,3226,3228,3230,3232,3234,3236,3238,3240,3242,3244,3246,3248,3250,3252,3254,3256,3258,3260,3262,3264,3266,3268,3270,3272,3274,3276,3278,3280,3282,3284,3286,3288,3290,3292,3294,3296,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316,3318,3320,3322,3324,3326,3328,3330,3332,3334,3336,3338,3340,3342,3344,3346,3348,3350,3352,3354,3356,3358,3360,3362,3364,3366,3368,3370,3372,3374,3376,3378,3380,3382,3384,3386,3388,3390,3392,3394,3396,3398,3400,3402,3404,3406,3408,3410,3412,3414,3416,3418,3420,3422,3424,3426,3428,3430,3432,3434,3436,3438,3440,3442,3444,3446,3448,3450,3452,3454,3456,3458,3460,3462,3464,3466,3468,3470,3472,3474,3476,3478,3480,3482,3484,3486,3488,3490,3492,3494,3496,3498,3500,3502,3504,3506,3508,3510,3512,3514,3516,3518,3520,3522,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546,3548,3550,3552,3554,3556,3558,3560,3562,3564,3566,3568,3570,3572,3574,3576,3578,3580,3582,3584,3586,3588,3590,3592,3594,3596,3598,3600,3602,3604,3606,3608,3610,3612,3614,3616,3618,3620,3622,3624,3626,3628,3630,3632,3634,3636,3638,3640,3642,3644,3646,3648,3650,3652,3654,3656,3658,3660,3662,3664,3666,3668,3670,3672,3674,3676,3678,3680,3682,3684,3686,3688,3690,3692,3694,3696,3698,3700,3702,3704,3706,3708,3710,3712,3714,3716,3718,3720,3722,3724,3726,3728,3730,3732,3734,3736,3738,3740,3742,3744,3746,3748,3750,3752,3754,3756,3758,3760,3762,3764,3766,3768,3770,3772,3774,3776,3778,3780,3782,3784,3786,3788,3790,3792,3794,3796,3798,3800,3802,3804,3806,3808,3810,3812,3814,3816,3818,3820,3822,3824,3826,3828,3830,3832,3834,3836,3838,3840,3842,3844,3846,3848,3850,3852,3854,3856,3858,3860,3862,3864,3866,3868,3870,3872,3874,3876,3878,3880,3882,3884,3886,3888,3890,3892,3894,3896,3898,3900,3902,3904,3906,3908,3910,3912,3914,3916,3918,3920,3922,3924,3926,3928,3930,3932,3934,3936,3938,3940,3942,3944,3946,3948,3950,3952,3954,3956,3958,3960,3962,3964,3966,3968,3970,3972,3974,3976,3978,3980,3982,3984,3986,3988,3990,3992,3994,3996,3998,4000,4002,4004,4006,4008,4010,4012,4014,4016,4018,4020,4022,4024,4026,4028,4030,4032,4034,4036,4038,4040,4042,4044,4046,4048,4050,4052,4054,4056,4058,4060,4062,4064,4066,4068,4070,4072,4074,4076,4078,4080,4082,4084,4086,4088,4090,4092,4094,4096,4098,4100,4102,4104,4106,4108,4110,4112,4114,4116,4118,4120,4122,4124,4126,4128,4130,4132,4134,4136,4138,4140,4142,4144,4146,4148,4150,4152,4154,4156,4158,4160,4162,4164,4166,4168,4170,4172,4174,4176,4178,4180,4182,4184,4186,4188,4190,4192,4194,4196,4198,4200,4202,4204,4206,4208,4210,4212,4214,4216,4218,4220,4222,4224,4226,4228,4230,4232,4234,4236,4238,4240,4242,4244,4246,4248,4250,4252,4254,4256,4258,4260,4262,4264,4266,4268,4270,4272,4274,4276,4278,4280,4282,4284,4286,4288,4290,4292,4294,4296,4298,4300,4302,4304,4306,4308,4310,4312,4314,4316,4318,4320,4322,4324,4326,4328,4330,4332,4334,4336,4338,4340,4342,4344,4346,4348,4350,4352,4354,4356,4358,4360,4362,4364,4366,4368,4370,4372,4374,4376,4378,4380,4382,4384,4386,4388,4390,4392,4394,4396,4398,4400,4402,4404,4406,4408,4410,4412,4414,4416,4418,4420,4422,4424,4426,4428,4430,4432,4434,4436,4438,4440,4442,4444,4446,4448,4450,4452,4454,4456,4458,4460,4462,4464,4466,4468,4470,4472,4474,4476,4478,4480,4482],{"categories":81},[82],"Business & SaaS",{"categories":84},[82],{"categories":86},[87],"AI News & Trends",{"categories":89},[],{"categories":91},[92],"AI Automation",{"categories":94},[95],"Marketing & Growth",{"categories":97},[98],"Design & Frontend",{"categories":100},[47],{"categories":102},[92],{"categories":104},[],{"categories":106},[98],{"categories":108},[98],{"categories":110},[92],{"categories":112},[98],{"categories":114},[98],{"categories":116},[117],"AI & LLMs",{"categories":119},[98],{"categories":121},[98],{"categories":123},[],{"categories":125},[98],{"categories":127},[98],{"categories":129},[117],{"categories":131},[132],"Developer Productivity",{"categories":134},[117],{"categories":136},[117],{"categories":138},[117],{"categories":140},[87],{"categories":142},[117],{"categories":144},[92],{"categories":146},[82],{"categories":148},[87],{"categories":150},[95],{"categories":152},[],{"categories":154},[],{"categories":156},[92],{"categories":158},[92],{"categories":160},[92],{"categories":162},[95],{"categories":164},[117],{"categories":166},[132],{"categories":168},[87],{"categories":170},[],{"categories":172},[],{"categories":174},[],{"categories":176},[177],"Data Science & Visualization",{"categories":179},[],{"categories":181},[92],{"categories":183},[47],{"categories":185},[92],{"categories":187},[92],{"categories":189},[117],{"categories":191},[95],{"categories":193},[92],{"categories":195},[],{"categories":197},[],{"categories":199},[],{"categories":201},[98],{"categories":203},[98],{"categories":205},[92],{"categories":207},[95],{"categories":209},[132],{"categories":211},[98],{"categories":213},[117],{"categories":215},[47],{"categories":217},[117],{"categories":219},[],{"categories":221},[92],{"categories":223},[117],{"categories":225},[132],{"categories":227},[132],{"categories":229},[],{"categories":231},[95],{"categories":233},[82],{"categories":235},[117],{"categories":237},[82],{"categories":239},[82],{"categories":241},[92],{"categories":243},[95],{"categories":245},[92],{"categories":247},[82],{"categories":249},[92],{"categories":251},[98],{"categories":253},[117],{"categories":255},[98],{"categories":257},[117],{"categories":259},[82],{"categories":261},[117],{"categories":263},[95],{"categories":265},[],{"categories":267},[117],{"categories":269},[82],{"categories":271},[],{"categories":273},[87],{"categories":275},[47],{"categories":277},[],{"categories":279},[117],{"categories":281},[98],{"categories":283},[117],{"categories":285},[98],{"categories":287},[],{"categories":289},[92],{"categories":291},[],{"categories":293},[],{"categories":295},[],{"categories":297},[117],{"categories":299},[],{"categories":301},[117],{"categories":303},[117],{"categories":305},[98],{"categories":307},[117],{"categories":309},[132],{"categories":311},[92],{"categories":313},[95],{"categories":315},[132],{"categories":317},[132],{"categories":319},[132],{"categories":321},[95],{"categories":323},[95],{"categories":325},[117],{"categories":327},[117],{"categories":329},[98],{"categories":331},[82],{"categories":333},[98],{"categories":335},[47],{"categories":337},[82],{"categories":339},[82],{"categories":341},[82],{"categories":343},[98],{"categories":345},[],{"categories":347},[],{"categories":349},[117],{"categories":351},[117],{"categories":353},[47],{"categories":355},[117],{"categories":357},[117],{"categories":359},[],{"categories":361},[117],{"categories":363},[117],{"categories":365},[],{"categories":367},[117],{"categories":369},[87],{"categories":371},[87],{"categories":373},[],{"categories":375},[],{"categories":377},[95],{"categories":379},[95],{"categories":381},[47],{"categories":383},[117],{"categories":385},[],{"categories":387},[],{"categories":389},[92],{"categories":391},[117],{"categories":393},[117],{"categories":395},[],{"categories":397},[117,82],{"categories":399},[117],{"categories":401},[],{"categories":403},[117],{"categories":405},[117],{"categories":407},[],{"categories":409},[],{"categories":411},[92],{"categories":413},[117],{"categories":415},[117],{"categories":417},[92],{"categories":419},[117],{"categories":421},[],{"categories":423},[],{"categories":425},[117],{"categories":427},[],{"categories":429},[117],{"categories":431},[117],{"categories":433},[],{"categories":435},[92],{"categories":437},[98],{"categories":439},[],{"categories":441},[92,442],"DevOps & Cloud",{"categories":444},[117],{"categories":446},[92],{"categories":448},[117],{"categories":450},[],{"categories":452},[],{"categories":454},[],{"categories":456},[],{"categories":458},[117],{"categories":460},[92],{"categories":462},[],{"categories":464},[92],{"categories":466},[],{"categories":468},[117],{"categories":470},[],{"categories":472},[],{"categories":474},[],{"categories":476},[],{"categories":478},[92],{"categories":480},[98],{"categories":482},[117],{"categories":484},[95],{"categories":486},[87],{"categories":488},[82],{"categories":490},[132],{"categories":492},[],{"categories":494},[92],{"categories":496},[92],{"categories":498},[117],{"categories":500},[],{"categories":502},[],{"categories":504},[],{"categories":506},[92],{"categories":508},[],{"categories":510},[92],{"categories":512},[92],{"categories":514},[87],{"categories":516},[92],{"categories":518},[117],{"categories":520},[],{"categories":522},[117],{"categories":524},[],{"categories":526},[87],{"categories":528},[92,529],"Product Strategy",{"categories":531},[47],{"categories":533},[442],{"categories":535},[529],{"categories":537},[117],{"categories":539},[92],{"categories":541},[],{"categories":543},[87],{"categories":545},[87],{"categories":547},[92],{"categories":549},[],{"categories":551},[92],{"categories":553},[117],{"categories":555},[117],{"categories":557},[132],{"categories":559},[117],{"categories":561},[],{"categories":563},[117,47],{"categories":565},[87],{"categories":567},[117],{"categories":569},[87],{"categories":571},[92],{"categories":573},[87],{"categories":575},[],{"categories":577},[47],{"categories":579},[82],{"categories":581},[],{"categories":583},[92],{"categories":585},[92],{"categories":587},[92],{"categories":589},[92],{"categories":591},[82],{"categories":593},[98],{"categories":595},[95],{"categories":597},[],{"categories":599},[92],{"categories":601},[],{"categories":603},[87],{"categories":605},[87],{"categories":607},[87],{"categories":609},[92],{"categories":611},[87],{"categories":613},[117],{"categories":615},[132],{"categories":617},[117],{"categories":619},[47],{"categories":621},[117,132],{"categories":623},[132],{"categories":625},[132],{"categories":627},[132],{"categories":629},[132],{"categories":631},[117],{"categories":633},[],{"categories":635},[],{"categories":637},[95],{"categories":639},[],{"categories":641},[117],{"categories":643},[132],{"categories":645},[117],{"categories":647},[98],{"categories":649},[47],{"categories":651},[],{"categories":653},[117],{"categories":655},[132],{"categories":657},[95],{"categories":659},[87],{"categories":661},[47],{"categories":663},[117],{"categories":665},[],{"categories":667},[47],{"categories":669},[98],{"categories":671},[82],{"categories":673},[82],{"categories":675},[],{"categories":677},[98],{"categories":679},[82],{"categories":681},[87],{"categories":683},[132],{"categories":685},[92],{"categories":687},[92],{"categories":689},[117],{"categories":691},[117],{"categories":693},[87],{"categories":695},[87],{"categories":697},[132],{"categories":699},[87],{"categories":701},[],{"categories":703},[529],{"categories":705},[92],{"categories":707},[87],{"categories":709},[87],{"categories":711},[87],{"categories":713},[117],{"categories":715},[92],{"categories":717},[92],{"categories":719},[82],{"categories":721},[82],{"categories":723},[117],{"categories":725},[87],{"categories":727},[],{"categories":729},[117],{"categories":731},[82],{"categories":733},[92],{"categories":735},[92],{"categories":737},[92],{"categories":739},[98],{"categories":741},[92],{"categories":743},[132],{"categories":745},[87],{"categories":747},[87],{"categories":749},[87],{"categories":751},[87],{"categories":753},[87],{"categories":755},[],{"categories":757},[],{"categories":759},[132],{"categories":761},[87],{"categories":763},[87],{"categories":765},[87],{"categories":767},[],{"categories":769},[117],{"categories":771},[],{"categories":773},[],{"categories":775},[98],{"categories":777},[82],{"categories":779},[],{"categories":781},[87],{"categories":783},[92],{"categories":785},[92],{"categories":787},[92],{"categories":789},[95],{"categories":791},[92],{"categories":793},[],{"categories":795},[87],{"categories":797},[87],{"categories":799},[117],{"categories":801},[],{"categories":803},[95],{"categories":805},[95],{"categories":807},[117],{"categories":809},[87],{"categories":811},[82],{"categories":813},[47],{"categories":815},[117],{"categories":817},[],{"categories":819},[117],{"categories":821},[117],{"categories":823},[47],{"categories":825},[117],{"categories":827},[117],{"categories":829},[117],{"categories":831},[95],{"categories":833},[87],{"categories":835},[117],{"categories":837},[117],{"categories":839},[87],{"categories":841},[92],{"categories":843},[132],{"categories":845},[82],{"categories":847},[117],{"categories":849},[132],{"categories":851},[132],{"categories":853},[],{"categories":855},[95],{"categories":857},[87],{"categories":859},[87],{"categories":861},[132],{"categories":863},[92],{"categories":865},[92],{"categories":867},[92],{"categories":869},[92],{"categories":871},[98],{"categories":873},[117],{"categories":875},[117],{"categories":877},[529],{"categories":879},[117],{"categories":881},[117],{"categories":883},[92],{"categories":885},[82],{"categories":887},[95],{"categories":889},[],{"categories":891},[82],{"categories":893},[82],{"categories":895},[],{"categories":897},[98],{"categories":899},[117],{"categories":901},[],{"categories":903},[],{"categories":905},[87],{"categories":907},[87],{"categories":909},[87],{"categories":911},[87],{"categories":913},[],{"categories":915},[87],{"categories":917},[117],{"categories":919},[117],{"categories":921},[],{"categories":923},[87],{"categories":925},[87],{"categories":927},[82],{"categories":929},[117],{"categories":931},[],{"categories":933},[],{"categories":935},[87],{"categories":937},[87],{"categories":939},[87],{"categories":941},[117],{"categories":943},[87],{"categories":945},[87],{"categories":947},[87],{"categories":949},[87],{"categories":951},[87],{"categories":953},[],{"categories":955},[92],{"categories":957},[117],{"categories":959},[95],{"categories":961},[82],{"categories":963},[92],{"categories":965},[117],{"categories":967},[],{"categories":969},[95],{"categories":971},[87],{"categories":973},[87],{"categories":975},[87],{"categories":977},[87],{"categories":979},[132],{"categories":981},[47],{"categories":983},[],{"categories":985},[117],{"categories":987},[92],{"categories":989},[92],{"categories":991},[92],{"categories":993},[442],{"categories":995},[92],{"categories":997},[117],{"categories":999},[117],{"categories":1001},[47],{"categories":1003},[442],{"categories":1005},[177],{"categories":1007},[117],{"categories":1009},[177],{"categories":1011},[],{"categories":1013},[95],{"categories":1015},[95],{"categories":1017},[98],{"categories":1019},[442],{"categories":1021},[92],{"categories":1023},[117],{"categories":1025},[117],{"categories":1027},[92],{"categories":1029},[92],{"categories":1031},[92],{"categories":1033},[132],{"categories":1035},[132],{"categories":1037},[92],{"categories":1039},[92],{"categories":1041},[],{"categories":1043},[92],{"categories":1045},[92],{"categories":1047},[117],{"categories":1049},[177],{"categories":1051},[92],{"categories":1053},[92],{"categories":1055},[92],{"categories":1057},[92],{"categories":1059},[82],{"categories":1061},[98],{"categories":1063},[87],{"categories":1065},[47],{"categories":1067},[442],{"categories":1069},[47],{"categories":1071},[177],{"categories":1073},[],{"categories":1075},[47],{"categories":1077},[],{"categories":1079},[],{"categories":1081},[47],{"categories":1083},[117],{"categories":1085},[],{"categories":1087},[],{"categories":1089},[],{"categories":1091},[82],{"categories":1093},[],{"categories":1095},[],{"categories":1097},[177],{"categories":1099},[117],{"categories":1101},[442],{"categories":1103},[117],{"categories":1105},[],{"categories":1107},[92],{"categories":1109},[132],{"categories":1111},[132],{"categories":1113},[95],{"categories":1115},[95],{"categories":1117},[95],{"categories":1119},[442],{"categories":1121},[47],{"categories":1123},[92],{"categories":1125},[82],{"categories":1127},[82],{"categories":1129},[47],{"categories":1131},[98],{"categories":1133},[177],{"categories":1135},[98],{"categories":1137},[],{"categories":1139},[117],{"categories":1141},[92],{"categories":1143},[92],{"categories":1145},[132],{"categories":1147},[92],{"categories":1149},[92],{"categories":1151},[98],{"categories":1153},[98],{"categories":1155},[92],{"categories":1157},[442],{"categories":1159},[117],{"categories":1161},[],{"categories":1163},[95],{"categories":1165},[92],{"categories":1167},[82],{"categories":1169},[92],{"categories":1171},[92],{"categories":1173},[],{"categories":1175},[117],{"categories":1177},[92],{"categories":1179},[92],{"categories":1181},[132],{"categories":1183},[92],{"categories":1185},[117],{"categories":1187},[],{"categories":1189},[92],{"categories":1191},[],{"categories":1193},[98],{"categories":1195},[132],{"categories":1197},[117],{"categories":1199},[47],{"categories":1201},[98],{"categories":1203},[132],{"categories":1205},[177],{"categories":1207},[132],{"categories":1209},[],{"categories":1211},[117],{"categories":1213},[117],{"categories":1215},[529],{"categories":1217},[47],{"categories":1219},[117,92],{"categories":1221},[92],{"categories":1223},[117],{"categories":1225},[92],{"categories":1227},[92,47],{"categories":1229},[92],{"categories":1231},[117],{"categories":1233},[],{"categories":1235},[132],{"categories":1237},[117],{"categories":1239},[92],{"categories":1241},[117],{"categories":1243},[],{"categories":1245},[47],{"categories":1247},[82],{"categories":1249},[92],{"categories":1251},[],{"categories":1253},[177],{"categories":1255},[47],{"categories":1257},[92],{"categories":1259},[47],{"categories":1261},[],{"categories":1263},[92],{"categories":1265},[],{"categories":1267},[92],{"categories":1269},[],{"categories":1271},[],{"categories":1273},[98],{"categories":1275},[132],{"categories":1277},[117],{"categories":1279},[92],{"categories":1281},[],{"categories":1283},[92],{"categories":1285},[47],{"categories":1287},[117],{"categories":1289},[117],{"categories":1291},[47],{"categories":1293},[47],{"categories":1295},[132],{"categories":1297},[82],{"categories":1299},[],{"categories":1301},[117],{"categories":1303},[117],{"categories":1305},[117],{"categories":1307},[92],{"categories":1309},[117],{"categories":1311},[],{"categories":1313},[98],{"categories":1315},[117],{"categories":1317},[92],{"categories":1319},[],{"categories":1321},[117],{"categories":1323},[],{"categories":1325},[117],{"categories":1327},[],{"categories":1329},[],{"categories":1331},[],{"categories":1333},[117],{"categories":1335},[117],{"categories":1337},[117],{"categories":1339},[117],{"categories":1341},[],{"categories":1343},[117],{"categories":1345},[117],{"categories":1347},[117],{"categories":1349},[],{"categories":1351},[117],{"categories":1353},[],{"categories":1355},[95],{"categories":1357},[117],{"categories":1359},[],{"categories":1361},[],{"categories":1363},[],{"categories":1365},[117],{"categories":1367},[87],{"categories":1369},[87],{"categories":1371},[],{"categories":1373},[92],{"categories":1375},[117],{"categories":1377},[],{"categories":1379},[117],{"categories":1381},[117],{"categories":1383},[87],{"categories":1385},[],{"categories":1387},[117],{"categories":1389},[87],{"categories":1391},[92],{"categories":1393},[117],{"categories":1395},[],{"categories":1397},[],{"categories":1399},[],{"categories":1401},[92],{"categories":1403},[92],{"categories":1405},[92],{"categories":1407},[92],{"categories":1409},[117],{"categories":1411},[98],{"categories":1413},[98],{"categories":1415},[92],{"categories":1417},[92],{"categories":1419},[132],{"categories":1421},[529],{"categories":1423},[132],{"categories":1425},[132],{"categories":1427},[117],{"categories":1429},[92],{"categories":1431},[117],{"categories":1433},[132],{"categories":1435},[117],{"categories":1437},[92],{"categories":1439},[92],{"categories":1441},[92],{"categories":1443},[92],{"categories":1445},[92],{"categories":1447},[117],{"categories":1449},[132],{"categories":1451},[132],{"categories":1453},[95],{"categories":1455},[92],{"categories":1457},[],{"categories":1459},[92],{"categories":1461},[],{"categories":1463},[87],{"categories":1465},[117],{"categories":1467},[],{"categories":1469},[82],{"categories":1471},[98],{"categories":1473},[98],{"categories":1475},[92],{"categories":1477},[92],{"categories":1479},[117],{"categories":1481},[117],{"categories":1483},[87],{"categories":1485},[87],{"categories":1487},[442],{"categories":1489},[92],{"categories":1491},[87],{"categories":1493},[],{"categories":1495},[117],{"categories":1497},[92],{"categories":1499},[92],{"categories":1501},[92],{"categories":1503},[92],{"categories":1505},[117],{"categories":1507},[117],{"categories":1509},[117],{"categories":1511},[117],{"categories":1513},[92],{"categories":1515},[92],{"categories":1517},[92],{"categories":1519},[92],{"categories":1521},[],{"categories":1523},[98],{"categories":1525},[117],{"categories":1527},[117],{"categories":1529},[117],{"categories":1531},[],{"categories":1533},[95],{"categories":1535},[],{"categories":1537},[132],{"categories":1539},[],{"categories":1541},[92],{"categories":1543},[132],{"categories":1545},[98],{"categories":1547},[132],{"categories":1549},[],{"categories":1551},[132],{"categories":1553},[132],{"categories":1555},[],{"categories":1557},[98],{"categories":1559},[92],{"categories":1561},[92],{"categories":1563},[132],{"categories":1565},[117],{"categories":1567},[117],{"categories":1569},[],{"categories":1571},[87],{"categories":1573},[],{"categories":1575},[95],{"categories":1577},[],{"categories":1579},[98],{"categories":1581},[87],{"categories":1583},[98],{"categories":1585},[98],{"categories":1587},[98],{"categories":1589},[98],{"categories":1591},[98],{"categories":1593},[98],{"categories":1595},[98],{"categories":1597},[98],{"categories":1599},[98],{"categories":1601},[98],{"categories":1603},[],{"categories":1605},[92],{"categories":1607},[98],{"categories":1609},[117],{"categories":1611},[117],{"categories":1613},[98],{"categories":1615},[98],{"categories":1617},[98],{"categories":1619},[98],{"categories":1621},[98],{"categories":1623},[98],{"categories":1625},[98],{"categories":1627},[117,98],{"categories":1629},[98],{"categories":1631},[98],{"categories":1633},[98],{"categories":1635},[98],{"categories":1637},[],{"categories":1639},[98],{"categories":1641},[98],{"categories":1643},[98],{"categories":1645},[98],{"categories":1647},[98],{"categories":1649},[98],{"categories":1651},[98],{"categories":1653},[98],{"categories":1655},[98],{"categories":1657},[98,117],{"categories":1659},[98],{"categories":1661},[98],{"categories":1663},[],{"categories":1665},[87],{"categories":1667},[],{"categories":1669},[117],{"categories":1671},[],{"categories":1673},[92],{"categories":1675},[442],{"categories":1677},[529],{"categories":1679},[92],{"categories":1681},[92],{"categories":1683},[],{"categories":1685},[92],{"categories":1687},[],{"categories":1689},[92],{"categories":1691},[],{"categories":1693},[],{"categories":1695},[117],{"categories":1697},[117],{"categories":1699},[117],{"categories":1701},[87],{"categories":1703},[87],{"categories":1705},[87],{"categories":1707},[87],{"categories":1709},[],{"categories":1711},[87],{"categories":1713},[],{"categories":1715},[87],{"categories":1717},[117],{"categories":1719},[87],{"categories":1721},[87],{"categories":1723},[87],{"categories":1725},[87],{"categories":1727},[117],{"categories":1729},[87],{"categories":1731},[92],{"categories":1733},[],{"categories":1735},[92],{"categories":1737},[87],{"categories":1739},[117],{"categories":1741},[87],{"categories":1743},[87],{"categories":1745},[87],{"categories":1747},[117],{"categories":1749},[117],{"categories":1751},[117],{"categories":1753},[],{"categories":1755},[],{"categories":1757},[117],{"categories":1759},[87],{"categories":1761},[],{"categories":1763},[117],{"categories":1765},[92],{"categories":1767},[117],{"categories":1769},[92],{"categories":1771},[92],{"categories":1773},[117],{"categories":1775},[],{"categories":1777},[],{"categories":1779},[92],{"categories":1781},[92],{"categories":1783},[92],{"categories":1785},[92],{"categories":1787},[92],{"categories":1789},[92],{"categories":1791},[92],{"categories":1793},[92],{"categories":1795},[],{"categories":1797},[92],{"categories":1799},[92],{"categories":1801},[92],{"categories":1803},[117],{"categories":1805},[117],{"categories":1807},[117],{"categories":1809},[87],{"categories":1811},[117],{"categories":1813},[117],{"categories":1815},[117],{"categories":1817},[92],{"categories":1819},[95],{"categories":1821},[95],{"categories":1823},[95],{"categories":1825},[92],{"categories":1827},[],{"categories":1829},[117],{"categories":1831},[],{"categories":1833},[],{"categories":1835},[117],{"categories":1837},[],{"categories":1839},[92],{"categories":1841},[98],{"categories":1843},[132],{"categories":1845},[177],{"categories":1847},[117],{"categories":1849},[92],{"categories":1851},[98],{"categories":1853},[],{"categories":1855},[92],{"categories":1857},[95,82],{"categories":1859},[92],{"categories":1861},[92],{"categories":1863},[442],{"categories":1865},[47],{"categories":1867},[95],{"categories":1869},[132],{"categories":1871},[117],{"categories":1873},[],{"categories":1875},[117],{"categories":1877},[],{"categories":1879},[117],{"categories":1881},[117],{"categories":1883},[92],{"categories":1885},[],{"categories":1887},[117],{"categories":1889},[92],{"categories":1891},[117],{"categories":1893},[132],{"categories":1895},[92],{"categories":1897},[117],{"categories":1899},[117,132],{"categories":1901},[132],{"categories":1903},[],{"categories":1905},[117],{"categories":1907},[117],{"categories":1909},[117],{"categories":1911},[],{"categories":1913},[],{"categories":1915},[92],{"categories":1917},[95],{"categories":1919},[87],{"categories":1921},[92],{"categories":1923},[117],{"categories":1925},[87],{"categories":1927},[],{"categories":1929},[132],{"categories":1931},[87],{"categories":1933},[],{"categories":1935},[177],{"categories":1937},[95],{"categories":1939},[82],{"categories":1941},[87],{"categories":1943},[117],{"categories":1945},[92],{"categories":1947},[117],{"categories":1949},[92],{"categories":1951},[92],{"categories":1953},[87],{"categories":1955},[132],{"categories":1957},[98],{"categories":1959},[82],{"categories":1961},[117],{"categories":1963},[117],{"categories":1965},[],{"categories":1967},[],{"categories":1969},[117],{"categories":1971},[],{"categories":1973},[117],{"categories":1975},[87],{"categories":1977},[],{"categories":1979},[92],{"categories":1981},[132],{"categories":1983},[87],{"categories":1985},[132],{"categories":1987},[92],{"categories":1989},[117],{"categories":1991},[],{"categories":1993},[92],{"categories":1995},[92],{"categories":1997},[98],{"categories":1999},[92],{"categories":2001},[98],{"categories":2003},[92],{"categories":2005},[92],{"categories":2007},[98],{"categories":2009},[],{"categories":2011},[],{"categories":2013},[98],{"categories":2015},[98],{"categories":2017},[98],{"categories":2019},[47],{"categories":2021},[132],{"categories":2023},[132],{"categories":2025},[92],{"categories":2027},[87],{"categories":2029},[132],{"categories":2031},[132],{"categories":2033},[95],{"categories":2035},[98],{"categories":2037},[92],{"categories":2039},[92],{"categories":2041},[117],{"categories":2043},[132],{"categories":2045},[117],{"categories":2047},[],{"categories":2049},[442],{"categories":2051},[529],{"categories":2053},[],{"categories":2055},[],{"categories":2057},[92],{"categories":2059},[87],{"categories":2061},[95],{"categories":2063},[95],{"categories":2065},[177],{"categories":2067},[98],{"categories":2069},[177],{"categories":2071},[177],{"categories":2073},[92],{"categories":2075},[],{"categories":2077},[],{"categories":2079},[177],{"categories":2081},[47],{"categories":2083},[117],{"categories":2085},[47],{"categories":2087},[177],{"categories":2089},[47],{"categories":2091},[177],{"categories":2093},[82],{"categories":2095},[47],{"categories":2097},[132],{"categories":2099},[117],{"categories":2101},[],{"categories":2103},[177],{"categories":2105},[442],{"categories":2107},[],{"categories":2109},[117],{"categories":2111},[117],{"categories":2113},[],{"categories":2115},[],{"categories":2117},[117],{"categories":2119},[117],{"categories":2121},[87],{"categories":2123},[117],{"categories":2125},[],{"categories":2127},[87],{"categories":2129},[],{"categories":2131},[],{"categories":2133},[87],{"categories":2135},[87],{"categories":2137},[117],{"categories":2139},[117],{"categories":2141},[117],{"categories":2143},[117],{"categories":2145},[117],{"categories":2147},[117],{"categories":2149},[95],{"categories":2151},[],{"categories":2153},[117],{"categories":2155},[],{"categories":2157},[],{"categories":2159},[92],{"categories":2161},[132],{"categories":2163},[],{"categories":2165},[442],{"categories":2167},[117,442],{"categories":2169},[117],{"categories":2171},[],{"categories":2173},[98],{"categories":2175},[98],{"categories":2177},[98],{"categories":2179},[98],{"categories":2181},[98],{"categories":2183},[],{"categories":2185},[],{"categories":2187},[],{"categories":2189},[47],{"categories":2191},[92],{"categories":2193},[82],{"categories":2195},[47],{"categories":2197},[132],{"categories":2199},[98],{"categories":2201},[],{"categories":2203},[95],{"categories":2205},[529],{"categories":2207},[177],{"categories":2209},[177],{"categories":2211},[177],{"categories":2213},[132],{"categories":2215},[529],{"categories":2217},[132],{"categories":2219},[],{"categories":2221},[82],{"categories":2223},[47],{"categories":2225},[117],{"categories":2227},[98],{"categories":2229},[95],{"categories":2231},[47],{"categories":2233},[95],{"categories":2235},[117],{"categories":2237},[98],{"categories":2239},[47],{"categories":2241},[442],{"categories":2243},[117],{"categories":2245},[87],{"categories":2247},[47],{"categories":2249},[],{"categories":2251},[117],{"categories":2253},[47],{"categories":2255},[47],{"categories":2257},[92],{"categories":2259},[],{"categories":2261},[95],{"categories":2263},[95],{"categories":2265},[95],{"categories":2267},[92],{"categories":2269},[117],{"categories":2271},[],{"categories":2273},[82],{"categories":2275},[132],{"categories":2277},[132],{"categories":2279},[177],{"categories":2281},[82],{"categories":2283},[87],{"categories":2285},[177],{"categories":2287},[],{"categories":2289},[87],{"categories":2291},[87],{"categories":2293},[87],{"categories":2295},[117],{"categories":2297},[82],{"categories":2299},[117],{"categories":2301},[],{"categories":2303},[],{"categories":2305},[],{"categories":2307},[47],{"categories":2309},[92],{"categories":2311},[],{"categories":2313},[132],{"categories":2315},[98],{"categories":2317},[],{"categories":2319},[95],{"categories":2321},[],{"categories":2323},[98],{"categories":2325},[117],{"categories":2327},[132],{"categories":2329},[82],{"categories":2331},[],{"categories":2333},[98],{"categories":2335},[98],{"categories":2337},[117],{"categories":2339},[],{"categories":2341},[],{"categories":2343},[47],{"categories":2345},[117],{"categories":2347},[],{"categories":2349},[92],{"categories":2351},[117],{"categories":2353},[],{"categories":2355},[47],{"categories":2357},[92],{"categories":2359},[117],{"categories":2361},[177],{"categories":2363},[117],{"categories":2365},[],{"categories":2367},[177],{"categories":2369},[117],{"categories":2371},[47],{"categories":2373},[117],{"categories":2375},[177],{"categories":2377},[92],{"categories":2379},[117],{"categories":2381},[117],{"categories":2383},[117,92],{"categories":2385},[92],{"categories":2387},[92],{"categories":2389},[92],{"categories":2391},[98],{"categories":2393},[132],{"categories":2395},[117],{"categories":2397},[132],{"categories":2399},[98],{"categories":2401},[117],{"categories":2403},[],{"categories":2405},[],{"categories":2407},[117],{"categories":2409},[117],{"categories":2411},[117],{"categories":2413},[92],{"categories":2415},[117],{"categories":2417},[],{"categories":2419},[117],{"categories":2421},[117],{"categories":2423},[92],{"categories":2425},[92],{"categories":2427},[117],{"categories":2429},[117],{"categories":2431},[],{"categories":2433},[117],{"categories":2435},[],{"categories":2437},[117],{"categories":2439},[117],{"categories":2441},[117],{"categories":2443},[117],{"categories":2445},[117],{"categories":2447},[117],{"categories":2449},[117],{"categories":2451},[],{"categories":2453},[117],{"categories":2455},[87],{"categories":2457},[87],{"categories":2459},[],{"categories":2461},[],{"categories":2463},[117],{"categories":2465},[],{"categories":2467},[117],{"categories":2469},[117,442],{"categories":2471},[],{"categories":2473},[87],{"categories":2475},[],{"categories":2477},[117],{"categories":2479},[],{"categories":2481},[],{"categories":2483},[],{"categories":2485},[117],{"categories":2487},[],{"categories":2489},[117],{"categories":2491},[],{"categories":2493},[117],{"categories":2495},[117],{"categories":2497},[],{"categories":2499},[],{"categories":2501},[117,442],{"categories":2503},[442,117],{"categories":2505},[87],{"categories":2507},[],{"categories":2509},[117],{"categories":2511},[],{"categories":2513},[117],{"categories":2515},[117],{"categories":2517},[],{"categories":2519},[87],{"categories":2521},[117,82],{"categories":2523},[87],{"categories":2525},[47],{"categories":2527},[],{"categories":2529},[92],{"categories":2531},[117],{"categories":2533},[95],{"categories":2535},[117],{"categories":2537},[132],{"categories":2539},[132],{"categories":2541},[442],{"categories":2543},[87],{"categories":2545},[117],{"categories":2547},[442],{"categories":2549},[47],{"categories":2551},[117],{"categories":2553},[132],{"categories":2555},[],{"categories":2557},[117],{"categories":2559},[],{"categories":2561},[],{"categories":2563},[117],{"categories":2565},[],{"categories":2567},[117],{"categories":2569},[47],{"categories":2571},[82],{"categories":2573},[132],{"categories":2575},[95],{"categories":2577},[92],{"categories":2579},[132],{"categories":2581},[],{"categories":2583},[95],{"categories":2585},[],{"categories":2587},[],{"categories":2589},[117],{"categories":2591},[87],{"categories":2593},[95],{"categories":2595},[],{"categories":2597},[117],{"categories":2599},[87],{"categories":2601},[87],{"categories":2603},[95],{"categories":2605},[87],{"categories":2607},[117],{"categories":2609},[87],{"categories":2611},[117],{"categories":2613},[],{"categories":2615},[117],{"categories":2617},[117],{"categories":2619},[117],{"categories":2621},[87],{"categories":2623},[],{"categories":2625},[],{"categories":2627},[98],{"categories":2629},[87],{"categories":2631},[],{"categories":2633},[117],{"categories":2635},[117],{"categories":2637},[117],{"categories":2639},[117],{"categories":2641},[117],{"categories":2643},[117],{"categories":2645},[117],{"categories":2647},[117],{"categories":2649},[117],{"categories":2651},[95],{"categories":2653},[117,98],{"categories":2655},[87],{"categories":2657},[87],{"categories":2659},[117],{"categories":2661},[47],{"categories":2663},[177],{"categories":2665},[117],{"categories":2667},[117],{"categories":2669},[],{"categories":2671},[],{"categories":2673},[117],{"categories":2675},[117],{"categories":2677},[],{"categories":2679},[98],{"categories":2681},[98],{"categories":2683},[132],{"categories":2685},[117],{"categories":2687},[132],{"categories":2689},[117],{"categories":2691},[117],{"categories":2693},[],{"categories":2695},[117],{"categories":2697},[],{"categories":2699},[],{"categories":2701},[117],{"categories":2703},[],{"categories":2705},[],{"categories":2707},[87],{"categories":2709},[],{"categories":2711},[117],{"categories":2713},[117],{"categories":2715},[117],{"categories":2717},[],{"categories":2719},[117],{"categories":2721},[87],{"categories":2723},[529],{"categories":2725},[92],{"categories":2727},[117],{"categories":2729},[],{"categories":2731},[92],{"categories":2733},[117],{"categories":2735},[],{"categories":2737},[117],{"categories":2739},[],{"categories":2741},[92],{"categories":2743},[],{"categories":2745},[],{"categories":2747},[92],{"categories":2749},[92],{"categories":2751},[92],{"categories":2753},[117],{"categories":2755},[],{"categories":2757},[92],{"categories":2759},[92],{"categories":2761},[],{"categories":2763},[],{"categories":2765},[92],{"categories":2767},[117],{"categories":2769},[87],{"categories":2771},[529],{"categories":2773},[95],{"categories":2775},[],{"categories":2777},[98],{"categories":2779},[117],{"categories":2781},[117],{"categories":2783},[82],{"categories":2785},[87],{"categories":2787},[87],{"categories":2789},[87],{"categories":2791},[87],{"categories":2793},[],{"categories":2795},[92],{"categories":2797},[92],{"categories":2799},[92],{"categories":2801},[92],{"categories":2803},[132],{"categories":2805},[117],{"categories":2807},[82],{"categories":2809},[],{"categories":2811},[132],{"categories":2813},[92],{"categories":2815},[98],{"categories":2817},[98],{"categories":2819},[98],{"categories":2821},[98],{"categories":2823},[98],{"categories":2825},[98],{"categories":2827},[117,82],{"categories":2829},[92],{"categories":2831},[82],{"categories":2833},[87],{"categories":2835},[87],{"categories":2837},[132],{"categories":2839},[],{"categories":2841},[],{"categories":2843},[95],{"categories":2845},[],{"categories":2847},[117],{"categories":2849},[95],{"categories":2851},[117],{"categories":2853},[47],{"categories":2855},[92],{"categories":2857},[82],{"categories":2859},[92],{"categories":2861},[47],{"categories":2863},[132],{"categories":2865},[92],{"categories":2867},[],{"categories":2869},[132],{"categories":2871},[],{"categories":2873},[],{"categories":2875},[92],{"categories":2877},[92],{"categories":2879},[92],{"categories":2881},[117],{"categories":2883},[117],{"categories":2885},[117],{"categories":2887},[117],{"categories":2889},[117],{"categories":2891},[],{"categories":2893},[442],{"categories":2895},[117],{"categories":2897},[],{"categories":2899},[],{"categories":2901},[],{"categories":2903},[132],{"categories":2905},[],{"categories":2907},[117],{"categories":2909},[],{"categories":2911},[87],{"categories":2913},[117],{"categories":2915},[87],{"categories":2917},[117],{"categories":2919},[92],{"categories":2921},[],{"categories":2923},[117],{"categories":2925},[117],{"categories":2927},[],{"categories":2929},[177],{"categories":2931},[177],{"categories":2933},[47],{"categories":2935},[98],{"categories":2937},[],{"categories":2939},[117],{"categories":2941},[92],{"categories":2943},[],{"categories":2945},[],{"categories":2947},[117],{"categories":2949},[47],{"categories":2951},[92],{"categories":2953},[82],{"categories":2955},[132,47],{"categories":2957},[47],{"categories":2959},[117],{"categories":2961},[92],{"categories":2963},[],{"categories":2965},[],{"categories":2967},[],{"categories":2969},[],{"categories":2971},[],{"categories":2973},[],{"categories":2975},[117],{"categories":2977},[],{"categories":2979},[],{"categories":2981},[117],{"categories":2983},[],{"categories":2985},[],{"categories":2987},[],{"categories":2989},[117],{"categories":2991},[87],{"categories":2993},[],{"categories":2995},[],{"categories":2997},[],{"categories":2999},[117],{"categories":3001},[],{"categories":3003},[117],{"categories":3005},[117],{"categories":3007},[],{"categories":3009},[117],{"categories":3011},[47],{"categories":3013},[],{"categories":3015},[132],{"categories":3017},[132],{"categories":3019},[],{"categories":3021},[95],{"categories":3023},[],{"categories":3025},[],{"categories":3027},[],{"categories":3029},[98],{"categories":3031},[87],{"categories":3033},[92],{"categories":3035},[117],{"categories":3037},[82],{"categories":3039},[117],{"categories":3041},[],{"categories":3043},[],{"categories":3045},[82],{"categories":3047},[95],{"categories":3049},[92],{"categories":3051},[],{"categories":3053},[442],{"categories":3055},[],{"categories":3057},[95],{"categories":3059},[117],{"categories":3061},[117],{"categories":3063},[95],{"categories":3065},[117],{"categories":3067},[98],{"categories":3069},[92],{"categories":3071},[117],{"categories":3073},[92],{"categories":3075},[117],{"categories":3077},[92],{"categories":3079},[132],{"categories":3081},[132],{"categories":3083},[98],{"categories":3085},[],{"categories":3087},[117],{"categories":3089},[117],{"categories":3091},[95],{"categories":3093},[529],{"categories":3095},[132],{"categories":3097},[87],{"categories":3099},[117],{"categories":3101},[87],{"categories":3103},[117],{"categories":3105},[117],{"categories":3107},[],{"categories":3109},[117],{"categories":3111},[],{"categories":3113},[117],{"categories":3115},[95],{"categories":3117},[117],{"categories":3119},[117],{"categories":3121},[117],{"categories":3123},[],{"categories":3125},[117],{"categories":3127},[117],{"categories":3129},[529],{"categories":3131},[],{"categories":3133},[87],{"categories":3135},[442],{"categories":3137},[47],{"categories":3139},[],{"categories":3141},[177],{"categories":3143},[],{"categories":3145},[],{"categories":3147},[87],{"categories":3149},[117],{"categories":3151},[],{"categories":3153},[117],{"categories":3155},[117],{"categories":3157},[92],{"categories":3159},[117],{"categories":3161},[87],{"categories":3163},[87],{"categories":3165},[98],{"categories":3167},[98],{"categories":3169},[98],{"categories":3171},[117],{"categories":3173},[177],{"categories":3175},[87],{"categories":3177},[132],{"categories":3179},[],{"categories":3181},[98],{"categories":3183},[98],{"categories":3185},[442],{"categories":3187},[98],{"categories":3189},[98],{"categories":3191},[92],{"categories":3193},[87],{"categories":3195},[442],{"categories":3197},[117],{"categories":3199},[117],{"categories":3201},[117],{"categories":3203},[117],{"categories":3205},[],{"categories":3207},[92],{"categories":3209},[117],{"categories":3211},[98],{"categories":3213},[],{"categories":3215},[],{"categories":3217},[87],{"categories":3219},[],{"categories":3221},[92],{"categories":3223},[92],{"categories":3225},[92],{"categories":3227},[92],{"categories":3229},[92],{"categories":3231},[92],{"categories":3233},[92],{"categories":3235},[92],{"categories":3237},[],{"categories":3239},[],{"categories":3241},[117],{"categories":3243},[],{"categories":3245},[92],{"categories":3247},[132],{"categories":3249},[132],{"categories":3251},[177],{"categories":3253},[82],{"categories":3255},[],{"categories":3257},[],{"categories":3259},[],{"categories":3261},[98],{"categories":3263},[117],{"categories":3265},[],{"categories":3267},[82],{"categories":3269},[82],{"categories":3271},[98],{"categories":3273},[132],{"categories":3275},[177],{"categories":3277},[98],{"categories":3279},[98],{"categories":3281},[],{"categories":3283},[92],{"categories":3285},[82],{"categories":3287},[82],{"categories":3289},[117],{"categories":3291},[92],{"categories":3293},[47],{"categories":3295},[98],{"categories":3297},[],{"categories":3299},[95],{"categories":3301},[177],{"categories":3303},[87],{"categories":3305},[87],{"categories":3307},[87],{"categories":3309},[442],{"categories":3311},[],{"categories":3313},[92],{"categories":3315},[],{"categories":3317},[92],{"categories":3319},[92],{"categories":3321},[117],{"categories":3323},[117],{"categories":3325},[47],{"categories":3327},[92],{"categories":3329},[47],{"categories":3331},[],{"categories":3333},[92],{"categories":3335},[98],{"categories":3337},[98],{"categories":3339},[98],{"categories":3341},[117],{"categories":3343},[92],{"categories":3345},[117],{"categories":3347},[82],{"categories":3349},[87],{"categories":3351},[98],{"categories":3353},[87],{"categories":3355},[117],{"categories":3357},[],{"categories":3359},[87],{"categories":3361},[92],{"categories":3363},[87],{"categories":3365},[87],{"categories":3367},[87],{"categories":3369},[87],{"categories":3371},[],{"categories":3373},[],{"categories":3375},[87],{"categories":3377},[87],{"categories":3379},[],{"categories":3381},[87],{"categories":3383},[87],{"categories":3385},[117],{"categories":3387},[117],{"categories":3389},[87],{"categories":3391},[87],{"categories":3393},[117],{"categories":3395},[],{"categories":3397},[117],{"categories":3399},[92],{"categories":3401},[117],{"categories":3403},[117],{"categories":3405},[],{"categories":3407},[117],{"categories":3409},[117],{"categories":3411},[117],{"categories":3413},[87],{"categories":3415},[],{"categories":3417},[],{"categories":3419},[],{"categories":3421},[],{"categories":3423},[117],{"categories":3425},[117],{"categories":3427},[],{"categories":3429},[95],{"categories":3431},[87],{"categories":3433},[],{"categories":3435},[],{"categories":3437},[],{"categories":3439},[],{"categories":3441},[],{"categories":3443},[117],{"categories":3445},[],{"categories":3447},[],{"categories":3449},[117],{"categories":3451},[],{"categories":3453},[92],{"categories":3455},[92],{"categories":3457},[92],{"categories":3459},[82],{"categories":3461},[],{"categories":3463},[95],{"categories":3465},[47],{"categories":3467},[47],{"categories":3469},[442],{"categories":3471},[87],{"categories":3473},[],{"categories":3475},[117],{"categories":3477},[117],{"categories":3479},[82],{"categories":3481},[],{"categories":3483},[82],{"categories":3485},[],{"categories":3487},[],{"categories":3489},[],{"categories":3491},[47],{"categories":3493},[92],{"categories":3495},[92],{"categories":3497},[92],{"categories":3499},[92],{"categories":3501},[92],{"categories":3503},[],{"categories":3505},[87],{"categories":3507},[117],{"categories":3509},[117],{"categories":3511},[117],{"categories":3513},[],{"categories":3515},[82],{"categories":3517},[],{"categories":3519},[98],{"categories":3521},[177],{"categories":3523},[98],{"categories":3525},[],{"categories":3527},[],{"categories":3529},[117],{"categories":3531},[92],{"categories":3533},[],{"categories":3535},[117],{"categories":3537},[117],{"categories":3539},[117],{"categories":3541},[92],{"categories":3543},[92],{"categories":3545},[117],{"categories":3547},[177],{"categories":3549},[92],{"categories":3551},[],{"categories":3553},[117],{"categories":3555},[],{"categories":3557},[529],{"categories":3559},[47],{"categories":3561},[177],{"categories":3563},[47],{"categories":3565},[442],{"categories":3567},[117],{"categories":3569},[47],{"categories":3571},[87],{"categories":3573},[442],{"categories":3575},[47],{"categories":3577},[98],{"categories":3579},[98],{"categories":3581},[],{"categories":3583},[47],{"categories":3585},[],{"categories":3587},[132],{"categories":3589},[47],{"categories":3591},[],{"categories":3593},[177],{"categories":3595},[177],{"categories":3597},[529],{"categories":3599},[],{"categories":3601},[117],{"categories":3603},[47],{"categories":3605},[442],{"categories":3607},[92],{"categories":3609},[92],{"categories":3611},[177],{"categories":3613},[117],{"categories":3615},[132],{"categories":3617},[117],{"categories":3619},[],{"categories":3621},[],{"categories":3623},[],{"categories":3625},[95],{"categories":3627},[117],{"categories":3629},[98],{"categories":3631},[47],{"categories":3633},[47],{"categories":3635},[117],{"categories":3637},[95],{"categories":3639},[132],{"categories":3641},[117],{"categories":3643},[47],{"categories":3645},[117],{"categories":3647},[47],{"categories":3649},[132],{"categories":3651},[132],{"categories":3653},[92],{"categories":3655},[132],{"categories":3657},[47],{"categories":3659},[82],{"categories":3661},[47],{"categories":3663},[47],{"categories":3665},[47],{"categories":3667},[47],{"categories":3669},[],{"categories":3671},[87],{"categories":3673},[],{"categories":3675},[177],{"categories":3677},[117],{"categories":3679},[117],{"categories":3681},[],{"categories":3683},[],{"categories":3685},[],{"categories":3687},[117],{"categories":3689},[87],{"categories":3691},[117],{"categories":3693},[117],{"categories":3695},[],{"categories":3697},[117],{"categories":3699},[98],{"categories":3701},[117],{"categories":3703},[117],{"categories":3705},[117],{"categories":3707},[],{"categories":3709},[],{"categories":3711},[],{"categories":3713},[442],{"categories":3715},[442],{"categories":3717},[82],{"categories":3719},[92],{"categories":3721},[82,95],{"categories":3723},[117],{"categories":3725},[87],{"categories":3727},[],{"categories":3729},[98],{"categories":3731},[177],{"categories":3733},[117],{"categories":3735},[47],{"categories":3737},[117],{"categories":3739},[],{"categories":3741},[177],{"categories":3743},[442],{"categories":3745},[92],{"categories":3747},[82],{"categories":3749},[442],{"categories":3751},[92],{"categories":3753},[132],{"categories":3755},[92],{"categories":3757},[132],{"categories":3759},[117],{"categories":3761},[132],{"categories":3763},[132],{"categories":3765},[47],{"categories":3767},[177],{"categories":3769},[117],{"categories":3771},[95],{"categories":3773},[],{"categories":3775},[117],{"categories":3777},[98],{"categories":3779},[177],{"categories":3781},[82],{"categories":3783},[117],{"categories":3785},[177],{"categories":3787},[132],{"categories":3789},[117],{"categories":3791},[117],{"categories":3793},[177],{"categories":3795},[117],{"categories":3797},[132],{"categories":3799},[117],{"categories":3801},[],{"categories":3803},[117],{"categories":3805},[117],{"categories":3807},[117],{"categories":3809},[117],{"categories":3811},[],{"categories":3813},[92],{"categories":3815},[442],{"categories":3817},[],{"categories":3819},[],{"categories":3821},[117],{"categories":3823},[82],{"categories":3825},[95],{"categories":3827},[82],{"categories":3829},[82],{"categories":3831},[92],{"categories":3833},[],{"categories":3835},[117],{"categories":3837},[87],{"categories":3839},[117],{"categories":3841},[117],{"categories":3843},[],{"categories":3845},[92],{"categories":3847},[87],{"categories":3849},[117,442],{"categories":3851},[92,442],{"categories":3853},[442],{"categories":3855},[117],{"categories":3857},[92],{"categories":3859},[92],{"categories":3861},[47],{"categories":3863},[47],{"categories":3865},[47],{"categories":3867},[117],{"categories":3869},[98],{"categories":3871},[92],{"categories":3873},[],{"categories":3875},[442],{"categories":3877},[],{"categories":3879},[442],{"categories":3881},[442],{"categories":3883},[82],{"categories":3885},[92],{"categories":3887},[],{"categories":3889},[442],{"categories":3891},[117],{"categories":3893},[87],{"categories":3895},[117],{"categories":3897},[98],{"categories":3899},[47],{"categories":3901},[47],{"categories":3903},[47],{"categories":3905},[442],{"categories":3907},[],{"categories":3909},[],{"categories":3911},[],{"categories":3913},[117],{"categories":3915},[47],{"categories":3917},[117],{"categories":3919},[47],{"categories":3921},[442],{"categories":3923},[442],{"categories":3925},[117],{"categories":3927},[92],{"categories":3929},[],{"categories":3931},[117],{"categories":3933},[117],{"categories":3935},[117],{"categories":3937},[],{"categories":3939},[],{"categories":3941},[442],{"categories":3943},[442],{"categories":3945},[117,442],{"categories":3947},[92],{"categories":3949},[92],{"categories":3951},[92],{"categories":3953},[92],{"categories":3955},[92],{"categories":3957},[92],{"categories":3959},[],{"categories":3961},[47],{"categories":3963},[117],{"categories":3965},[47],{"categories":3967},[95],{"categories":3969},[117],{"categories":3971},[529],{"categories":3973},[529],{"categories":3975},[92],{"categories":3977},[47],{"categories":3979},[],{"categories":3981},[92],{"categories":3983},[117],{"categories":3985},[],{"categories":3987},[98],{"categories":3989},[],{"categories":3991},[117],{"categories":3993},[92],{"categories":3995},[87],{"categories":3997},[117],{"categories":3999},[],{"categories":4001},[],{"categories":4003},[98],{"categories":4005},[98],{"categories":4007},[132],{"categories":4009},[98],{"categories":4011},[92],{"categories":4013},[],{"categories":4015},[92],{"categories":4017},[87],{"categories":4019},[117],{"categories":4021},[117],{"categories":4023},[],{"categories":4025},[117],{"categories":4027},[132],{"categories":4029},[117],{"categories":4031},[],{"categories":4033},[177],{"categories":4035},[47],{"categories":4037},[47],{"categories":4039},[82],{"categories":4041},[82],{"categories":4043},[82],{"categories":4045},[92],{"categories":4047},[82],{"categories":4049},[92],{"categories":4051},[442],{"categories":4053},[529],{"categories":4055},[87],{"categories":4057},[87],{"categories":4059},[87],{"categories":4061},[442],{"categories":4063},[87,82],{"categories":4065},[177],{"categories":4067},[92],{"categories":4069},[],{"categories":4071},[117],{"categories":4073},[],{"categories":4075},[47],{"categories":4077},[177],{"categories":4079},[98],{"categories":4081},[47],{"categories":4083},[132],{"categories":4085},[],{"categories":4087},[92],{"categories":4089},[],{"categories":4091},[529],{"categories":4093},[],{"categories":4095},[98],{"categories":4097},[98],{"categories":4099},[177],{"categories":4101},[],{"categories":4103},[117],{"categories":4105},[177],{"categories":4107},[],{"categories":4109},[117],{"categories":4111},[117],{"categories":4113},[],{"categories":4115},[132],{"categories":4117},[117],{"categories":4119},[],{"categories":4121},[117],{"categories":4123},[],{"categories":4125},[],{"categories":4127},[92],{"categories":4129},[92],{"categories":4131},[],{"categories":4133},[47],{"categories":4135},[47],{"categories":4137},[47],{"categories":4139},[117,92],{"categories":4141},[92],{"categories":4143},[92],{"categories":4145},[92],{"categories":4147},[177],{"categories":4149},[177],{"categories":4151},[],{"categories":4153},[87],{"categories":4155},[117],{"categories":4157},[177],{"categories":4159},[177],{"categories":4161},[87],{"categories":4163},[82],{"categories":4165},[92],{"categories":4167},[47],{"categories":4169},[117],{"categories":4171},[117],{"categories":4173},[92],{"categories":4175},[47],{"categories":4177},[92],{"categories":4179},[117],{"categories":4181},[95],{"categories":4183},[],{"categories":4185},[117],{"categories":4187},[],{"categories":4189},[117],{"categories":4191},[117],{"categories":4193},[47],{"categories":4195},[],{"categories":4197},[177],{"categories":4199},[117],{"categories":4201},[92],{"categories":4203},[92],{"categories":4205},[47],{"categories":4207},[132],{"categories":4209},[132],{"categories":4211},[87],{"categories":4213},[117],{"categories":4215},[92],{"categories":4217},[],{"categories":4219},[92],{"categories":4221},[117],{"categories":4223},[87],{"categories":4225},[117],{"categories":4227},[117],{"categories":4229},[117],{"categories":4231},[92],{"categories":4233},[177],{"categories":4235},[117],{"categories":4237},[98],{"categories":4239},[117],{"categories":4241},[117],{"categories":4243},[117],{"categories":4245},[117],{"categories":4247},[],{"categories":4249},[117],{"categories":4251},[177],{"categories":4253},[98],{"categories":4255},[117],{"categories":4257},[98],{"categories":4259},[],{"categories":4261},[],{"categories":4263},[],{"categories":4265},[117],{"categories":4267},[],{"categories":4269},[],{"categories":4271},[],{"categories":4273},[],{"categories":4275},[92],{"categories":4277},[132],{"categories":4279},[92],{"categories":4281},[92],{"categories":4283},[47],{"categories":4285},[82],{"categories":4287},[117],{"categories":4289},[117],{"categories":4291},[117],{"categories":4293},[82],{"categories":4295},[132],{"categories":4297},[],{"categories":4299},[177],{"categories":4301},[95],{"categories":4303},[117],{"categories":4305},[98],{"categories":4307},[132],{"categories":4309},[132],{"categories":4311},[529],{"categories":4313},[92],{"categories":4315},[117],{"categories":4317},[117],{"categories":4319},[132],{"categories":4321},[117],{"categories":4323},[],{"categories":4325},[],{"categories":4327},[442],{"categories":4329},[98],{"categories":4331},[132],{"categories":4333},[117],{"categories":4335},[87],{"categories":4337},[132],{"categories":4339},[82],{"categories":4341},[92],{"categories":4343},[92],{"categories":4345},[87],{"categories":4347},[117],{"categories":4349},[],{"categories":4351},[],{"categories":4353},[],{"categories":4355},[117],{"categories":4357},[],{"categories":4359},[87],{"categories":4361},[],{"categories":4363},[117],{"categories":4365},[],{"categories":4367},[87],{"categories":4369},[92],{"categories":4371},[117],{"categories":4373},[442],{"categories":4375},[117],{"categories":4377},[132],{"categories":4379},[117],{"categories":4381},[132],{"categories":4383},[132],{"categories":4385},[],{"categories":4387},[],{"categories":4389},[132],{"categories":4391},[132],{"categories":4393},[132],{"categories":4395},[],{"categories":4397},[132],{"categories":4399},[92],{"categories":4401},[92],{"categories":4403},[],{"categories":4405},[117],{"categories":4407},[95],{"categories":4409},[177],{"categories":4411},[117],{"categories":4413},[],{"categories":4415},[132],{"categories":4417},[117],{"categories":4419},[529],{"categories":4421},[132],{"categories":4423},[132],{"categories":4425},[95],{"categories":4427},[47],{"categories":4429},[47],{"categories":4431},[],{"categories":4433},[47],{"categories":4435},[117],{"categories":4437},[],{"categories":4439},[],{"categories":4441},[92],{"categories":4443},[],{"categories":4445},[92],{"categories":4447},[92],{"categories":4449},[87],{"categories":4451},[117],{"categories":4453},[87],{"categories":4455},[132],{"categories":4457},[87],{"categories":4459},[47],{"categories":4461},[47],{"categories":4463},[47],{"categories":4465},[87],{"categories":4467},[117],{"categories":4469},[92],{"categories":4471},[442],{"categories":4473},[82],{"categories":4475},[442],{"categories":4477},[442],{"categories":4479},[47],{"categories":4481},[442],{"categories":4483},[442],[4485,4622,4705,4933],{"id":4486,"title":4487,"ai":4488,"body":4493,"categories":4587,"created_at":48,"date_modified":48,"description":40,"extension":49,"faq":48,"featured":50,"kicker_label":48,"meta":4588,"navigation":62,"path":4609,"published_at":4610,"question":48,"scraped_at":4610,"seo":4611,"sitemap":4612,"source_id":4613,"source_name":4614,"source_type":70,"source_url":4615,"stem":4616,"tags":4617,"thumbnail_url":48,"tldr":4619,"tweet":48,"unknown_tags":4620,"__hash__":4621},"summaries\u002Fsummaries\u002Fdatasette-replaces-csrf-tokens-with-sec-fetch-site-summary.md","Datasette Replaces CSRF Tokens with Sec-Fetch-Site Headers",{"provider":7,"model":8,"input_tokens":4489,"output_tokens":4490,"processing_time_ms":4491,"cost_usd":4492},4500,2477,15880,0.002116,{"type":14,"value":4494,"toc":4582},[4495,4499,4519,4522,4526,4529,4569,4572,4576],[17,4496,4498],{"id":4497},"simplifying-csrf-protection-without-tokens","Simplifying CSRF Protection Without Tokens",[22,4500,4501,4502,4506,4507,4510,4511,4514,4515,4518],{},"Traditional CSRF tokens in Datasette required adding ",[4503,4504,4505],"code",{},"\u003Cinput type=\"hidden\" name=\"csrftoken\" value=\"{{ csrftoken() }}\">"," to every form in templates and manually disabling protection via the ",[4503,4508,4509],{},"skip_csrf(datasette, scope)"," plugin hook for external API calls. This scattered complexity made maintenance painful. The new approach uses the browser's Sec-Fetch-Site header—set to ",[4503,4512,4513],{},"same-origin"," for same-site requests and ",[4503,4516,4517],{},"cross-site"," for others—to block cross-site form submissions automatically, protecting against CSRF without any tokens or per-endpoint tweaks.",[22,4520,4521],{},"This header-based method, proven secure in production, lets you build forms without extra inputs and expose APIs without CSRF exemptions, reducing boilerplate and errors.",[17,4523,4525],{"id":4524},"key-changes-in-pr-2689","Key Changes in PR #2689",[22,4527,4528],{},"The pull request introduces ASGI middleware inspired by Filippo Valsorda's August 2025 research essay and Go 1.25's net\u002Fhttp implementation:",[4530,4531,4532,4540,4547,4554],"ul",{},[4533,4534,4535,4536,4539],"li",{},"Replaces ",[4503,4537,4538],{},"asgi-csrf"," library entirely.",[4533,4541,4542,4543,4546],{},"Deletes all ",[4503,4544,4545],{},"csrftoken()"," hidden inputs from templates.",[4533,4548,4549,4550,4553],{},"Removes the ",[4503,4551,4552],{},"skip_csrf"," plugin hook, its docs, and tests.",[4533,4555,4556,4557,4563,4564,4568],{},"Updates internals docs (",[4558,4559,4560],"a",{"href":4560,"rel":4561},"https:\u002F\u002Fdocs.datasette.io\u002Fen\u002Flatest\u002Finternals.html#csrf-protection",[4562],"nofollow",") and upgrade guide (",[4558,4565,4566],{"href":4566,"rel":4567},"https:\u002F\u002Fdocs.datasette.io\u002Fen\u002Flatest\u002Fupgrade_guide.html#csrf-protection",[4562],") to explain header checks.",[22,4570,4571],{},"Claude Code handled 10 commits under guidance, with GPT-5.4 cross-review—AI accelerated the refactor while keeping it precise.",[17,4573,4575],{"id":4574},"why-it-works-and-upgrade-impact","Why It Works and Upgrade Impact",[22,4577,4578,4579,4581],{},"Browsers enforce Sec-Fetch-Site reliably since Chrome 76+, covering 99%+ of users without JavaScript or tokens. It blocks malicious cross-site POSTs natively, trading zero compatibility issues for token pains. Upgrade by pulling latest Datasette: templates clean up automatically, plugins simplify sans ",[4503,4580,4552],{},". Test forms and APIs stay secure, but verify no custom skips linger.",{"title":40,"searchDepth":41,"depth":41,"links":4583},[4584,4585,4586],{"id":4497,"depth":41,"text":4498},{"id":4524,"depth":41,"text":4525},{"id":4574,"depth":41,"text":4575},[47],{"content_references":4589,"triage":4605},[4590,4595,4598,4602],{"type":4591,"title":4592,"url":4593,"context":4594},"other","datasette PR #2689: Replace token-based CSRF with Sec-Fetch-Site header protection","https:\u002F\u002Fgithub.com\u002Fsimonw\u002Fdatasette\u002Fpull\u002F2689","cited",{"type":54,"title":4538,"author":4596,"url":4597,"context":56},"Simon Willison","https:\u002F\u002Fgithub.com\u002Fsimonw\u002Fasgi-csrf",{"type":4591,"title":4599,"author":4600,"url":4601,"context":4594},"CSRF","Filippo Valsorda","https:\u002F\u002Fwords.filippo.io\u002Fcsrf\u002F",{"type":4591,"title":4603,"url":4604,"context":4594},"Go 1.25","https:\u002F\u002Ftip.golang.org\u002Fdoc\u002Fgo1.25#nethttppkgnethttp",{"relevance":4606,"novelty":4606,"quality":59,"actionability":4606,"composite":4607,"reasoning":4608},3,3.25,"Category: Software Engineering. The article discusses a technical change in the Datasette framework that simplifies CSRF protection, which is relevant to developers working on web applications. It provides a new approach to CSRF protection using Sec-Fetch-Site headers, but lacks detailed actionable steps for implementation.","\u002Fsummaries\u002Fdatasette-replaces-csrf-tokens-with-sec-fetch-site-summary","2026-04-20 16:57:45",{"title":4487,"description":40},{"loc":4609},"e48f2d4acf4592df","Simon Willison's Weblog","https:\u002F\u002Fsimonwillison.net\u002F2026\u002FApr\u002F14\u002Freplace-token-based-csrf\u002F#atom-everything","summaries\u002Fdatasette-replaces-csrf-tokens-with-sec-fetch-site-summary",[4618,74,75],"python","Datasette PR #2689 swaps token-based CSRF for Sec-Fetch-Site header checks, eliminating hidden form tokens and skip_csrf hooks for simpler protection across forms and APIs.",[],"YO_Vb-KvzI4PpzT_r1SrDL0p_uHH7T6RI5Qj3JhUP0s",{"id":4623,"title":4624,"ai":4625,"body":4630,"categories":4687,"created_at":48,"date_modified":48,"description":4688,"extension":49,"faq":48,"featured":50,"kicker_label":48,"meta":4689,"navigation":62,"path":4690,"published_at":4691,"question":48,"scraped_at":4692,"seo":4693,"sitemap":4694,"source_id":4695,"source_name":4696,"source_type":4697,"source_url":4698,"stem":4699,"tags":4700,"thumbnail_url":48,"tldr":4702,"tweet":48,"unknown_tags":4703,"__hash__":4704},"summaries\u002Fsummaries\u002Faxios-npm-hack-deploys-rats-on-101m-dev-installs-summary.md","Axios NPM Hack Deploys RATs on 101M Dev Installs",{"provider":7,"model":8,"input_tokens":4626,"output_tokens":4627,"processing_time_ms":4628,"cost_usd":4629},4214,1531,14142,0.00131745,{"type":14,"value":4631,"toc":4681},[4632,4636,4643,4646,4650,4653,4656,4660,4663,4667],[17,4633,4635],{"id":4634},"backdoor-mechanics-exploit-post-install-scripts","Backdoor Mechanics Exploit Post-Install Scripts",[22,4637,4638,4639,4642],{},"Attackers hijacked the Axios NPM lead maintainer's account—despite 2FA and GitHub auth—using a long-lived NPM CLI access token (possibly via recovery codes) to publish v1.14.1 (tagged latest) and v0.30.4 (tagged legacy) on March 31. These versions added a phantom 'plain crypto-js' dependency, a tweaked crypto-js with a malicious post-install 'setup.js' script. This script runs automatically on every ",[4503,4640,4641],{},"npm install"," or CI execution, detects the OS (Windows, macOS Intel\u002FApple Silicon, Linux), and fetches a tailored second-stage RAT payload from a remote server.",[22,4644,4645],{},"The RAT self-cleans: original setup.js deletes itself, removes the malicious package.json post-install entry, and restores a clean version to evade detection. Packages like DataDog, OpenClaw, and WordPress inherited the compromise, affecting Axios's 174,000 dependents and 101 million weekly installs.",[17,4647,4649],{"id":4648},"rat-behaviors-steal-dev-credentials-and-enable-remote-control","RAT Behaviors Steal Dev Credentials and Enable Remote Control",[22,4651,4652],{},"Once deployed, the RAT scans sensitive directories—Documents, Desktop, config folders (plus OneDrive, AppData, all drive letters on Windows)—exfiltrates the file list to attackers for theft assessment, then beacons every 60 seconds with hostname, username, OS, timezone, hardware model, and all running processes. This reveals active software and user presence.",[22,4654,4655],{},"Attackers can remotely issue four commands: (1) browse any directory, (2) execute arbitrary shell commands\u002Fscripts, (3) drop\u002Fexecute more malware, (4) kill the process for cleanup. Treat any infected system as fully compromised: rotate all secrets like .env files, NPM tokens, SSH keys immediately.",[17,4657,4659],{"id":4658},"detect-infection-and-respond-swiftly","Detect Infection and Respond Swiftly",[22,4661,4662],{},"Search lockfiles (package-lock.json, yarn.lock) for axios@1.14.1, axios@0.30.4, or plain-crypto-js. Scan node_modules for these packages. Hunt RAT artifacts per platform-specific write-ups (linked in source). Axios versions were yanked after 3 hours, but prior installs persist—assume credential theft.",[17,4664,4666],{"id":4665},"prevent-future-supply-chain-attacks","Prevent Future Supply Chain Attacks",[22,4668,4669,4670,4673,4674,4676,4677,4680],{},"Commit lockfiles to pin versions and use ",[4503,4671,4672],{},"npm ci"," (not ",[4503,4675,4641],{},") in CI\u002FCD to enforce exact installs. Set minimum package age (e.g., 48 hours) to skip fresh malicious uploads. Run ",[4503,4678,4679],{},"npm install --ignore-scripts"," to block post-installs, or switch to Bun which disables them by default except on explicitly trusted deps. These steps caught this attack early but highlight rising NPM threats.",{"title":40,"searchDepth":41,"depth":41,"links":4682},[4683,4684,4685,4686],{"id":4634,"depth":41,"text":4635},{"id":4648,"depth":41,"text":4649},{"id":4658,"depth":41,"text":4659},{"id":4665,"depth":41,"text":4666},[47],"Attackers compromised the Axios npm package and published two backdoored releases. The malicious versions introduced a hidden post-install script that silently downloaded a Remote Access Trojan onto developer machines and CI\u002FCD runners, scanning for .env files, SSH keys, npm tokens and more. \n\n🔗 Relevant Links\nhttps:\u002F\u002Fwww.huntress.com\u002Fblog\u002Fsupply-chain-compromise-axios-npm-package\nhttps:\u002F\u002Fcloud.google.com\u002Fblog\u002Ftopics\u002Fthreat-intelligence\u002Fnorth-korea-threat-actor-targets-axios-npm-package\u002F\nhttps:\u002F\u002Fwww.youtube.com\u002Fredirect?event=video_description&redir_token=QUFFLUhqbHZlejk4T1JxOVdNWmhWQ05MTUxmdTRzb2dUUXxBQ3Jtc0ttbEQ5SkFtZWhBUWZsallOWDhaeXo5cTNKXzQ5Y0E2U09MQVFBT21kVGtJWjhybmdZTlFFMWZycy1NWnZVRlh5a0FLZ3hOVUluTUNLemlPYXdia2RWcGY5eUx4bFRMdnZxSzVUN1ZhelkzNnRBWWdjZw&q=https%3A%2F%2Fwww.stepsecurity.io%2Fblog%2Faxios-compromised-on-npm-malicious-versions-drop-remote-access-trojan&v=yiLIZLPNEm8\n\n❤️ More about us\nRadically better observability stack: https:\u002F\u002Fbetterstack.com\u002F\nWritten tutorials: https:\u002F\u002Fbetterstack.com\u002Fcommunity\u002F\nExample projects: https:\u002F\u002Fgithub.com\u002FBetterStackHQ\n\n📱 Socials\nTwitter: https:\u002F\u002Ftwitter.com\u002Fbetterstackhq\nInstagram: https:\u002F\u002Fwww.instagram.com\u002Fbetterstackhq\u002F\nTikTok: https:\u002F\u002Fwww.tiktok.com\u002F@betterstack\nLinkedIn: https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fbetterstack",{},"\u002Fsummaries\u002Faxios-npm-hack-deploys-rats-on-101m-dev-installs-summary","2026-04-01 03:45:00","2026-04-03 21:14:39",{"title":4624,"description":4688},{"loc":4690},"83e85cee6b0e5f98","Better Stack","video","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=5xWSezMFweE","summaries\u002Faxios-npm-hack-deploys-rats-on-101m-dev-installs-summary",[4701,74,75],"devops","North Korean-linked hackers compromised Axios maintainer account, releasing backdoored v1.14.1 (latest) and v0.30.4 (legacy) that install cross-OS RATs via phantom crypto-js dependency, targeting dev workstations and CI for credential theft.",[],"IrsHwllRRfO48IJGkGgqdTQES2EjL90pRMXLQrDnqvE",{"id":4706,"title":4707,"ai":4708,"body":4713,"categories":4916,"created_at":48,"date_modified":48,"description":4917,"extension":49,"faq":48,"featured":50,"kicker_label":48,"meta":4918,"navigation":62,"path":4919,"published_at":4920,"question":48,"scraped_at":4921,"seo":4922,"sitemap":4923,"source_id":4924,"source_name":4925,"source_type":4697,"source_url":4926,"stem":4927,"tags":4928,"thumbnail_url":48,"tldr":4930,"tweet":48,"unknown_tags":4931,"__hash__":4932},"summaries\u002Fsummaries\u002Fthree-pillars-of-javascript-dependency-bloat-summary.md","Three Pillars of JavaScript Dependency Bloat",{"provider":7,"model":8,"input_tokens":4709,"output_tokens":4710,"processing_time_ms":4711,"cost_usd":4712},8102,2076,23154,0.00236755,{"type":14,"value":4714,"toc":4911},[4715,4719,4737,4744,4767,4770,4774,4801,4816,4844,4847,4851,4854,4857,4860,4863,4869,4902,4905,4908],[17,4716,4718],{"id":4717},"legacy-runtime-support-drags-down-modern-bundles","Legacy Runtime Support Drags Down Modern Bundles",[22,4720,4721,4722,4725,4726,4729,4730,4729,4733,4736],{},"JavaScript's near-universal support comes at a cost: bloated dependency trees built for edge cases that most developers never encounter. Theo breaks down James Garbet's analysis of the first pillar—older runtime support, global mutation protection, and cross-realm values. Packages like ",[4503,4723,4724],{},"is-string"," balloon into deep trees (e.g., depending on ",[4503,4727,4728],{},"has-symbols",", ",[4503,4731,4732],{},"call-bound",[4503,4734,4735],{},"get-intrinsic",") to polyfill ES5 features absent in ES3 engines like IE6\u002F7 or ancient Node versions.",[22,4738,4739,4740,4743],{},"These aren't theoretical; companies like Hero Devs maintain end-of-life codebases, forking Node 0.8 with security patches and bloating core utils for compatibility. Theo shares a infamous case: AX Object Query added 60 dependencies (one, ",[4503,4741,4742],{},"deep-equal",", added 50 alone) for Node 0.4 support, nearly doubling SpellKit's deps on a minor bump. This sparked supply-chain fears, but it was legitimate legacy work.",[22,4745,4746,4747,4750,4751,4754,4755,4758,4759,4762,4763,4766],{},"Node counters mutations via 'primordials'—early rebinding of globals like ",[4503,4748,4749],{},"Map"," to a safe namespace, preventing user overrides from breaking the runtime. Packages like ",[4503,4752,4753],{},"math-intrinsics"," reexport math funcs for the same reason. Cross-realm issues arise in iframes or VMs: a ",[4503,4756,4757],{},"RegExp"," from an iframe != parent page's, breaking ",[4503,4760,4761],{},"instanceof",". Solutions use ",[4503,4764,4765],{},"Object.prototype.toString.call(value) === '[object RegExp]'",", as in Chai assertions.",[22,4768,4769],{},"\"All of this makes sense for a very small group of people... problem is that the vast majority of us don't need any of this.\" Theo notes niche needs (Hero Devs, test runners) inverted the model: everyone pays via hot-path deps. Modern Node (last 10 years) and evergreen browsers eliminate 99% of this.",[17,4771,4773],{"id":4772},"atomic-architecture-creates-download-hell","Atomic Architecture Creates Download Hell",[22,4775,4776,4777,4780,4781,4784,4785,4788,4789,4792,4793,4796,4797,4800],{},"The second pillar: 'atomic' packages splinter code into micro-utils for reuse, per Unix philosophy gone mad. Instead of inline funcs, maintainers extract 1-2 liners: ",[4503,4778,4779],{},"shebang-regex"," (2 lines, 133M weekly downloads), ",[4503,4782,4783],{},"to-array"," (1 line array wrapper, 32M), ",[4503,4786,4787],{},"slash"," (backslash fix, 96M), ",[4503,4790,4791],{},"cli-boxes"," (JSON box edges, 40M), ",[4503,4794,4795],{},"path-key"," (4KB Win path detect, 158M), ",[4503,4798,4799],{},"once"," (fn dedupe, 131M).",[22,4802,4803,4804,4807,4808,4811,4812,4815],{},"Cindy (chokidar maintainer) authored many; his pkgs hit 10B weekly downloads. ",[4503,4805,4806],{},"string-width"," justifies bulkier size for emoji\u002FANSI width calc. ",[4503,4809,4810],{},"is-docker","\u002F",[4503,4813,4814],{},"is-wsl"," check envs simply. CLI tools grab these for env paths, shebangs—easy, but AI\u002Fvibe coding accelerates misuse.",[22,4817,4818,4819,4821,4822,4825,4826,4828,4829,4811,4832,4835,4836,4729,4838,4729,4841,4843],{},"Reality: Most aren't reused. ",[4503,4820,4779],{}," only feeds ",[4503,4823,4824],{},"shebang-command"," (same author); ",[4503,4827,4791],{}," → ",[4503,4830,4831],{},"boxen",[4503,4833,4834],{},"ink",". Duplication plagues trees like Nuxt: dual ",[4503,4837,4810],{},[4503,4839,4840],{},"is-stream",[4503,4842,4795],{}," versions from semver conflicts. Acquisition costs (npm fetches, bandwidth) exceed inline code. Theory: compose high-level from blocks. Practice: single-use or duplicated micros.",[22,4845,4846],{},"\"We did this to ourselves.\" Theo laments; these equal inline code but inflate installs. High downloads mask waste—popularity from lazy compositing, not true reuse.",[17,4848,4850],{"id":4849},"reversing-bloat-prune-inline-and-target-niches","Reversing Bloat: Prune, Inline, and Target Niches",[22,4852,4853],{},"E18 community's cleanup (pruning redundant pkgs) spotlights deps bloat. Tools like npmx.dev visualize trees. Solutions: Inline micros; fork\u002Ftag legacy for Hero Devs; demand maintainers drop ES3. Theo praises James's unjs\u002Fnpmx\u002Fchokidar work—ecosystem heroes despite flaws.",[22,4855,4856],{},"Tradeoffs: Atomic aids small-team reuse (Cindy's CLIs), but scales poorly. Legacy bloats spellcheckers; realms suit test VMs, not apps. Modern stacks (evergreen browsers, recent Node) sidestep via bundlers tree-shaking unused code—yet dep resolution pulls transitive bloat.",[22,4858,4859],{},"Theo's fixes: Audit trees (npmx graphs); prefer modern natives\u002Fpolyfills; vibe-code inlines. Hero Devs should fork, not mainline ancient compat. Results: Smaller bundles, faster loads—web's core promise.",[22,4861,4862],{},"\"The tiny group of people who actually need the stuff should be the ones seeking out special packages for it instead it is reversed and we all pay the cost.\"",[22,4864,4865],{},[4866,4867,4868],"strong",{},"Key Takeaways",[4530,4870,4871,4877,4880,4883,4886,4893,4896,4899],{},[4533,4872,4873,4874,4876],{},"Graph deps with npmx.dev to spot bloat like ",[4503,4875,4724],{},"'s 10+ transitive pkgs.",[4533,4878,4879],{},"Drop legacy polyfills: Modern Node\u002Fbrowsers have ES5+ natives; inline if needed.",[4533,4881,4882],{},"Avoid atomic splits under 10 lines—inline unless proven multi-consumer.",[4533,4884,4885],{},"Fork\u002Ftag ancient compat (ES3\u002FNode 0.x) separately; don't mainline.",[4533,4887,4888,4889,4892],{},"Use primordials\u002Frealm-safe checks only for iframes\u002FVMs; ",[4503,4890,4891],{},"toString"," for cross-realm.",[4533,4894,4895],{},"Tree-shake aggressively, but fix resolution dupes (semver pinning).",[4533,4897,4898],{},"Audit downloads: 100M+\u002Fweek micros signal ecosystem waste—replace with natives.",[4533,4900,4901],{},"Credit maintainers like James\u002FCindy; contribute to cleanups like E18.",[22,4903,4904],{},"\"I don't know about you guys I've never had to deal with this myself i've never had to worry about what happens if I pass a value in out of an iframe and I can't do instance of calls on it that's very different from the world I live in personally.\"",[22,4906,4907],{},"\"These are separate packages that have no reason to be separate packages each of these having only one consumer means they are equivalent of inline code but cost us more to acquire because of npm requests tar extraction bandwidth etc.\"",[22,4909,4910],{},"\"Node rebinds all of the default globals in a custom name space early so that they can use them without your bullshit overriding them fascinating this also makes a ton of sense as an engine because it shouldn't break if somebody overrides some core bullshit good stuff as always the Node project is underappreciated.\"",{"title":40,"searchDepth":41,"depth":41,"links":4912},[4913,4914,4915],{"id":4717,"depth":41,"text":4718},{"id":4772,"depth":41,"text":4773},{"id":4849,"depth":41,"text":4850},[47],"The JavaScript bloat problem is very very real\n\nThank you Browserbase for sponsoring! Check them out at: https:\u002F\u002Fsoydev.link\u002Fbrowserbase\n\nAnd check out G2i plus React Miami & AI Engineer Miami: https:\u002F\u002Fwww.ai.engineer\u002Fmiami, make sure to use THEO50OFF\n\nSOURCES\nhttps:\u002F\u002F43081j.com\u002F2026\u002F03\u002Fthree-pillars-of-javascript-bloat\nhttps:\u002F\u002Fbsky.app\u002Fprofile\u002F43081j.com\nhttps:\u002F\u002Fopencollective.com\u002Fe18e\nhttps:\u002F\u002Fe18e.dev\u002F\n\nWant to sponsor a video? Learn more here: https:\u002F\u002Fsoydev.link\u002Fsponsor-me\n\nCheck out my Twitch, Twitter, Discord more at https:\u002F\u002Ft3.gg\n\nS\u002FO @Ph4seon3 for the awesome edit 🙏",{},"\u002Fsummaries\u002Fthree-pillars-of-javascript-dependency-bloat-summary","2026-03-29 19:57:01","2026-04-03 21:16:44",{"title":4707,"description":4917},{"loc":4919},"e227a039f605ad14","Theo - t3.gg","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=1t-k6-m50Fc","summaries\u002Fthree-pillars-of-javascript-dependency-bloat-summary",[74,75,4929],"dev-productivity","JS bundles swell from legacy polyfills, cross-realm safety, and atomic micro-packages that rarely reuse, forcing unnecessary downloads on modern apps.",[4929],"Ax-E9im8MbsMg_QXJfan_vAvsVvqcl5zOS0ou7MabnU",{"id":4934,"title":4935,"ai":4936,"body":4941,"categories":5057,"created_at":48,"date_modified":48,"description":40,"extension":49,"faq":48,"featured":50,"kicker_label":48,"meta":5058,"navigation":62,"path":5073,"published_at":48,"question":48,"scraped_at":5074,"seo":5075,"sitemap":5076,"source_id":5077,"source_name":5078,"source_type":70,"source_url":5079,"stem":5080,"tags":5081,"thumbnail_url":48,"tldr":5082,"tweet":48,"unknown_tags":5083,"__hash__":5084},"summaries\u002Fsummaries\u002Fafl-superior-fuzzer-fork-with-enhanced-speed-and-c-summary.md","AFL++: Superior Fuzzer Fork with Enhanced Speed and Coverage",{"provider":7,"model":8,"input_tokens":4937,"output_tokens":4938,"processing_time_ms":4939,"cost_usd":4940},11336,1831,10691,0.00267585,{"type":14,"value":4942,"toc":5052},[4943,4947,4950,4954,5009,5013],[17,4944,4946],{"id":4945},"key-enhancements-for-effective-fuzzing","Key Enhancements for Effective Fuzzing",[22,4948,4949],{},"AFL++ delivers superior performance over Google's AFL through targeted upgrades: collision-free coverage prevents bitmap overlaps for precise edge detection; enhanced LAF-Intel and RedQueen improve hardware feedback for complex control flow; AFLfast++ power schedules prioritize high-value test cases; MOpt mutators generate diverse inputs faster. Additional modes like QEMU (emulates binaries without source recompilation), Unicorn (fuzzes emulated binaries remotely), NYX (hardware-accelerated fuzzing), Frida (dynamic instrumentation), and Coresight (ARM tracing) expand targets beyond compilable source code. These yield more crashes and hangs by sustaining higher execs\u002Fsec—use afl-cc for instrumentation during compilation to trigger edge coverage.",[17,4951,4953],{"id":4952},"practical-fuzzing-workflow","Practical Fuzzing Workflow",[22,4955,4956,4957,4960,4961,4964,4965,4968,4969,4972,4973,4976,4977,4980,4981,4984,4985,4988,4989,4992,4993,4996,4997,5000,5001,5004,5005,5008],{},"Start with source-available targets: compile using ",[4503,4958,4959],{},"afl-cc"," or ",[4503,4962,4963],{},"afl-c++"," (e.g., ",[4503,4966,4967],{},"CC=\u002Fpath\u002Fto\u002Fafl-cc .\u002Fconfigure --disable-shared && make clean all",") to insert instrumentation. Provide seed inputs in ",[4503,4970,4971],{},"-i seeds_dir"," and run ",[4503,4974,4975],{},"afl-fuzz -i seeds_dir -o output_dir -- \u002Fpath\u002Fto\u002Fprogram @@"," (use ",[4503,4978,4979],{},"@@"," for file inputs or stdin piping). Boost efficiency with dictionaries (",[4503,4982,4983],{},"-x \u002Fpath\u002Fto\u002Fdict",") for protocols like HTTP\u002FSQL. Monitor UI for red flags like stalled execs\u002Fsec; crashes save to ",[4503,4986,4987],{},"output_dir\u002Fcrashes\u002F",", hangs to ",[4503,4990,4991],{},"hangs\u002F","—replay via ",[4503,4994,4995],{},"cat crashes\u002Fid:* | \u002Fprogram",". For binaries, switch to qemu_mode or unicorn_mode. Parallelize across cores with multiple ",[4503,4998,4999],{},"afl-fuzz"," instances sharing ",[4503,5002,5003],{},"-o synchtemp",". Read ",[4503,5006,5007],{},"docs\u002Ffuzzing_in_depth.md"," for risks like CPU spikes and optimal seed selection.",[17,5010,5012],{"id":5011},"setup-and-community-resources","Setup and Community Resources",[22,5014,5015,5016,5019,5020,5023,5024,5027,5028,5031,5032,5035,5036,5039,5040,5043,5044,5047,5048,5051],{},"Pull Docker ",[4503,5017,5018],{},"aflplusplus\u002Faflplusplus:stable"," (auto-updates on stable pushes; mount ",[4503,5021,5022],{},"\u002Fsrc"," for targets) or build from source per ",[4503,5025,5026],{},"docs\u002FINSTALL.md"," (supports GCC\u002FLLVM plugins). Branches: ",[4503,5029,5030],{},"stable"," (4.40c release), ",[4503,5033,5034],{},"dev"," (4.41a GitHub), ",[4503,5037,5038],{},"aflplusplus"," (LLVM-fast), specialized like ",[4503,5041,5042],{},"AFL_LLVM_CMPLOG=1"," for cmp-log. Cite WOOT'20 paper for academic use. Contribute via ",[4503,5045,5046],{},"CONTRIBUTING.md","; ideas in ",[4503,5049,5050],{},"docs\u002Fideas.md",". Tools like afl-plot visualize progress, afl-whatsup monitors clusters, afl-cmin minimizes corpora. Pair with cov-analysis for coverage reports. Maintained post-Zalewski by Fioraldi et al., with 100+ contributors.",{"title":40,"searchDepth":41,"depth":41,"links":5053},[5054,5055,5056],{"id":4945,"depth":41,"text":4946},{"id":4952,"depth":41,"text":4953},{"id":5011,"depth":41,"text":5012},[47],{"content_references":5059,"triage":5070},[5060,5066],{"type":5061,"title":5062,"author":5063,"publisher":5064,"url":5065,"context":4594},"paper","AFL++: Combining incremental steps of fuzzing research","Andrea Fioraldi, Dominik Maier, Heiko Eißfeldt, and Marc Heuse","USENIX Association","https:\u002F\u002Fwww.usenix.org\u002Fconference\u002Fwoot20\u002Fpresentation\u002Ffioraldi",{"type":54,"title":5067,"url":5068,"context":5069},"cov-analysis","https:\u002F\u002Fgithub.com\u002FAFLplusplus\u002Fcov-analysis","recommended",{"relevance":59,"novelty":4606,"quality":59,"actionability":59,"composite":5071,"reasoning":5072},3.8,"Category: AI Automation. The article discusses enhancements in AFL++, a fuzzer tool, which can be relevant for developers looking to integrate AI in testing and automation processes. It provides a practical workflow for using AFL++, addressing the audience's need for actionable content in building AI-powered products.","\u002Fsummaries\u002Fafl-superior-fuzzer-fork-with-enhanced-speed-and-c-summary","2026-04-16 03:00:31",{"title":4935,"description":40},{"loc":5073},"49c2d3e544dc530f","__oneoff__","https:\u002F\u002Fgithub.com\u002FAFLplusplus\u002FAFLplusplus","summaries\u002Fafl-superior-fuzzer-fork-with-enhanced-speed-and-c-summary",[74,75,4929],"AFL++ outperforms original AFL via community patches for faster mutations, collision-free coverage, QEMU 5.1, LAF-Intel, RedQueen, AFLfast++ schedules, MOpt mutators, and Unicorn mode for source-free binary fuzzing.",[4929],"TvEqsiuQZ_r1SMO8AdDweuGhYakdIqtqi3_gmpPz4Mw"]