[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-d8c2d8ed09905fe1-why-readable-code-can-be-a-production-liability-summary":3,"summaries-facets-categories":96,"summary-related-d8c2d8ed09905fe1-why-readable-code-can-be-a-production-liability-summary":4571},{"id":4,"title":5,"ai":6,"body":13,"categories":66,"created_at":68,"date_modified":68,"description":60,"extension":69,"faq":68,"featured":70,"kicker_label":68,"meta":71,"navigation":78,"path":79,"published_at":80,"question":68,"scraped_at":81,"seo":82,"sitemap":83,"source_id":84,"source_name":85,"source_type":86,"source_url":87,"stem":88,"tags":89,"thumbnail_url":68,"tldr":93,"tweet":68,"unknown_tags":94,"__hash__":95},"summaries\u002Fsummaries\u002Fd8c2d8ed09905fe1-why-readable-code-can-be-a-production-liability-summary.md","Why Readable Code Can Be a Production Liability",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","google\u002Fgemini-3.1-flash-lite",4002,528,3476,0.0017925,{"type":14,"value":15,"toc":59},"minimark",[16,21,25,29,32,36],[17,18,20],"h2",{"id":19},"the-trap-of-over-abstraction","The Trap of Over-Abstraction",[22,23,24],"p",{},"The author describes a situation where a 400-line monolithic function—responsible for order processing—was refactored into a clean, modular architecture. While the new code was highly readable, DRY (Don't Repeat Yourself), and passed code review, it introduced a critical flaw: it obscured the execution path. By abstracting away the logic into multiple layers and helper functions, the author made the code 'clean' but significantly harder to trace during a production outage. When an incident occurred, the team could not easily map the failure to a specific point in the business logic, leading to a swift, unanimous decision to revert the changes.",[17,26,28],{"id":27},"readable-vs-debuggable-code","Readable vs. Debuggable Code",[22,30,31],{},"The core lesson is that readability and debuggability are not identical. In a production environment, code must be 'debuggable'—meaning an engineer under stress, likely looking at logs at 11 PM, can quickly identify the state of the system and the cause of an error. The refactor prioritized aesthetic cleanliness over operational transparency. The author notes that while the original 400-line function was 'messy,' its linear, procedural nature allowed engineers to follow the execution flow from start to finish without jumping between files or navigating complex abstractions.",[17,33,35],{"id":34},"lessons-for-future-refactoring","Lessons for Future Refactoring",[37,38,39,47,53],"ul",{},[40,41,42,46],"li",{},[43,44,45],"strong",{},"Prioritize Traceability:"," Before abstracting complex logic, ensure that the new structure maintains a clear, linear path that is easy to follow in stack traces and logs.",[40,48,49,52],{},[43,50,51],{},"Respect the 'Messy' Reality:"," Sometimes, a long, procedural function is more resilient than a 'clean' architecture because it keeps the entire context of a transaction in one place.",[40,54,55,58],{},[43,56,57],{},"Consider the On-Call Experience:"," Code should be optimized for the person who has to fix it during an incident, not just for the person writing it during a quiet afternoon. If a refactor makes it harder to identify the 'where' and 'why' of a failure, it is a net negative for the team.",{"title":60,"searchDepth":61,"depth":61,"links":62},"",2,[63,64,65],{"id":19,"depth":61,"text":20},{"id":27,"depth":61,"text":28},{"id":34,"depth":61,"text":35},[67],"Software Engineering",null,"md",false,{"content_references":72,"triage":73},[],{"relevance":74,"novelty":75,"quality":74,"actionability":74,"composite":76,"reasoning":77},4,3,3.8,"Category: Software Engineering. The article discusses the balance between code readability and debuggability, addressing a specific pain point for developers who need to ensure their code is maintainable in production. It provides actionable lessons for refactoring that can directly impact how engineers approach code structure.",true,"\u002Fsummaries\u002Fd8c2d8ed09905fe1-why-readable-code-can-be-a-production-liability-summary","2026-06-04 22:03:25","2026-06-06 16:11:37",{"title":5,"description":60},{"loc":79},"d8c2d8ed09905fe1","Python in Plain English","article","https:\u002F\u002Fpython.plainenglish.io\u002Fthe-refactor-i-was-proud-of-that-my-team-had-to-revert-ee3079d63de9?source=rss----78073def27b8---4","summaries\u002Fd8c2d8ed09905fe1-why-readable-code-can-be-a-production-liability-summary",[90,91,92],"coding","software-engineering","refactoring","A clean, elegant refactor can fail in production if it obscures the execution flow, making it impossible for on-call engineers to debug incidents under pressure.",[91,92],"U52cmagarPXoJUROo73qO3tzui9JatI_-yJNtHbI1Xc",[97,100,103,106,109,112,114,116,118,120,122,124,127,129,131,133,135,137,139,141,143,145,147,149,151,153,156,159,161,163,165,167,169,171,173,175,178,180,182,184,186,188,190,192,194,196,198,200,203,205,207,209,211,213,215,217,219,221,223,225,227,229,231,233,235,237,239,241,243,245,247,249,251,253,255,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,313,315,317,319,321,323,325,327,329,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,389,391,393,395,397,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,439,441,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,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,563,565,567,569,571,573,575,577,579,581,583,585,587,589,591,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621,623,625,627,629,631,633,635,637,639,641,643,645,647,649,651,653,655,657,659,661,663,665,667,669,671,673,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,707,709,711,713,715,717,719,721,723,725,727,729,731,733,735,737,739,741,743,745,747,749,751,753,755,757,759,761,763,765,767,769,771,773,775,777,779,781,783,785,787,789,791,793,795,797,799,801,803,805,807,809,811,813,815,817,819,821,823,825,827,829,831,833,835,837,839,841,843,845,847,849,851,853,855,857,859,861,863,865,867,869,871,873,875,877,879,881,883,885,887,889,891,893,895,897,899,901,903,905,907,909,911,913,915,917,919,921,923,925,927,929,931,933,935,937,939,941,943,945,947,949,951,953,955,957,959,961,963,965,967,969,971,973,975,977,979,981,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041,1043,1045,1047,1049,1051,1053,1055,1057,1059,1061,1063,1065,1067,1069,1071,1073,1075,1077,1079,1081,1083,1085,1087,1089,1091,1093,1095,1097,1099,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379,1381,1383,1385,1387,1389,1391,1393,1395,1397,1399,1401,1403,1405,1407,1409,1411,1413,1415,1417,1419,1421,1423,1425,1427,1429,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449,1451,1453,1455,1457,1459,1461,1463,1465,1467,1469,1471,1473,1475,1477,1479,1481,1483,1485,1487,1489,1491,1493,1495,1497,1499,1501,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533,1535,1537,1539,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563,1565,1567,1569,1571,1573,1575,1577,1579,1581,1583,1585,1587,1589,1591,1593,1595,1597,1599,1601,1603,1605,1607,1609,1611,1613,1615,1617,1619,1621,1623,1625,1627,1629,1631,1633,1635,1637,1639,1641,1643,1645,1647,1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683,1685,1687,1689,1691,1693,1695,1697,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717,1719,1721,1723,1725,1727,1729,1731,1733,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763,1765,1767,1769,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793,1795,1797,1799,1801,1803,1805,1807,1809,1811,1813,1815,1817,1819,1821,1823,1825,1827,1829,1831,1833,1835,1837,1839,1841,1843,1845,1847,1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875,1877,1879,1881,1883,1885,1887,1889,1891,1893,1895,1897,1899,1901,1903,1905,1907,1909,1911,1913,1915,1917,1919,1921,1923,1925,1927,1929,1931,1933,1935,1937,1939,1941,1943,1945,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999,2001,2003,2005,2007,2009,2011,2013,2015,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041,2043,2045,2047,2049,2051,2053,2055,2057,2059,2061,2063,2065,2067,2069,2071,2073,2075,2077,2079,2081,2083,2085,2087,2089,2091,2093,2095,2097,2099,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143,2145,2147,2149,2151,2153,2155,2157,2159,2161,2163,2165,2167,2169,2171,2173,2175,2177,2179,2181,2183,2185,2187,2189,2191,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225,2227,2229,2231,2233,2235,2237,2239,2241,2243,2245,2247,2249,2251,2253,2255,2257,2259,2261,2263,2265,2267,2269,2271,2273,2275,2277,2279,2281,2283,2285,2287,2289,2291,2293,2295,2297,2299,2301,2303,2305,2307,2309,2311,2313,2315,2317,2319,2321,2323,2325,2327,2329,2331,2333,2335,2337,2339,2341,2343,2345,2347,2349,2351,2353,2355,2357,2359,2361,2363,2365,2367,2369,2371,2373,2375,2377,2379,2381,2383,2385,2387,2389,2391,2393,2395,2397,2399,2401,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421,2423,2425,2427,2429,2431,2433,2435,2437,2439,2441,2443,2445,2447,2449,2451,2453,2455,2457,2459,2461,2463,2465,2467,2469,2471,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493,2495,2497,2499,2501,2503,2505,2507,2509,2511,2513,2515,2517,2519,2521,2523,2525,2527,2529,2531,2533,2535,2537,2539,2541,2543,2545,2547,2549,2551,2553,2555,2557,2559,2561,2563,2565,2567,2569,2571,2573,2575,2577,2579,2581,2583,2585,2587,2589,2591,2593,2595,2597,2599,2601,2603,2605,2607,2609,2611,2613,2615,2617,2619,2621,2623,2625,2627,2629,2631,2633,2635,2637,2639,2641,2643,2645,2647,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669,2671,2673,2675,2677,2679,2681,2683,2685,2687,2689,2691,2693,2695,2697,2699,2701,2703,2705,2707,2709,2711,2713,2715,2717,2719,2721,2723,2725,2727,2729,2731,2733,2735,2737,2739,2741,2743,2745,2747,2749,2751,2753,2755,2757,2759,2761,2763,2765,2767,2769,2771,2773,2775,2777,2779,2781,2783,2785,2787,2789,2791,2793,2795,2797,2799,2801,2803,2805,2807,2809,2811,2813,2815,2817,2819,2821,2823,2825,2827,2829,2831,2833,2835,2837,2839,2841,2843,2845,2847,2849,2851,2853,2855,2857,2859,2861,2863,2865,2867,2869,2871,2873,2875,2877,2879,2881,2883,2885,2887,2889,2891,2893,2895,2897,2899,2901,2903,2905,2907,2909,2911,2913,2915,2917,2919,2921,2923,2925,2927,2929,2931,2933,2935,2937,2939,2941,2943,2945,2947,2949,2951,2953,2955,2957,2959,2961,2963,2965,2967,2969,2971,2973,2975,2977,2979,2981,2983,2985,2987,2989,2991,2993,2995,2997,2999,3001,3003,3005,3007,3009,3011,3013,3015,3017,3019,3021,3023,3025,3027,3029,3031,3033,3035,3037,3039,3041,3043,3045,3047,3049,3051,3053,3055,3057,3059,3061,3063,3065,3067,3069,3071,3073,3075,3077,3079,3081,3083,3085,3087,3089,3091,3093,3095,3097,3099,3101,3103,3105,3107,3109,3111,3113,3115,3117,3119,3121,3123,3125,3127,3129,3131,3133,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155,3157,3159,3161,3163,3165,3167,3169,3171,3173,3175,3177,3179,3181,3183,3185,3187,3189,3191,3193,3195,3197,3199,3201,3203,3205,3207,3209,3211,3213,3215,3217,3219,3221,3223,3225,3227,3229,3231,3233,3235,3237,3239,3241,3243,3245,3247,3249,3251,3253,3255,3257,3259,3261,3263,3265,3267,3269,3271,3273,3275,3277,3279,3281,3283,3285,3287,3289,3291,3293,3295,3297,3299,3301,3303,3305,3307,3309,3311,3313,3315,3317,3319,3321,3323,3325,3327,3329,3331,3333,3335,3337,3339,3341,3343,3345,3347,3349,3351,3353,3355,3357,3359,3361,3363,3365,3367,3369,3371,3373,3375,3377,3379,3381,3383,3385,3387,3389,3391,3393,3395,3397,3399,3401,3403,3405,3407,3409,3411,3413,3415,3417,3419,3421,3423,3425,3427,3429,3431,3433,3435,3437,3439,3441,3443,3445,3447,3449,3451,3453,3455,3457,3459,3461,3463,3465,3467,3469,3471,3473,3475,3477,3479,3481,3483,3485,3487,3489,3491,3493,3495,3497,3499,3501,3503,3505,3507,3509,3511,3513,3515,3517,3519,3521,3523,3525,3527,3529,3531,3533,3535,3537,3539,3541,3543,3545,3547,3549,3551,3553,3555,3557,3559,3561,3563,3565,3567,3569,3571,3573,3575,3577,3579,3581,3583,3585,3587,3589,3591,3593,3595,3597,3599,3601,3603,3605,3607,3609,3611,3613,3615,3617,3619,3621,3623,3625,3627,3629,3631,3633,3635,3637,3639,3641,3643,3645,3647,3649,3651,3653,3655,3657,3659,3661,3663,3665,3667,3669,3671,3673,3675,3677,3679,3681,3683,3685,3687,3689,3691,3693,3695,3697,3699,3701,3703,3705,3707,3709,3711,3713,3715,3717,3719,3721,3723,3725,3727,3729,3731,3733,3735,3737,3739,3741,3743,3745,3747,3749,3751,3753,3755,3757,3759,3761,3763,3765,3767,3769,3771,3773,3775,3777,3779,3781,3783,3785,3787,3789,3791,3793,3795,3797,3799,3801,3803,3805,3807,3809,3811,3813,3815,3817,3819,3821,3823,3825,3827,3829,3831,3833,3835,3837,3839,3841,3843,3845,3847,3849,3851,3853,3855,3857,3859,3861,3863,3865,3867,3869,3871,3873,3875,3877,3879,3881,3883,3885,3887,3889,3891,3893,3895,3897,3899,3901,3903,3905,3907,3909,3911,3913,3915,3917,3919,3921,3923,3925,3927,3929,3931,3933,3935,3937,3939,3941,3943,3945,3947,3949,3951,3953,3955,3957,3959,3961,3963,3965,3967,3969,3971,3973,3975,3977,3979,3981,3983,3985,3987,3989,3991,3993,3995,3997,3999,4001,4003,4005,4007,4009,4011,4013,4015,4017,4019,4021,4023,4025,4027,4029,4031,4033,4035,4037,4039,4041,4043,4045,4047,4049,4051,4053,4055,4057,4059,4061,4063,4065,4067,4069,4071,4073,4075,4077,4079,4081,4083,4085,4087,4089,4091,4093,4095,4097,4099,4101,4103,4105,4107,4109,4111,4113,4115,4117,4119,4121,4123,4125,4127,4129,4131,4133,4135,4137,4139,4141,4143,4145,4147,4149,4151,4153,4155,4157,4159,4161,4163,4165,4167,4169,4171,4173,4175,4177,4179,4181,4183,4185,4187,4189,4191,4193,4195,4197,4199,4201,4203,4205,4207,4209,4211,4213,4215,4217,4219,4221,4223,4225,4227,4229,4231,4233,4235,4237,4239,4241,4243,4245,4247,4249,4251,4253,4255,4257,4259,4261,4263,4265,4267,4269,4271,4273,4275,4277,4279,4281,4283,4285,4287,4289,4291,4293,4295,4297,4299,4301,4303,4305,4307,4309,4311,4313,4315,4317,4319,4321,4323,4325,4327,4329,4331,4333,4335,4337,4339,4341,4343,4345,4347,4349,4351,4353,4355,4357,4359,4361,4363,4365,4367,4369,4371,4373,4375,4377,4379,4381,4383,4385,4387,4389,4391,4393,4395,4397,4399,4401,4403,4405,4407,4409,4411,4413,4415,4417,4419,4421,4423,4425,4427,4429,4431,4433,4435,4437,4439,4441,4443,4445,4447,4449,4451,4453,4455,4457,4459,4461,4463,4465,4467,4469,4471,4473,4475,4477,4479,4481,4483,4485,4487,4489,4491,4493,4495,4497,4499,4501,4503,4505,4507,4509,4511,4513,4515,4517,4519,4521,4523,4525,4527,4529,4531,4533,4535,4537,4539,4541,4543,4545,4547,4549,4551,4553,4555,4557,4559,4561,4563,4565,4567,4569],{"categories":98},[99],"Developer Productivity",{"categories":101},[102],"Business & SaaS",{"categories":104},[105],"AI & LLMs",{"categories":107},[108],"AI Automation",{"categories":110},[111],"Product Strategy",{"categories":113},[105],{"categories":115},[99],{"categories":117},[102],{"categories":119},[],{"categories":121},[105],{"categories":123},[],{"categories":125},[126],"AI News & Trends",{"categories":128},[108],{"categories":130},[108],{"categories":132},[126],{"categories":134},[108],{"categories":136},[108],{"categories":138},[108],{"categories":140},[105],{"categories":142},[105],{"categories":144},[105],{"categories":146},[126],{"categories":148},[105],{"categories":150},[105],{"categories":152},[],{"categories":154},[155],"Design & Frontend",{"categories":157},[158],"Data Science & Visualization",{"categories":160},[126],{"categories":162},[105],{"categories":164},[],{"categories":166},[105],{"categories":168},[67],{"categories":170},[105],{"categories":172},[108],{"categories":174},[105],{"categories":176},[177],"Marketing & Growth",{"categories":179},[155],{"categories":181},[105],{"categories":183},[108],{"categories":185},[],{"categories":187},[],{"categories":189},[155],{"categories":191},[108],{"categories":193},[99],{"categories":195},[67],{"categories":197},[155],{"categories":199},[105],{"categories":201},[202],"DevOps & Cloud",{"categories":204},[108],{"categories":206},[126],{"categories":208},[105],{"categories":210},[],{"categories":212},[],{"categories":214},[108],{"categories":216},[67],{"categories":218},[],{"categories":220},[102],{"categories":222},[],{"categories":224},[],{"categories":226},[105],{"categories":228},[108],{"categories":230},[105],{"categories":232},[105],{"categories":234},[108],{"categories":236},[105],{"categories":238},[105],{"categories":240},[105],{"categories":242},[],{"categories":244},[67],{"categories":246},[],{"categories":248},[],{"categories":250},[67],{"categories":252},[],{"categories":254},[67],{"categories":256},[105],{"categories":258},[105],{"categories":260},[177],{"categories":262},[155],{"categories":264},[155],{"categories":266},[105],{"categories":268},[67],{"categories":270},[108],{"categories":272},[67],{"categories":274},[105],{"categories":276},[105],{"categories":278},[108],{"categories":280},[108],{"categories":282},[158],{"categories":284},[126],{"categories":286},[108],{"categories":288},[108],{"categories":290},[177],{"categories":292},[108],{"categories":294},[111],{"categories":296},[67],{"categories":298},[],{"categories":300},[108],{"categories":302},[],{"categories":304},[108],{"categories":306},[67],{"categories":308},[202],{"categories":310},[155],{"categories":312},[105],{"categories":314},[],{"categories":316},[67],{"categories":318},[105],{"categories":320},[],{"categories":322},[108],{"categories":324},[],{"categories":326},[105],{"categories":328},[],{"categories":330},[99],{"categories":332},[67],{"categories":334},[102],{"categories":336},[105],{"categories":338},[105],{"categories":340},[126],{"categories":342},[105],{"categories":344},[],{"categories":346},[105],{"categories":348},[],{"categories":350},[67],{"categories":352},[158],{"categories":354},[],{"categories":356},[105],{"categories":358},[155],{"categories":360},[],{"categories":362},[155],{"categories":364},[108],{"categories":366},[],{"categories":368},[105],{"categories":370},[105],{"categories":372},[108],{"categories":374},[126],{"categories":376},[102],{"categories":378},[105],{"categories":380},[],{"categories":382},[67],{"categories":384},[108],{"categories":386},[105],{"categories":388},[111],{"categories":390},[],{"categories":392},[105],{"categories":394},[111],{"categories":396},[108],{"categories":398},[105],{"categories":400},[108],{"categories":402},[],{"categories":404},[158],{"categories":406},[105],{"categories":408},[],{"categories":410},[99],{"categories":412},[105],{"categories":414},[102],{"categories":416},[105],{"categories":418},[108],{"categories":420},[105],{"categories":422},[67],{"categories":424},[105],{"categories":426},[],{"categories":428},[],{"categories":430},[105],{"categories":432},[105],{"categories":434},[],{"categories":436},[155],{"categories":438},[],{"categories":440},[105],{"categories":442},[],{"categories":444},[108],{"categories":446},[105],{"categories":448},[155],{"categories":450},[],{"categories":452},[105],{"categories":454},[105],{"categories":456},[102],{"categories":458},[108],{"categories":460},[105],{"categories":462},[105],{"categories":464},[155],{"categories":466},[108],{"categories":468},[],{"categories":470},[108],{"categories":472},[],{"categories":474},[126],{"categories":476},[],{"categories":478},[105],{"categories":480},[102,177],{"categories":482},[],{"categories":484},[105],{"categories":486},[108],{"categories":488},[],{"categories":490},[],{"categories":492},[155],{"categories":494},[105],{"categories":496},[],{"categories":498},[105],{"categories":500},[202],{"categories":502},[],{"categories":504},[126],{"categories":506},[155],{"categories":508},[],{"categories":510},[126],{"categories":512},[105],{"categories":514},[108],{"categories":516},[126],{"categories":518},[105],{"categories":520},[177],{"categories":522},[],{"categories":524},[102],{"categories":526},[67],{"categories":528},[105],{"categories":530},[108],{"categories":532},[],{"categories":534},[105,202],{"categories":536},[105],{"categories":538},[105],{"categories":540},[105],{"categories":542},[108],{"categories":544},[105,67],{"categories":546},[158],{"categories":548},[105],{"categories":550},[67],{"categories":552},[177],{"categories":554},[108],{"categories":556},[105],{"categories":558},[108],{"categories":560},[],{"categories":562},[108],{"categories":564},[105],{"categories":566},[105,102],{"categories":568},[102],{"categories":570},[],{"categories":572},[155],{"categories":574},[155],{"categories":576},[],{"categories":578},[],{"categories":580},[126],{"categories":582},[],{"categories":584},[99],{"categories":586},[105],{"categories":588},[67],{"categories":590},[105],{"categories":592},[155],{"categories":594},[108],{"categories":596},[67],{"categories":598},[126],{"categories":600},[155],{"categories":602},[],{"categories":604},[105],{"categories":606},[105],{"categories":608},[105],{"categories":610},[105],{"categories":612},[105],{"categories":614},[105],{"categories":616},[126],{"categories":618},[99],{"categories":620},[105],{"categories":622},[108],{"categories":624},[202],{"categories":626},[155],{"categories":628},[105],{"categories":630},[108],{"categories":632},[],{"categories":634},[],{"categories":636},[155],{"categories":638},[126],{"categories":640},[158],{"categories":642},[],{"categories":644},[105],{"categories":646},[105],{"categories":648},[102],{"categories":650},[105],{"categories":652},[105],{"categories":654},[105],{"categories":656},[126],{"categories":658},[155],{"categories":660},[],{"categories":662},[108],{"categories":664},[67],{"categories":666},[],{"categories":668},[105],{"categories":670},[105],{"categories":672},[108],{"categories":674},[67],{"categories":676},[105],{"categories":678},[],{"categories":680},[],{"categories":682},[105],{"categories":684},[],{"categories":686},[111],{"categories":688},[102],{"categories":690},[108],{"categories":692},[108],{"categories":694},[],{"categories":696},[99],{"categories":698},[105],{"categories":700},[102],{"categories":702},[126],{"categories":704},[99],{"categories":706},[],{"categories":708},[105],{"categories":710},[],{"categories":712},[],{"categories":714},[126],{"categories":716},[126],{"categories":718},[],{"categories":720},[155],{"categories":722},[67],{"categories":724},[],{"categories":726},[102],{"categories":728},[],{"categories":730},[],{"categories":732},[99],{"categories":734},[],{"categories":736},[177],{"categories":738},[108],{"categories":740},[102],{"categories":742},[108],{"categories":744},[67],{"categories":746},[],{"categories":748},[111],{"categories":750},[155],{"categories":752},[67],{"categories":754},[105],{"categories":756},[108],{"categories":758},[102],{"categories":760},[105],{"categories":762},[],{"categories":764},[],{"categories":766},[67],{"categories":768},[158],{"categories":770},[111],{"categories":772},[108],{"categories":774},[105],{"categories":776},[],{"categories":778},[202],{"categories":780},[],{"categories":782},[108],{"categories":784},[],{"categories":786},[99],{"categories":788},[],{"categories":790},[105],{"categories":792},[105],{"categories":794},[155],{"categories":796},[177],{"categories":798},[67],{"categories":800},[108],{"categories":802},[],{"categories":804},[67],{"categories":806},[99],{"categories":808},[],{"categories":810},[126],{"categories":812},[105,202],{"categories":814},[105],{"categories":816},[126],{"categories":818},[105],{"categories":820},[105],{"categories":822},[102],{"categories":824},[105],{"categories":826},[],{"categories":828},[105],{"categories":830},[102],{"categories":832},[105],{"categories":834},[],{"categories":836},[108],{"categories":838},[67],{"categories":840},[155],{"categories":842},[126],{"categories":844},[158],{"categories":846},[105],{"categories":848},[99],{"categories":850},[105],{"categories":852},[108],{"categories":854},[67],{"categories":856},[],{"categories":858},[],{"categories":860},[108],{"categories":862},[111],{"categories":864},[],{"categories":866},[105],{"categories":868},[],{"categories":870},[155],{"categories":872},[108],{"categories":874},[67],{"categories":876},[155],{"categories":878},[105],{"categories":880},[155],{"categories":882},[],{"categories":884},[],{"categories":886},[126],{"categories":888},[108],{"categories":890},[108],{"categories":892},[105],{"categories":894},[105],{"categories":896},[105],{"categories":898},[102],{"categories":900},[105],{"categories":902},[],{"categories":904},[67],{"categories":906},[67],{"categories":908},[102],{"categories":910},[],{"categories":912},[105],{"categories":914},[105],{"categories":916},[108],{"categories":918},[99],{"categories":920},[102],{"categories":922},[126],{"categories":924},[108],{"categories":926},[177],{"categories":928},[105],{"categories":930},[108],{"categories":932},[],{"categories":934},[155],{"categories":936},[],{"categories":938},[105],{"categories":940},[105],{"categories":942},[],{"categories":944},[102],{"categories":946},[108],{"categories":948},[],{"categories":950},[105],{"categories":952},[202],{"categories":954},[158],{"categories":956},[67],{"categories":958},[177],{"categories":960},[105],{"categories":962},[155],{"categories":964},[105],{"categories":966},[67],{"categories":968},[108],{"categories":970},[],{"categories":972},[],{"categories":974},[108],{"categories":976},[99],{"categories":978},[108],{"categories":980},[111],{"categories":982},[102],{"categories":984},[],{"categories":986},[105],{"categories":988},[111],{"categories":990},[105],{"categories":992},[105],{"categories":994},[105],{"categories":996},[105],{"categories":998},[177],{"categories":1000},[105],{"categories":1002},[105],{"categories":1004},[105],{"categories":1006},[155],{"categories":1008},[108],{"categories":1010},[],{"categories":1012},[],{"categories":1014},[202],{"categories":1016},[67],{"categories":1018},[],{"categories":1020},[108],{"categories":1022},[105],{"categories":1024},[155,105],{"categories":1026},[99],{"categories":1028},[],{"categories":1030},[105],{"categories":1032},[99],{"categories":1034},[155],{"categories":1036},[108],{"categories":1038},[67],{"categories":1040},[],{"categories":1042},[105],{"categories":1044},[],{"categories":1046},[],{"categories":1048},[105],{"categories":1050},[99],{"categories":1052},[105],{"categories":1054},[],{"categories":1056},[108],{"categories":1058},[111],{"categories":1060},[105],{"categories":1062},[105],{"categories":1064},[105],{"categories":1066},[155],{"categories":1068},[108],{"categories":1070},[202],{"categories":1072},[155],{"categories":1074},[102],{"categories":1076},[108],{"categories":1078},[105],{"categories":1080},[105],{"categories":1082},[105],{"categories":1084},[108],{"categories":1086},[67],{"categories":1088},[105],{"categories":1090},[111],{"categories":1092},[],{"categories":1094},[126],{"categories":1096},[],{"categories":1098},[111],{"categories":1100},[108],{"categories":1102},[155],{"categories":1104},[105],{"categories":1106},[105],{"categories":1108},[108],{"categories":1110},[67],{"categories":1112},[155],{"categories":1114},[108],{"categories":1116},[126],{"categories":1118},[],{"categories":1120},[105],{"categories":1122},[],{"categories":1124},[105],{"categories":1126},[155],{"categories":1128},[105],{"categories":1130},[99],{"categories":1132},[126],{"categories":1134},[105],{"categories":1136},[177],{"categories":1138},[105],{"categories":1140},[105],{"categories":1142},[108],{"categories":1144},[108],{"categories":1146},[105],{"categories":1148},[108],{"categories":1150},[108],{"categories":1152},[105],{"categories":1154},[105],{"categories":1156},[108],{"categories":1158},[155],{"categories":1160},[105],{"categories":1162},[105],{"categories":1164},[],{"categories":1166},[],{"categories":1168},[67],{"categories":1170},[],{"categories":1172},[99],{"categories":1174},[202],{"categories":1176},[105],{"categories":1178},[],{"categories":1180},[99],{"categories":1182},[102],{"categories":1184},[105],{"categories":1186},[177],{"categories":1188},[],{"categories":1190},[102],{"categories":1192},[],{"categories":1194},[105],{"categories":1196},[67],{"categories":1198},[],{"categories":1200},[],{"categories":1202},[],{"categories":1204},[],{"categories":1206},[105],{"categories":1208},[108],{"categories":1210},[202],{"categories":1212},[99],{"categories":1214},[67],{"categories":1216},[105],{"categories":1218},[105],{"categories":1220},[67],{"categories":1222},[111],{"categories":1224},[105],{"categories":1226},[177],{"categories":1228},[102],{"categories":1230},[105],{"categories":1232},[105],{"categories":1234},[105],{"categories":1236},[105,99],{"categories":1238},[67],{"categories":1240},[67],{"categories":1242},[155],{"categories":1244},[108],{"categories":1246},[105],{"categories":1248},[105],{"categories":1250},[],{"categories":1252},[],{"categories":1254},[105],{"categories":1256},[],{"categories":1258},[67],{"categories":1260},[158],{"categories":1262},[126],{"categories":1264},[155],{"categories":1266},[105],{"categories":1268},[67],{"categories":1270},[],{"categories":1272},[105],{"categories":1274},[105],{"categories":1276},[],{"categories":1278},[108],{"categories":1280},[105],{"categories":1282},[105],{"categories":1284},[],{"categories":1286},[108],{"categories":1288},[105],{"categories":1290},[102],{"categories":1292},[],{"categories":1294},[99],{"categories":1296},[105],{"categories":1298},[99],{"categories":1300},[105],{"categories":1302},[67],{"categories":1304},[177],{"categories":1306},[108],{"categories":1308},[108],{"categories":1310},[105,155],{"categories":1312},[126],{"categories":1314},[105],{"categories":1316},[155],{"categories":1318},[],{"categories":1320},[67],{"categories":1322},[202],{"categories":1324},[155],{"categories":1326},[67],{"categories":1328},[105],{"categories":1330},[105],{"categories":1332},[108],{"categories":1334},[],{"categories":1336},[],{"categories":1338},[],{"categories":1340},[],{"categories":1342},[67],{"categories":1344},[108],{"categories":1346},[108],{"categories":1348},[202],{"categories":1350},[105],{"categories":1352},[105],{"categories":1354},[108],{"categories":1356},[105],{"categories":1358},[105],{"categories":1360},[],{"categories":1362},[155],{"categories":1364},[67],{"categories":1366},[],{"categories":1368},[],{"categories":1370},[108],{"categories":1372},[],{"categories":1374},[],{"categories":1376},[177],{"categories":1378},[177],{"categories":1380},[108],{"categories":1382},[67],{"categories":1384},[],{"categories":1386},[105],{"categories":1388},[105],{"categories":1390},[67],{"categories":1392},[155],{"categories":1394},[155],{"categories":1396},[108],{"categories":1398},[99],{"categories":1400},[105],{"categories":1402},[105],{"categories":1404},[155],{"categories":1406},[155],{"categories":1408},[108],{"categories":1410},[108],{"categories":1412},[105],{"categories":1414},[],{"categories":1416},[105],{"categories":1418},[],{"categories":1420},[105],{"categories":1422},[108],{"categories":1424},[126],{"categories":1426},[67],{"categories":1428},[105],{"categories":1430},[99],{"categories":1432},[105],{"categories":1434},[],{"categories":1436},[108],{"categories":1438},[108],{"categories":1440},[],{"categories":1442},[105],{"categories":1444},[99],{"categories":1446},[105],{"categories":1448},[99],{"categories":1450},[99],{"categories":1452},[],{"categories":1454},[67],{"categories":1456},[],{"categories":1458},[108],{"categories":1460},[126],{"categories":1462},[105],{"categories":1464},[108],{"categories":1466},[105],{"categories":1468},[108],{"categories":1470},[105],{"categories":1472},[126],{"categories":1474},[158],{"categories":1476},[105],{"categories":1478},[111],{"categories":1480},[126],{"categories":1482},[155],{"categories":1484},[],{"categories":1486},[],{"categories":1488},[126],{"categories":1490},[],{"categories":1492},[],{"categories":1494},[],{"categories":1496},[],{"categories":1498},[67],{"categories":1500},[67],{"categories":1502},[158],{"categories":1504},[],{"categories":1506},[105],{"categories":1508},[105],{"categories":1510},[158],{"categories":1512},[67],{"categories":1514},[],{"categories":1516},[],{"categories":1518},[108],{"categories":1520},[108],{"categories":1522},[67],{"categories":1524},[108],{"categories":1526},[126],{"categories":1528},[126],{"categories":1530},[108],{"categories":1532},[108],{"categories":1534},[99],{"categories":1536},[105,202],{"categories":1538},[],{"categories":1540},[155],{"categories":1542},[67],{"categories":1544},[99],{"categories":1546},[108],{"categories":1548},[155],{"categories":1550},[],{"categories":1552},[108],{"categories":1554},[108],{"categories":1556},[105],{"categories":1558},[177],{"categories":1560},[67],{"categories":1562},[155],{"categories":1564},[105],{"categories":1566},[],{"categories":1568},[108],{"categories":1570},[155],{"categories":1572},[105],{"categories":1574},[108],{"categories":1576},[108],{"categories":1578},[108],{"categories":1580},[177],{"categories":1582},[158],{"categories":1584},[105],{"categories":1586},[108],{"categories":1588},[105],{"categories":1590},[],{"categories":1592},[177],{"categories":1594},[126],{"categories":1596},[67],{"categories":1598},[105],{"categories":1600},[108],{"categories":1602},[],{"categories":1604},[],{"categories":1606},[105],{"categories":1608},[108],{"categories":1610},[105],{"categories":1612},[126],{"categories":1614},[105],{"categories":1616},[108],{"categories":1618},[108],{"categories":1620},[],{"categories":1622},[105],{"categories":1624},[],{"categories":1626},[],{"categories":1628},[105],{"categories":1630},[108],{"categories":1632},[],{"categories":1634},[],{"categories":1636},[158],{"categories":1638},[105],{"categories":1640},[158],{"categories":1642},[126],{"categories":1644},[105],{"categories":1646},[105],{"categories":1648},[108],{"categories":1650},[105],{"categories":1652},[108],{"categories":1654},[],{"categories":1656},[],{"categories":1658},[202],{"categories":1660},[105],{"categories":1662},[],{"categories":1664},[],{"categories":1666},[99],{"categories":1668},[],{"categories":1670},[],{"categories":1672},[105],{"categories":1674},[],{"categories":1676},[],{"categories":1678},[67],{"categories":1680},[126],{"categories":1682},[177],{"categories":1684},[102],{"categories":1686},[105],{"categories":1688},[105],{"categories":1690},[102],{"categories":1692},[],{"categories":1694},[155],{"categories":1696},[108],{"categories":1698},[102],{"categories":1700},[105],{"categories":1702},[105],{"categories":1704},[99],{"categories":1706},[105],{"categories":1708},[],{"categories":1710},[99],{"categories":1712},[105],{"categories":1714},[177],{"categories":1716},[108],{"categories":1718},[126],{"categories":1720},[105],{"categories":1722},[102],{"categories":1724},[105],{"categories":1726},[105],{"categories":1728},[108],{"categories":1730},[],{"categories":1732},[105],{"categories":1734},[99],{"categories":1736},[105],{"categories":1738},[105],{"categories":1740},[],{"categories":1742},[126],{"categories":1744},[105],{"categories":1746},[105],{"categories":1748},[],{"categories":1750},[102],{"categories":1752},[102],{"categories":1754},[111],{"categories":1756},[105],{"categories":1758},[105],{"categories":1760},[],{"categories":1762},[67],{"categories":1764},[],{"categories":1766},[],{"categories":1768},[105],{"categories":1770},[126],{"categories":1772},[],{"categories":1774},[202],{"categories":1776},[105],{"categories":1778},[105],{"categories":1780},[],{"categories":1782},[105],{"categories":1784},[67],{"categories":1786},[105],{"categories":1788},[105],{"categories":1790},[105,202],{"categories":1792},[105],{"categories":1794},[105],{"categories":1796},[155],{"categories":1798},[108],{"categories":1800},[],{"categories":1802},[108],{"categories":1804},[108],{"categories":1806},[105],{"categories":1808},[105],{"categories":1810},[105],{"categories":1812},[105],{"categories":1814},[99],{"categories":1816},[158],{"categories":1818},[99],{"categories":1820},[67],{"categories":1822},[155],{"categories":1824},[108],{"categories":1826},[],{"categories":1828},[105],{"categories":1830},[126],{"categories":1832},[105],{"categories":1834},[108],{"categories":1836},[105],{"categories":1838},[105],{"categories":1840},[102],{"categories":1842},[],{"categories":1844},[202],{"categories":1846},[155],{"categories":1848},[155],{"categories":1850},[67],{"categories":1852},[108],{"categories":1854},[105],{"categories":1856},[102],{"categories":1858},[126],{"categories":1860},[155],{"categories":1862},[108],{"categories":1864},[105],{"categories":1866},[],{"categories":1868},[105],{"categories":1870},[105],{"categories":1872},[],{"categories":1874},[],{"categories":1876},[105],{"categories":1878},[105],{"categories":1880},[105],{"categories":1882},[105],{"categories":1884},[108],{"categories":1886},[105],{"categories":1888},[105],{"categories":1890},[],{"categories":1892},[158],{"categories":1894},[105],{"categories":1896},[108],{"categories":1898},[],{"categories":1900},[],{"categories":1902},[105],{"categories":1904},[105],{"categories":1906},[105],{"categories":1908},[126],{"categories":1910},[],{"categories":1912},[155],{"categories":1914},[105],{"categories":1916},[202],{"categories":1918},[126],{"categories":1920},[67],{"categories":1922},[67],{"categories":1924},[126],{"categories":1926},[126],{"categories":1928},[202],{"categories":1930},[],{"categories":1932},[126],{"categories":1934},[105],{"categories":1936},[99],{"categories":1938},[105],{"categories":1940},[126],{"categories":1942},[],{"categories":1944},[105],{"categories":1946},[67],{"categories":1948},[158],{"categories":1950},[105],{"categories":1952},[126],{"categories":1954},[67],{"categories":1956},[108],{"categories":1958},[126],{"categories":1960},[202],{"categories":1962},[108],{"categories":1964},[105],{"categories":1966},[105],{"categories":1968},[105],{"categories":1970},[],{"categories":1972},[102],{"categories":1974},[],{"categories":1976},[],{"categories":1978},[105],{"categories":1980},[105],{"categories":1982},[105],{"categories":1984},[105],{"categories":1986},[],{"categories":1988},[158],{"categories":1990},[99],{"categories":1992},[108],{"categories":1994},[155],{"categories":1996},[],{"categories":1998},[105],{"categories":2000},[67],{"categories":2002},[105],{"categories":2004},[202],{"categories":2006},[202],{"categories":2008},[],{"categories":2010},[108],{"categories":2012},[126],{"categories":2014},[126],{"categories":2016},[105],{"categories":2018},[108],{"categories":2020},[],{"categories":2022},[155],{"categories":2024},[105],{"categories":2026},[105],{"categories":2028},[],{"categories":2030},[105],{"categories":2032},[],{"categories":2034},[105],{"categories":2036},[67],{"categories":2038},[202],{"categories":2040},[105],{"categories":2042},[67],{"categories":2044},[102],{"categories":2046},[105],{"categories":2048},[],{"categories":2050},[108],{"categories":2052},[99],{"categories":2054},[99],{"categories":2056},[],{"categories":2058},[105],{"categories":2060},[105],{"categories":2062},[67],{"categories":2064},[155],{"categories":2066},[105],{"categories":2068},[108],{"categories":2070},[],{"categories":2072},[105],{"categories":2074},[105],{"categories":2076},[108],{"categories":2078},[],{"categories":2080},[108],{"categories":2082},[67],{"categories":2084},[],{"categories":2086},[105],{"categories":2088},[108],{"categories":2090},[102],{"categories":2092},[],{"categories":2094},[105],{"categories":2096},[],{"categories":2098},[105],{"categories":2100},[105],{"categories":2102},[],{"categories":2104},[105],{"categories":2106},[105],{"categories":2108},[126],{"categories":2110},[105],{"categories":2112},[105],{"categories":2114},[99],{"categories":2116},[105],{"categories":2118},[158],{"categories":2120},[126],{"categories":2122},[108],{"categories":2124},[],{"categories":2126},[105],{"categories":2128},[155],{"categories":2130},[177],{"categories":2132},[105],{"categories":2134},[108],{"categories":2136},[],{"categories":2138},[],{"categories":2140},[],{"categories":2142},[99],{"categories":2144},[126],{"categories":2146},[108],{"categories":2148},[105],{"categories":2150},[105],{"categories":2152},[155],{"categories":2154},[108],{"categories":2156},[],{"categories":2158},[108],{"categories":2160},[108],{"categories":2162},[],{"categories":2164},[105],{"categories":2166},[108],{"categories":2168},[105],{"categories":2170},[],{"categories":2172},[105],{"categories":2174},[105],{"categories":2176},[126],{"categories":2178},[155],{"categories":2180},[108],{"categories":2182},[155],{"categories":2184},[102],{"categories":2186},[],{"categories":2188},[],{"categories":2190},[105],{"categories":2192},[99],{"categories":2194},[126],{"categories":2196},[],{"categories":2198},[155],{"categories":2200},[],{"categories":2202},[67],{"categories":2204},[67],{"categories":2206},[155],{"categories":2208},[67],{"categories":2210},[],{"categories":2212},[105],{"categories":2214},[105],{"categories":2216},[],{"categories":2218},[177],{"categories":2220},[105],{"categories":2222},[202],{"categories":2224},[67],{"categories":2226},[],{"categories":2228},[108],{"categories":2230},[105],{"categories":2232},[99],{"categories":2234},[108],{"categories":2236},[108],{"categories":2238},[105],{"categories":2240},[105],{"categories":2242},[],{"categories":2244},[99],{"categories":2246},[105],{"categories":2248},[102],{"categories":2250},[67],{"categories":2252},[155],{"categories":2254},[],{"categories":2256},[],{"categories":2258},[],{"categories":2260},[108],{"categories":2262},[67],{"categories":2264},[155],{"categories":2266},[126],{"categories":2268},[105],{"categories":2270},[126],{"categories":2272},[108],{"categories":2274},[155],{"categories":2276},[105],{"categories":2278},[],{"categories":2280},[105],{"categories":2282},[155],{"categories":2284},[126],{"categories":2286},[102],{"categories":2288},[67],{"categories":2290},[105],{"categories":2292},[126],{"categories":2294},[177],{"categories":2296},[],{"categories":2298},[],{"categories":2300},[158],{"categories":2302},[105,67],{"categories":2304},[126],{"categories":2306},[105],{"categories":2308},[105],{"categories":2310},[108],{"categories":2312},[105],{"categories":2314},[108],{"categories":2316},[105],{"categories":2318},[105],{"categories":2320},[],{"categories":2322},[67],{"categories":2324},[105],{"categories":2326},[158],{"categories":2328},[108],{"categories":2330},[177],{"categories":2332},[202],{"categories":2334},[],{"categories":2336},[99],{"categories":2338},[108],{"categories":2340},[108],{"categories":2342},[111],{"categories":2344},[67],{"categories":2346},[105],{"categories":2348},[105],{"categories":2350},[],{"categories":2352},[],{"categories":2354},[],{"categories":2356},[202],{"categories":2358},[105],{"categories":2360},[126],{"categories":2362},[105],{"categories":2364},[105],{"categories":2366},[105],{"categories":2368},[],{"categories":2370},[158],{"categories":2372},[102],{"categories":2374},[108],{"categories":2376},[],{"categories":2378},[105],{"categories":2380},[108],{"categories":2382},[105],{"categories":2384},[202],{"categories":2386},[],{"categories":2388},[155],{"categories":2390},[155],{"categories":2392},[],{"categories":2394},[67],{"categories":2396},[105],{"categories":2398},[155],{"categories":2400},[105],{"categories":2402},[102],{"categories":2404},[],{"categories":2406},[126],{"categories":2408},[105],{"categories":2410},[105],{"categories":2412},[155],{"categories":2414},[108],{"categories":2416},[126],{"categories":2418},[],{"categories":2420},[108],{"categories":2422},[108],{"categories":2424},[155],{"categories":2426},[105],{"categories":2428},[],{"categories":2430},[105],{"categories":2432},[105],{"categories":2434},[202],{"categories":2436},[126],{"categories":2438},[158],{"categories":2440},[158],{"categories":2442},[],{"categories":2444},[],{"categories":2446},[],{"categories":2448},[108],{"categories":2450},[108],{"categories":2452},[67],{"categories":2454},[67],{"categories":2456},[105],{"categories":2458},[105],{"categories":2460},[],{"categories":2462},[],{"categories":2464},[105],{"categories":2466},[],{"categories":2468},[105],{"categories":2470},[108],{"categories":2472},[105],{"categories":2474},[],{"categories":2476},[111],{"categories":2478},[105],{"categories":2480},[155],{"categories":2482},[105],{"categories":2484},[102],{"categories":2486},[105],{"categories":2488},[177],{"categories":2490},[108],{"categories":2492},[105],{"categories":2494},[105],{"categories":2496},[105],{"categories":2498},[67],{"categories":2500},[],{"categories":2502},[126],{"categories":2504},[108],{"categories":2506},[],{"categories":2508},[126],{"categories":2510},[108],{"categories":2512},[108],{"categories":2514},[105],{"categories":2516},[108],{"categories":2518},[],{"categories":2520},[102],{"categories":2522},[108],{"categories":2524},[],{"categories":2526},[67],{"categories":2528},[105],{"categories":2530},[99],{"categories":2532},[126],{"categories":2534},[202],{"categories":2536},[108],{"categories":2538},[105],{"categories":2540},[108],{"categories":2542},[99],{"categories":2544},[],{"categories":2546},[105],{"categories":2548},[],{"categories":2550},[],{"categories":2552},[155],{"categories":2554},[105,102],{"categories":2556},[108],{"categories":2558},[105],{"categories":2560},[],{"categories":2562},[99],{"categories":2564},[158],{"categories":2566},[105],{"categories":2568},[67],{"categories":2570},[105],{"categories":2572},[108],{"categories":2574},[105],{"categories":2576},[105],{"categories":2578},[105],{"categories":2580},[126],{"categories":2582},[108],{"categories":2584},[105],{"categories":2586},[],{"categories":2588},[],{"categories":2590},[108],{"categories":2592},[105],{"categories":2594},[202],{"categories":2596},[],{"categories":2598},[105],{"categories":2600},[108],{"categories":2602},[108],{"categories":2604},[],{"categories":2606},[108],{"categories":2608},[105],{"categories":2610},[177],{"categories":2612},[158],{"categories":2614},[108],{"categories":2616},[105],{"categories":2618},[202],{"categories":2620},[],{"categories":2622},[105],{"categories":2624},[177],{"categories":2626},[155],{"categories":2628},[105],{"categories":2630},[105],{"categories":2632},[],{"categories":2634},[177],{"categories":2636},[126],{"categories":2638},[105],{"categories":2640},[105],{"categories":2642},[99],{"categories":2644},[105],{"categories":2646},[],{"categories":2648},[],{"categories":2650},[155],{"categories":2652},[105],{"categories":2654},[158],{"categories":2656},[177],{"categories":2658},[108],{"categories":2660},[177],{"categories":2662},[126],{"categories":2664},[],{"categories":2666},[105],{"categories":2668},[],{"categories":2670},[105],{"categories":2672},[108],{"categories":2674},[105],{"categories":2676},[105],{"categories":2678},[],{"categories":2680},[105,67],{"categories":2682},[126],{"categories":2684},[108],{"categories":2686},[67],{"categories":2688},[105],{"categories":2690},[99],{"categories":2692},[],{"categories":2694},[],{"categories":2696},[108],{"categories":2698},[67],{"categories":2700},[99],{"categories":2702},[67],{"categories":2704},[67],{"categories":2706},[105],{"categories":2708},[177],{"categories":2710},[105],{"categories":2712},[67],{"categories":2714},[],{"categories":2716},[155,105],{"categories":2718},[202],{"categories":2720},[99],{"categories":2722},[],{"categories":2724},[105],{"categories":2726},[102],{"categories":2728},[102],{"categories":2730},[105],{"categories":2732},[105],{"categories":2734},[105],{"categories":2736},[67],{"categories":2738},[108],{"categories":2740},[126],{"categories":2742},[177],{"categories":2744},[155],{"categories":2746},[105],{"categories":2748},[105],{"categories":2750},[105],{"categories":2752},[105],{"categories":2754},[99],{"categories":2756},[105],{"categories":2758},[108],{"categories":2760},[108],{"categories":2762},[126],{"categories":2764},[67],{"categories":2766},[],{"categories":2768},[],{"categories":2770},[158],{"categories":2772},[67],{"categories":2774},[105],{"categories":2776},[155],{"categories":2778},[105],{"categories":2780},[158],{"categories":2782},[105],{"categories":2784},[105],{"categories":2786},[105],{"categories":2788},[108],{"categories":2790},[108],{"categories":2792},[105,102],{"categories":2794},[],{"categories":2796},[155],{"categories":2798},[],{"categories":2800},[105],{"categories":2802},[126],{"categories":2804},[99],{"categories":2806},[99],{"categories":2808},[108],{"categories":2810},[108],{"categories":2812},[108],{"categories":2814},[105],{"categories":2816},[105],{"categories":2818},[102],{"categories":2820},[67],{"categories":2822},[177],{"categories":2824},[105],{"categories":2826},[],{"categories":2828},[126],{"categories":2830},[105],{"categories":2832},[105],{"categories":2834},[105],{"categories":2836},[105],{"categories":2838},[105],{"categories":2840},[67],{"categories":2842},[126],{"categories":2844},[67],{"categories":2846},[67],{"categories":2848},[105],{"categories":2850},[105],{"categories":2852},[105],{"categories":2854},[108],{"categories":2856},[126],{"categories":2858},[108],{"categories":2860},[105],{"categories":2862},[155],{"categories":2864},[105],{"categories":2866},[105],{"categories":2868},[202],{"categories":2870},[105],{"categories":2872},[111],{"categories":2874},[108],{"categories":2876},[105],{"categories":2878},[126],{"categories":2880},[108],{"categories":2882},[177],{"categories":2884},[105],{"categories":2886},[102],{"categories":2888},[105],{"categories":2890},[],{"categories":2892},[105],{"categories":2894},[105],{"categories":2896},[],{"categories":2898},[],{"categories":2900},[],{"categories":2902},[102],{"categories":2904},[105],{"categories":2906},[108],{"categories":2908},[126],{"categories":2910},[126],{"categories":2912},[126],{"categories":2914},[126],{"categories":2916},[],{"categories":2918},[99],{"categories":2920},[108],{"categories":2922},[126],{"categories":2924},[105],{"categories":2926},[99],{"categories":2928},[108],{"categories":2930},[105],{"categories":2932},[105,108],{"categories":2934},[108],{"categories":2936},[202],{"categories":2938},[126],{"categories":2940},[108],{"categories":2942},[126],{"categories":2944},[108],{"categories":2946},[105],{"categories":2948},[],{"categories":2950},[126],{"categories":2952},[177],{"categories":2954},[99],{"categories":2956},[105],{"categories":2958},[105],{"categories":2960},[],{"categories":2962},[67],{"categories":2964},[],{"categories":2966},[99],{"categories":2968},[108],{"categories":2970},[126],{"categories":2972},[105],{"categories":2974},[126],{"categories":2976},[99],{"categories":2978},[126],{"categories":2980},[126],{"categories":2982},[],{"categories":2984},[102],{"categories":2986},[108],{"categories":2988},[126],{"categories":2990},[126],{"categories":2992},[126],{"categories":2994},[126],{"categories":2996},[126],{"categories":2998},[126],{"categories":3000},[126],{"categories":3002},[126],{"categories":3004},[126],{"categories":3006},[126],{"categories":3008},[158],{"categories":3010},[99],{"categories":3012},[105],{"categories":3014},[105],{"categories":3016},[108],{"categories":3018},[108],{"categories":3020},[],{"categories":3022},[105,99],{"categories":3024},[],{"categories":3026},[108],{"categories":3028},[126],{"categories":3030},[108],{"categories":3032},[105],{"categories":3034},[105],{"categories":3036},[105],{"categories":3038},[105],{"categories":3040},[105],{"categories":3042},[108],{"categories":3044},[102],{"categories":3046},[108],{"categories":3048},[],{"categories":3050},[155],{"categories":3052},[126],{"categories":3054},[105],{"categories":3056},[],{"categories":3058},[],{"categories":3060},[108],{"categories":3062},[155],{"categories":3064},[105],{"categories":3066},[],{"categories":3068},[105],{"categories":3070},[],{"categories":3072},[177],{"categories":3074},[105],{"categories":3076},[],{"categories":3078},[],{"categories":3080},[126],{"categories":3082},[99],{"categories":3084},[105],{"categories":3086},[102],{"categories":3088},[105],{"categories":3090},[105],{"categories":3092},[102],{"categories":3094},[155],{"categories":3096},[],{"categories":3098},[105],{"categories":3100},[126],{"categories":3102},[],{"categories":3104},[155],{"categories":3106},[105],{"categories":3108},[177],{"categories":3110},[105],{"categories":3112},[202],{"categories":3114},[],{"categories":3116},[177],{"categories":3118},[],{"categories":3120},[105],{"categories":3122},[],{"categories":3124},[108],{"categories":3126},[67],{"categories":3128},[],{"categories":3130},[102],{"categories":3132},[99],{"categories":3134},[108],{"categories":3136},[155],{"categories":3138},[67],{"categories":3140},[],{"categories":3142},[],{"categories":3144},[105],{"categories":3146},[99],{"categories":3148},[105],{"categories":3150},[177],{"categories":3152},[],{"categories":3154},[108],{"categories":3156},[108],{"categories":3158},[126],{"categories":3160},[67],{"categories":3162},[105],{"categories":3164},[108],{"categories":3166},[105],{"categories":3168},[108],{"categories":3170},[105],{"categories":3172},[111],{"categories":3174},[177],{"categories":3176},[126],{"categories":3178},[],{"categories":3180},[177],{"categories":3182},[],{"categories":3184},[67],{"categories":3186},[108],{"categories":3188},[],{"categories":3190},[105],{"categories":3192},[105],{"categories":3194},[108],{"categories":3196},[102],{"categories":3198},[99],{"categories":3200},[105],{"categories":3202},[155],{"categories":3204},[67],{"categories":3206},[67],{"categories":3208},[105],{"categories":3210},[158],{"categories":3212},[108],{"categories":3214},[105],{"categories":3216},[108],{"categories":3218},[102],{"categories":3220},[155],{"categories":3222},[67],{"categories":3224},[108],{"categories":3226},[105],{"categories":3228},[105],{"categories":3230},[108],{"categories":3232},[105],{"categories":3234},[126],{"categories":3236},[],{"categories":3238},[99],{"categories":3240},[105],{"categories":3242},[105],{"categories":3244},[105],{"categories":3246},[108],{"categories":3248},[105],{"categories":3250},[105],{"categories":3252},[],{"categories":3254},[105],{"categories":3256},[155],{"categories":3258},[102],{"categories":3260},[126],{"categories":3262},[108],{"categories":3264},[105],{"categories":3266},[105],{"categories":3268},[155],{"categories":3270},[108],{"categories":3272},[105],{"categories":3274},[177],{"categories":3276},[158],{"categories":3278},[105],{"categories":3280},[126],{"categories":3282},[105],{"categories":3284},[108],{"categories":3286},[202],{"categories":3288},[105],{"categories":3290},[108],{"categories":3292},[158],{"categories":3294},[],{"categories":3296},[108],{"categories":3298},[67],{"categories":3300},[155],{"categories":3302},[105],{"categories":3304},[99],{"categories":3306},[67],{"categories":3308},[102],{"categories":3310},[67],{"categories":3312},[105],{"categories":3314},[],{"categories":3316},[108],{"categories":3318},[108],{"categories":3320},[105],{"categories":3322},[158],{"categories":3324},[],{"categories":3326},[126],{"categories":3328},[],{"categories":3330},[126],{"categories":3332},[105],{"categories":3334},[105],{"categories":3336},[108],{"categories":3338},[108],{"categories":3340},[108],{"categories":3342},[],{"categories":3344},[126],{"categories":3346},[],{"categories":3348},[105],{"categories":3350},[105],{"categories":3352},[],{"categories":3354},[155],{"categories":3356},[67],{"categories":3358},[108],{"categories":3360},[105],{"categories":3362},[177],{"categories":3364},[105],{"categories":3366},[105],{"categories":3368},[99],{"categories":3370},[],{"categories":3372},[105],{"categories":3374},[],{"categories":3376},[99],{"categories":3378},[126],{"categories":3380},[67],{"categories":3382},[105],{"categories":3384},[105],{"categories":3386},[105],{"categories":3388},[67],{"categories":3390},[126],{"categories":3392},[155],{"categories":3394},[105],{"categories":3396},[105],{"categories":3398},[105],{"categories":3400},[126],{"categories":3402},[155],{"categories":3404},[105],{"categories":3406},[126],{"categories":3408},[155],{"categories":3410},[126],{"categories":3412},[108],{"categories":3414},[108],{"categories":3416},[67],{"categories":3418},[126],{"categories":3420},[108],{"categories":3422},[108],{"categories":3424},[105],{"categories":3426},[67],{"categories":3428},[155],{"categories":3430},[105],{"categories":3432},[],{"categories":3434},[108],{"categories":3436},[],{"categories":3438},[],{"categories":3440},[],{"categories":3442},[102],{"categories":3444},[108],{"categories":3446},[105],{"categories":3448},[108],{"categories":3450},[99],{"categories":3452},[108],{"categories":3454},[177],{"categories":3456},[108],{"categories":3458},[],{"categories":3460},[108],{"categories":3462},[],{"categories":3464},[99],{"categories":3466},[108],{"categories":3468},[],{"categories":3470},[108],{"categories":3472},[105],{"categories":3474},[105],{"categories":3476},[126],{"categories":3478},[105],{"categories":3480},[108],{"categories":3482},[105],{"categories":3484},[105],{"categories":3486},[126],{"categories":3488},[108],{"categories":3490},[67],{"categories":3492},[155],{"categories":3494},[99],{"categories":3496},[],{"categories":3498},[108],{"categories":3500},[155],{"categories":3502},[202],{"categories":3504},[126],{"categories":3506},[105],{"categories":3508},[155],{"categories":3510},[105],{"categories":3512},[99],{"categories":3514},[],{"categories":3516},[108],{"categories":3518},[105],{"categories":3520},[105],{"categories":3522},[108],{"categories":3524},[105],{"categories":3526},[155],{"categories":3528},[],{"categories":3530},[108],{"categories":3532},[111],{"categories":3534},[126],{"categories":3536},[108],{"categories":3538},[102],{"categories":3540},[],{"categories":3542},[105],{"categories":3544},[111],{"categories":3546},[105],{"categories":3548},[108],{"categories":3550},[126],{"categories":3552},[99],{"categories":3554},[202],{"categories":3556},[105],{"categories":3558},[105],{"categories":3560},[105],{"categories":3562},[126],{"categories":3564},[102],{"categories":3566},[105],{"categories":3568},[155],{"categories":3570},[126],{"categories":3572},[202],{"categories":3574},[105],{"categories":3576},[],{"categories":3578},[],{"categories":3580},[105],{"categories":3582},[202],{"categories":3584},[158],{"categories":3586},[108],{"categories":3588},[108],{"categories":3590},[126],{"categories":3592},[105],{"categories":3594},[99],{"categories":3596},[105],{"categories":3598},[155],{"categories":3600},[108],{"categories":3602},[108],{"categories":3604},[105],{"categories":3606},[177],{"categories":3608},[105],{"categories":3610},[108],{"categories":3612},[],{"categories":3614},[105],{"categories":3616},[105],{"categories":3618},[105],{"categories":3620},[126],{"categories":3622},[99],{"categories":3624},[],{"categories":3626},[105],{"categories":3628},[105],{"categories":3630},[67],{"categories":3632},[155],{"categories":3634},[105,108],{"categories":3636},[177,102],{"categories":3638},[105],{"categories":3640},[105],{"categories":3642},[],{"categories":3644},[108],{"categories":3646},[],{"categories":3648},[67],{"categories":3650},[105],{"categories":3652},[],{"categories":3654},[105],{"categories":3656},[126],{"categories":3658},[],{"categories":3660},[108],{"categories":3662},[105],{"categories":3664},[],{"categories":3666},[155],{"categories":3668},[105],{"categories":3670},[108],{"categories":3672},[105],{"categories":3674},[99],{"categories":3676},[108],{"categories":3678},[105],{"categories":3680},[],{"categories":3682},[202],{"categories":3684},[177],{"categories":3686},[102],{"categories":3688},[102],{"categories":3690},[105],{"categories":3692},[99],{"categories":3694},[99],{"categories":3696},[105],{"categories":3698},[108],{"categories":3700},[105],{"categories":3702},[105],{"categories":3704},[67],{"categories":3706},[99],{"categories":3708},[105],{"categories":3710},[177],{"categories":3712},[126],{"categories":3714},[105],{"categories":3716},[105],{"categories":3718},[108],{"categories":3720},[105],{"categories":3722},[],{"categories":3724},[67],{"categories":3726},[],{"categories":3728},[67],{"categories":3730},[108],{"categories":3732},[99],{"categories":3734},[],{"categories":3736},[202],{"categories":3738},[105],{"categories":3740},[],{"categories":3742},[126],{"categories":3744},[108],{"categories":3746},[67],{"categories":3748},[105],{"categories":3750},[108],{"categories":3752},[67],{"categories":3754},[108],{"categories":3756},[126],{"categories":3758},[99],{"categories":3760},[126],{"categories":3762},[67],{"categories":3764},[105],{"categories":3766},[155],{"categories":3768},[105],{"categories":3770},[105],{"categories":3772},[105],{"categories":3774},[105],{"categories":3776},[105],{"categories":3778},[108],{"categories":3780},[105],{"categories":3782},[108],{"categories":3784},[105],{"categories":3786},[99],{"categories":3788},[105],{"categories":3790},[108],{"categories":3792},[155],{"categories":3794},[108],{"categories":3796},[99],{"categories":3798},[108],{"categories":3800},[155],{"categories":3802},[],{"categories":3804},[105],{"categories":3806},[158],{"categories":3808},[105],{"categories":3810},[105],{"categories":3812},[67],{"categories":3814},[],{"categories":3816},[108],{"categories":3818},[177],{"categories":3820},[105],{"categories":3822},[126],{"categories":3824},[177],{"categories":3826},[108],{"categories":3828},[102],{"categories":3830},[102],{"categories":3832},[105],{"categories":3834},[105],{"categories":3836},[99],{"categories":3838},[],{"categories":3840},[108],{"categories":3842},[105],{"categories":3844},[67],{"categories":3846},[],{"categories":3848},[99],{"categories":3850},[105],{"categories":3852},[108],{"categories":3854},[108],{"categories":3856},[],{"categories":3858},[67],{"categories":3860},[67],{"categories":3862},[177],{"categories":3864},[155],{"categories":3866},[],{"categories":3868},[105],{"categories":3870},[108],{"categories":3872},[99],{"categories":3874},[105],{"categories":3876},[67],{"categories":3878},[99],{"categories":3880},[126],{"categories":3882},[126],{"categories":3884},[],{"categories":3886},[126],{"categories":3888},[108],{"categories":3890},[155],{"categories":3892},[158],{"categories":3894},[105],{"categories":3896},[],{"categories":3898},[126],{"categories":3900},[67],{"categories":3902},[105],{"categories":3904},[102],{"categories":3906},[105],{"categories":3908},[99],{"categories":3910},[202],{"categories":3912},[99],{"categories":3914},[],{"categories":3916},[],{"categories":3918},[108],{"categories":3920},[126],{"categories":3922},[],{"categories":3924},[108],{"categories":3926},[108],{"categories":3928},[108],{"categories":3930},[],{"categories":3932},[105],{"categories":3934},[],{"categories":3936},[126],{"categories":3938},[99],{"categories":3940},[155],{"categories":3942},[105],{"categories":3944},[126],{"categories":3946},[105],{"categories":3948},[126],{"categories":3950},[],{"categories":3952},[126],{"categories":3954},[99],{"categories":3956},[108],{"categories":3958},[105],{"categories":3960},[],{"categories":3962},[67],{"categories":3964},[108],{"categories":3966},[111],{"categories":3968},[108],{"categories":3970},[99],{"categories":3972},[],{"categories":3974},[],{"categories":3976},[],{"categories":3978},[155],{"categories":3980},[108],{"categories":3982},[105],{"categories":3984},[105],{"categories":3986},[],{"categories":3988},[],{"categories":3990},[],{"categories":3992},[155],{"categories":3994},[],{"categories":3996},[108],{"categories":3998},[105],{"categories":4000},[99],{"categories":4002},[],{"categories":4004},[],{"categories":4006},[155],{"categories":4008},[105],{"categories":4010},[126],{"categories":4012},[],{"categories":4014},[177],{"categories":4016},[126],{"categories":4018},[177],{"categories":4020},[158],{"categories":4022},[105],{"categories":4024},[105],{"categories":4026},[],{"categories":4028},[],{"categories":4030},[108],{"categories":4032},[],{"categories":4034},[105],{"categories":4036},[],{"categories":4038},[108],{"categories":4040},[105],{"categories":4042},[],{"categories":4044},[108],{"categories":4046},[105],{"categories":4048},[126],{"categories":4050},[105],{"categories":4052},[177],{"categories":4054},[105],{"categories":4056},[105],{"categories":4058},[158],{"categories":4060},[108],{"categories":4062},[108],{"categories":4064},[],{"categories":4066},[],{"categories":4068},[105],{"categories":4070},[],{"categories":4072},[126],{"categories":4074},[],{"categories":4076},[],{"categories":4078},[155],{"categories":4080},[99],{"categories":4082},[],{"categories":4084},[102],{"categories":4086},[177],{"categories":4088},[105],{"categories":4090},[67],{"categories":4092},[99],{"categories":4094},[158],{"categories":4096},[102],{"categories":4098},[67],{"categories":4100},[67],{"categories":4102},[],{"categories":4104},[105],{"categories":4106},[],{"categories":4108},[108],{"categories":4110},[99],{"categories":4112},[155],{"categories":4114},[99],{"categories":4116},[108],{"categories":4118},[202],{"categories":4120},[105],{"categories":4122},[105],{"categories":4124},[99],{"categories":4126},[108],{"categories":4128},[],{"categories":4130},[105],{"categories":4132},[67],{"categories":4134},[126],{"categories":4136},[67],{"categories":4138},[105],{"categories":4140},[],{"categories":4142},[155],{"categories":4144},[126],{"categories":4146},[99],{"categories":4148},[105],{"categories":4150},[108],{"categories":4152},[105],{"categories":4154},[102],{"categories":4156},[108],{"categories":4158},[108,202],{"categories":4160},[108],{"categories":4162},[67],{"categories":4164},[105],{"categories":4166},[105],{"categories":4168},[158],{"categories":4170},[108],{"categories":4172},[177],{"categories":4174},[108],{"categories":4176},[],{"categories":4178},[108],{"categories":4180},[105],{"categories":4182},[102],{"categories":4184},[],{"categories":4186},[],{"categories":4188},[105],{"categories":4190},[158],{"categories":4192},[177],{"categories":4194},[105],{"categories":4196},[108],{"categories":4198},[],{"categories":4200},[126],{"categories":4202},[],{"categories":4204},[126],{"categories":4206},[67],{"categories":4208},[99],{"categories":4210},[67],{"categories":4212},[105],{"categories":4214},[108],{"categories":4216},[105],{"categories":4218},[105],{"categories":4220},[177],{"categories":4222},[67],{"categories":4224},[],{"categories":4226},[126],{"categories":4228},[105],{"categories":4230},[],{"categories":4232},[105],{"categories":4234},[105],{"categories":4236},[105],{"categories":4238},[108],{"categories":4240},[105],{"categories":4242},[111],{"categories":4244},[108],{"categories":4246},[105],{"categories":4248},[105],{"categories":4250},[105],{"categories":4252},[105],{"categories":4254},[102],{"categories":4256},[],{"categories":4258},[111],{"categories":4260},[126],{"categories":4262},[108],{"categories":4264},[105],{"categories":4266},[67],{"categories":4268},[],{"categories":4270},[67],{"categories":4272},[67],{"categories":4274},[67],{"categories":4276},[105],{"categories":4278},[105],{"categories":4280},[105],{"categories":4282},[108],{"categories":4284},[126],{"categories":4286},[105],{"categories":4288},[105],{"categories":4290},[105],{"categories":4292},[102],{"categories":4294},[105],{"categories":4296},[108],{"categories":4298},[155],{"categories":4300},[],{"categories":4302},[158],{"categories":4304},[108],{"categories":4306},[105],{"categories":4308},[],{"categories":4310},[105],{"categories":4312},[105],{"categories":4314},[126],{"categories":4316},[105],{"categories":4318},[108],{"categories":4320},[177],{"categories":4322},[],{"categories":4324},[],{"categories":4326},[126],{"categories":4328},[126],{"categories":4330},[105],{"categories":4332},[177],{"categories":4334},[105],{"categories":4336},[99],{"categories":4338},[108],{"categories":4340},[105],{"categories":4342},[108],{"categories":4344},[108],{"categories":4346},[105],{"categories":4348},[102],{"categories":4350},[],{"categories":4352},[158],{"categories":4354},[],{"categories":4356},[126],{"categories":4358},[105],{"categories":4360},[158],{"categories":4362},[105],{"categories":4364},[67],{"categories":4366},[67],{"categories":4368},[67],{"categories":4370},[108],{"categories":4372},[108],{"categories":4374},[155],{"categories":4376},[158],{"categories":4378},[158],{"categories":4380},[],{"categories":4382},[126],{"categories":4384},[105],{"categories":4386},[105],{"categories":4388},[67],{"categories":4390},[],{"categories":4392},[126],{"categories":4394},[126],{"categories":4396},[126],{"categories":4398},[],{"categories":4400},[108],{"categories":4402},[105],{"categories":4404},[],{"categories":4406},[99],{"categories":4408},[102],{"categories":4410},[],{"categories":4412},[105],{"categories":4414},[105],{"categories":4416},[],{"categories":4418},[67],{"categories":4420},[],{"categories":4422},[],{"categories":4424},[],{"categories":4426},[],{"categories":4428},[105],{"categories":4430},[126],{"categories":4432},[],{"categories":4434},[],{"categories":4436},[105],{"categories":4438},[105],{"categories":4440},[105],{"categories":4442},[158],{"categories":4444},[105],{"categories":4446},[158],{"categories":4448},[],{"categories":4450},[158],{"categories":4452},[158],{"categories":4454},[202],{"categories":4456},[108],{"categories":4458},[67],{"categories":4460},[],{"categories":4462},[],{"categories":4464},[158],{"categories":4466},[67],{"categories":4468},[67],{"categories":4470},[67],{"categories":4472},[],{"categories":4474},[99],{"categories":4476},[67],{"categories":4478},[67],{"categories":4480},[99],{"categories":4482},[67],{"categories":4484},[102],{"categories":4486},[67],{"categories":4488},[67],{"categories":4490},[67],{"categories":4492},[158],{"categories":4494},[126],{"categories":4496},[126],{"categories":4498},[105],{"categories":4500},[67],{"categories":4502},[158],{"categories":4504},[202],{"categories":4506},[158],{"categories":4508},[158],{"categories":4510},[158],{"categories":4512},[],{"categories":4514},[102],{"categories":4516},[],{"categories":4518},[202],{"categories":4520},[67],{"categories":4522},[67],{"categories":4524},[67],{"categories":4526},[108],{"categories":4528},[126,102],{"categories":4530},[158],{"categories":4532},[],{"categories":4534},[],{"categories":4536},[158],{"categories":4538},[],{"categories":4540},[158],{"categories":4542},[126],{"categories":4544},[108],{"categories":4546},[],{"categories":4548},[67],{"categories":4550},[105],{"categories":4552},[155],{"categories":4554},[],{"categories":4556},[105],{"categories":4558},[],{"categories":4560},[126],{"categories":4562},[99],{"categories":4564},[158],{"categories":4566},[],{"categories":4568},[67],{"categories":4570},[126],[4572,4651,4717,4977],{"id":4573,"title":4574,"ai":4575,"body":4580,"categories":4628,"created_at":68,"date_modified":68,"description":60,"extension":69,"faq":68,"featured":70,"kicker_label":68,"meta":4629,"navigation":78,"path":4638,"published_at":4639,"question":68,"scraped_at":4640,"seo":4641,"sitemap":4642,"source_id":4643,"source_name":85,"source_type":86,"source_url":4644,"stem":4645,"tags":4646,"thumbnail_url":68,"tldr":4648,"tweet":68,"unknown_tags":4649,"__hash__":4650},"summaries\u002Fsummaries\u002F57667040c0bcf781-why-source-code-is-the-ultimate-source-of-truth-summary.md","Why Source Code is the Ultimate Source of Truth",{"provider":7,"model":8,"input_tokens":4576,"output_tokens":4577,"processing_time_ms":4578,"cost_usd":4579},3982,493,2549,0.001735,{"type":14,"value":4581,"toc":4624},[4582,4586,4594,4598,4601,4621],[17,4583,4585],{"id":4584},"documentation-as-intent-not-reality","Documentation as Intent, Not Reality",[22,4587,4588,4589,4593],{},"Documentation often serves as a high-level guide to how a library or SDK is intended to function, but it frequently fails to capture the nuance of implementation. As demonstrated by the author's experience with ",[4590,4591,4592],"code",{},"boto3"," and its S3 transfer manager, documentation can be technically accurate regarding the existence of a parameter while remaining silent on how that parameter interacts with deeper, undocumented configuration layers. Relying solely on documentation creates a blind spot where developers assume a feature will behave as described, even when the underlying code has hardcoded ceilings or logic that overrides user-defined settings.",[17,4595,4597],{"id":4596},"the-efficiency-of-reading-the-source","The Efficiency of Reading the Source",[22,4599,4600],{},"While reading documentation is faster, reading source code is more reliable for debugging complex production issues. When a system fails to behave as expected—such as an SDK failing to retry operations despite explicit configuration—the source code provides the only definitive explanation. By bypassing the abstraction layer of the documentation, developers can:",[37,4602,4603,4609,4615],{},[40,4604,4605,4608],{},[43,4606,4607],{},"Identify hidden constraints:"," Discover hardcoded limits or logic paths that are not exposed in the public API or documentation.",[40,4610,4611,4614],{},[43,4612,4613],{},"Trace configuration resolution:"," Understand how parameters are passed through various layers of an application before reaching the execution logic.",[40,4616,4617,4620],{},[43,4618,4619],{},"Eliminate guesswork:"," Stop relying on trial-and-error deployments or logging to infer behavior, and instead observe the exact conditions that trigger specific outcomes.",[22,4622,4623],{},"Ultimately, the author advocates for a shift in mindset: treat documentation as a starting point for understanding a tool's purpose, but treat the source code as the final authority on its actual behavior.",{"title":60,"searchDepth":61,"depth":61,"links":4625},[4626,4627],{"id":4584,"depth":61,"text":4585},{"id":4596,"depth":61,"text":4597},[67],{"content_references":4630,"triage":4635},[4631],{"type":4632,"title":4592,"url":4633,"context":4634},"tool","https:\u002F\u002Fgithub.com\u002Fboto\u002Fboto3","mentioned",{"relevance":74,"novelty":75,"quality":74,"actionability":75,"composite":4636,"reasoning":4637},3.6,"Category: Software Engineering. The article discusses the importance of reading source code over documentation for debugging and understanding software behavior, which directly addresses a pain point for developers. It provides practical insights into how to identify hidden constraints and trace configuration, making it actionable, though it lacks a specific framework or step-by-step guidance.","\u002Fsummaries\u002F57667040c0bcf781-why-source-code-is-the-ultimate-source-of-truth-summary","2026-05-25 07:06:25","2026-05-25 11:37:17",{"title":4574,"description":60},{"loc":4638},"57667040c0bcf781","https:\u002F\u002Fpython.plainenglish.io\u002Fwhy-i-read-the-source-code-now-instead-of-the-documentation-588d0c447519?source=rss----78073def27b8---4","summaries\u002F57667040c0bcf781-why-source-code-is-the-ultimate-source-of-truth-summary",[90,4647,91],"debugging","Documentation describes intended behavior, but source code reveals actual implementation. Reading the code resolves discrepancies between documentation and reality, especially when dealing with hidden constraints or complex configuration layers.",[4647,91],"uP_tvRV_hAYqh8s9K1QCRvjtwEwgTz6z3ZMO-scIGVg",{"id":4652,"title":4653,"ai":4654,"body":4659,"categories":4699,"created_at":68,"date_modified":68,"description":60,"extension":69,"faq":68,"featured":70,"kicker_label":68,"meta":4700,"navigation":78,"path":4704,"published_at":4705,"question":68,"scraped_at":4706,"seo":4707,"sitemap":4708,"source_id":4709,"source_name":85,"source_type":86,"source_url":4710,"stem":4711,"tags":4712,"thumbnail_url":68,"tldr":4714,"tweet":68,"unknown_tags":4715,"__hash__":4716},"summaries\u002Fsummaries\u002F0a1b52565e4dece9-mastering-python-s-core-mental-models-summary.md","Mastering Python's Core Mental Models",{"provider":7,"model":8,"input_tokens":4655,"output_tokens":4656,"processing_time_ms":4657,"cost_usd":4658},3926,427,2711,0.001622,{"type":14,"value":4660,"toc":4695},[4661,4665,4668,4672,4675],[17,4662,4664],{"id":4663},"moving-beyond-syntax-to-intentional-design","Moving Beyond Syntax to Intentional Design",[22,4666,4667],{},"Many intermediate developers experience a plateau where they can read and execute advanced Python code but struggle to write it themselves. The barrier is rarely a lack of knowledge regarding libraries or syntax; rather, it is a lack of grasp on the mental models that define idiomatic Python. Advanced code often appears 'magical' because it relies on language-specific patterns that prioritize readability, efficiency, and structure over brute-force logic.",[17,4669,4671],{"id":4670},"the-shift-to-mental-models","The Shift to Mental Models",[22,4673,4674],{},"To bridge the gap between reading code and architecting it, developers must stop viewing Python as a collection of features and start viewing it as a set of design philosophies. The author suggests that true proficiency comes when a developer can predict how Python handles data, memory, and execution flow. This transition involves:",[37,4676,4677,4683,4689],{},[40,4678,4679,4682],{},[43,4680,4681],{},"Deconstructing 'Magic':"," Recognizing that elegant code is not about clever tricks, but about using the language's built-in capabilities (like decorators, context managers, or generators) to solve problems in a way that aligns with Pythonic conventions.",[40,4684,4685,4688],{},[43,4686,4687],{},"Focusing on Logic over Syntax:"," Once the underlying mechanics are understood, the 'why' behind a senior developer's implementation becomes clear. This allows for the transition from simply copying patterns to intentionally applying them to solve new problems.",[40,4690,4691,4694],{},[43,4692,4693],{},"Continuous Refinement:"," The author emphasizes that the journey to advanced development is iterative. It requires moving past the 'I understand every line' phase to a state where the structure of a program feels intuitive and predictable.",{"title":60,"searchDepth":61,"depth":61,"links":4696},[4697,4698],{"id":4663,"depth":61,"text":4664},{"id":4670,"depth":61,"text":4671},[67],{"content_references":4701,"triage":4702},[],{"relevance":74,"novelty":75,"quality":74,"actionability":75,"composite":4636,"reasoning":4703},"Category: Software Engineering. The article addresses the pain point of intermediate developers struggling to advance their skills by focusing on mental models, which is relevant for those building AI-powered products. It provides insights into understanding Python's design philosophies, but lacks specific frameworks or tools that could be directly applied.","\u002Fsummaries\u002F0a1b52565e4dece9-mastering-python-s-core-mental-models-summary","2026-05-19 16:24:47","2026-05-19 19:00:37",{"title":4653,"description":60},{"loc":4704},"0a1b52565e4dece9","https:\u002F\u002Fpython.plainenglish.io\u002F7-python-concepts-that-finally-made-advanced-code-feel-understandable-577a97cbf843?source=rss----78073def27b8---4","summaries\u002F0a1b52565e4dece9-mastering-python-s-core-mental-models-summary",[4713,90,91],"python","Moving from intermediate to advanced Python development requires shifting focus from syntax memorization to understanding the underlying mental models that drive elegant, intentional code.",[91],"3Ju8luOhXOHuCcCtttJhIsyAWbCd4lbAtMT8BRNWvtQ",{"id":4718,"title":4719,"ai":4720,"body":4726,"categories":4959,"created_at":68,"date_modified":68,"description":60,"extension":69,"faq":68,"featured":70,"kicker_label":68,"meta":4960,"navigation":78,"path":4964,"published_at":4965,"question":68,"scraped_at":4966,"seo":4967,"sitemap":4968,"source_id":4969,"source_name":4970,"source_type":86,"source_url":4971,"stem":4972,"tags":4973,"thumbnail_url":68,"tldr":4974,"tweet":68,"unknown_tags":4975,"__hash__":4976},"summaries\u002Fsummaries\u002F565cd461d5e56e35-python-variables-sticky-notes-on-shared-objects-summary.md","Python Variables: Sticky Notes on Shared Objects",{"provider":7,"model":4721,"input_tokens":4722,"output_tokens":4723,"processing_time_ms":4724,"cost_usd":4725},"x-ai\u002Fgrok-4.1-fast",5293,1238,13529,0.0016551,{"type":14,"value":4727,"toc":4954},[4728,4732,4743,4746,4751,4793,4798,4832,4835,4839,4854,4859,4899,4906,4910,4917,4945,4950],[17,4729,4731],{"id":4730},"names-bind-to-objects-not-values","Names Bind to Objects, Not Values",[22,4733,4734,4735,4738,4739,4742],{},"Python lacks variables as fixed memory boxes like in C or Java. Instead, everything is an object in memory, and variables are labels (sticky notes) pointing to those objects. Assigning ",[4590,4736,4737],{},"x = [1, 2, 3]"," creates a list object (e.g., at address 0x1234) and binds the name ",[4590,4740,4741],{},"x"," to it. Passing to a function creates a new local label bound to the same object—no copy occurs.",[22,4744,4745],{},"This 'call by sharing' means mutations to mutable objects (lists, dicts) affect all bound names, but rebinding a local name inside a function doesn't alter the caller's object.",[22,4747,4748],{},[43,4749,4750],{},"mutate example:",[4752,4753,4756],"pre",{"className":4754,"code":4755,"language":4713,"meta":60,"style":60},"language-python shiki shiki-themes github-light github-dark","def mutate(lst):\n    lst.append(99)  # Mutates shared object\n\nx = [10, 20]\nmutate(x)\n# x now [10, 20, 99]—original object changed\n",[4590,4757,4758,4766,4771,4776,4781,4787],{"__ignoreMap":60},[4759,4760,4763],"span",{"class":4761,"line":4762},"line",1,[4759,4764,4765],{},"def mutate(lst):\n",[4759,4767,4768],{"class":4761,"line":61},[4759,4769,4770],{},"    lst.append(99)  # Mutates shared object\n",[4759,4772,4773],{"class":4761,"line":75},[4759,4774,4775],{"emptyLinePlaceholder":78},"\n",[4759,4777,4778],{"class":4761,"line":74},[4759,4779,4780],{},"x = [10, 20]\n",[4759,4782,4784],{"class":4761,"line":4783},5,[4759,4785,4786],{},"mutate(x)\n",[4759,4788,4790],{"class":4761,"line":4789},6,[4759,4791,4792],{},"# x now [10, 20, 99]—original object changed\n",[22,4794,4795],{},[43,4796,4797],{},"rebind example:",[4752,4799,4801],{"className":4754,"code":4800,"language":4713,"meta":60,"style":60},"def rebind(lst):\n    lst = [1, 2, 3]  # Local label now points to new object\n\nx = [10, 20, 99]\nrebind(x)\n# x unchanged—original object untouched\n",[4590,4802,4803,4808,4813,4817,4822,4827],{"__ignoreMap":60},[4759,4804,4805],{"class":4761,"line":4762},[4759,4806,4807],{},"def rebind(lst):\n",[4759,4809,4810],{"class":4761,"line":61},[4759,4811,4812],{},"    lst = [1, 2, 3]  # Local label now points to new object\n",[4759,4814,4815],{"class":4761,"line":75},[4759,4816,4775],{"emptyLinePlaceholder":78},[4759,4818,4819],{"class":4761,"line":74},[4759,4820,4821],{},"x = [10, 20, 99]\n",[4759,4823,4824],{"class":4761,"line":4783},[4759,4825,4826],{},"rebind(x)\n",[4759,4828,4829],{"class":4761,"line":4789},[4759,4830,4831],{},"# x unchanged—original object untouched\n",[22,4833,4834],{},"Rebinding peels the local label off the shared object and attaches it to a new one, leaving external references intact.",[17,4836,4838],{"id":4837},"mutable-defaults-create-permanent-shared-state","Mutable Defaults Create Permanent Shared State",[22,4840,4841,4842,4845,4846,4849,4850,4853],{},"Functions are objects with defaults evaluated ",[43,4843,4844],{},"once at definition time",", stored in ",[4590,4847,4848],{},".__defaults__",". A mutable default like ",[4590,4851,4852],{},"items=[]"," creates one list object bound to the function forever—GC can't reclaim it while the function lives.",[22,4855,4856],{},[43,4857,4858],{},"Buggy example:",[4752,4860,4862],{"className":4754,"code":4861,"language":4713,"meta":60,"style":60},"def add_item(item, items=[]):\n    items.append(item)\n    return items\n\nprint(add_item(1))      # [1]—mutates function's default\nprint(add_item(2, []))  # [2]—uses new list\nprint(add_item(\"a\"))   # [1, 'a']—reuses mutated default\n",[4590,4863,4864,4869,4874,4879,4883,4888,4893],{"__ignoreMap":60},[4759,4865,4866],{"class":4761,"line":4762},[4759,4867,4868],{},"def add_item(item, items=[]):\n",[4759,4870,4871],{"class":4761,"line":61},[4759,4872,4873],{},"    items.append(item)\n",[4759,4875,4876],{"class":4761,"line":75},[4759,4877,4878],{},"    return items\n",[4759,4880,4881],{"class":4761,"line":74},[4759,4882,4775],{"emptyLinePlaceholder":78},[4759,4884,4885],{"class":4761,"line":4783},[4759,4886,4887],{},"print(add_item(1))      # [1]—mutates function's default\n",[4759,4889,4890],{"class":4761,"line":4789},[4759,4891,4892],{},"print(add_item(2, []))  # [2]—uses new list\n",[4759,4894,4896],{"class":4761,"line":4895},7,[4759,4897,4898],{},"print(add_item(\"a\"))   # [1, 'a']—reuses mutated default\n",[22,4900,4901,4902,4905],{},"First call mutates the shared default list. Later calls without ",[4590,4903,4904],{},"items"," reuse it, accumulating data across invocations. In servers or workers, this leaks state between requests\u002Fjobs, manifesting as ghost bugs like User B seeing User A's data.",[17,4907,4909],{"id":4908},"defensive-fix-none-instantiation-prevents-shared-state","Defensive Fix: None + Instantiation Prevents Shared State",[22,4911,4912,4913,4916],{},"Replace mutable defaults with ",[4590,4914,4915],{},"None",", then create fresh objects inside the function at call time:",[4752,4918,4920],{"className":4754,"code":4919,"language":4713,"meta":60,"style":60},"def add_item(item, items=None):\n    if items is None:\n        items = []  # New list per call\n    items.append(item)\n    return items\n",[4590,4921,4922,4927,4932,4937,4941],{"__ignoreMap":60},[4759,4923,4924],{"class":4761,"line":4762},[4759,4925,4926],{},"def add_item(item, items=None):\n",[4759,4928,4929],{"class":4761,"line":61},[4759,4930,4931],{},"    if items is None:\n",[4759,4933,4934],{"class":4761,"line":75},[4759,4935,4936],{},"        items = []  # New list per call\n",[4759,4938,4939],{"class":4761,"line":74},[4759,4940,4873],{},[4759,4942,4943],{"class":4761,"line":4783},[4759,4944,4878],{},[22,4946,4947,4949],{},[4590,4948,4915],{}," is immutable\u002Fsafe. Instantiation happens on the heap each run, ensuring no shared state. Enforce via linters like Flake8's B006 banning mutable defaults. This model resolves 90% of Python's 'weirdness' for production code.",[4951,4952,4953],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":60,"searchDepth":61,"depth":61,"links":4955},[4956,4957,4958],{"id":4730,"depth":61,"text":4731},{"id":4837,"depth":61,"text":4838},{"id":4908,"depth":61,"text":4909},[67],{"content_references":4961,"triage":4962},[],{"relevance":74,"novelty":75,"quality":74,"actionability":74,"composite":76,"reasoning":4963},"Category: Software Engineering. The article provides a deep dive into Python's variable handling, addressing a common pain point for developers regarding mutable defaults and shared state. It offers practical solutions to avoid bugs, making it actionable for developers looking to improve their code quality.","\u002Fsummaries\u002F565cd461d5e56e35-python-variables-sticky-notes-on-shared-objects-summary","2026-05-05 09:11:46","2026-05-05 16:09:35",{"title":4719,"description":60},{"loc":4964},"565cd461d5e56e35","Data and Beyond","https:\u002F\u002Fmedium.com\u002Fdata-and-beyond\u002Fpythons-silent-production-killer-why-pass-by-reference-is-a-lie-b7f1f5ce7930?source=rss----b680b860beb1---4","summaries\u002F565cd461d5e56e35-python-variables-sticky-notes-on-shared-objects-summary",[4713,90,91],"Forget 'pass-by-reference'—Python variables are labels binding to objects via 'call by sharing'. Mutable defaults like [] create shared state across calls, causing ghost bugs; fix by using None and instantiating inside functions.",[91],"fzEeWz1c9LJmn1gZgGIJuMZGoHMLOUzv4UIryNTNhfk",{"id":4978,"title":4979,"ai":4980,"body":4985,"categories":5452,"created_at":68,"date_modified":68,"description":60,"extension":69,"faq":68,"featured":70,"kicker_label":68,"meta":5453,"navigation":78,"path":5457,"published_at":5458,"question":68,"scraped_at":5459,"seo":5460,"sitemap":5461,"source_id":5462,"source_name":5463,"source_type":86,"source_url":5464,"stem":5465,"tags":5466,"thumbnail_url":68,"tldr":5468,"tweet":68,"unknown_tags":5469,"__hash__":5470},"summaries\u002Fsummaries\u002F8d5558e87957c77a-scale-compose-nav-with-nested-graphs-and-state-lay-summary.md","Scale Compose Nav with Nested Graphs and State Layers",{"provider":7,"model":4721,"input_tokens":4981,"output_tokens":4982,"processing_time_ms":4983,"cost_usd":4984},6768,1765,14725,0.00221345,{"type":14,"value":4986,"toc":5446},[4987,4991,4994,4997,5063,5066,5142,5145,5148,5181,5185,5188,5191,5214,5243,5255,5258,5262,5269,5325,5328,5357,5360,5364,5387,5426,5444],[17,4988,4990],{"id":4989},"nested-graphs-isolate-features-and-simplify-reasoning","Nested Graphs Isolate Features and Simplify Reasoning",[22,4992,4993],{},"Flat NavHosts with dozens of composables become unmaintainable—files bloat, flows interfere, back stacks confuse, and refactors risk breakage. Instead, centralize ownership in one root NavHost that only defines major app flows (e.g., auth, main), then nest separate graphs per feature.",[22,4995,4996],{},"Root setup:",[4752,4998,5002],{"className":4999,"code":5000,"language":5001,"meta":60,"style":60},"language-kotlin shiki shiki-themes github-light github-dark","@Composable\nfun AppNavHost(navController: NavHostController) {\n    NavHost(\n        navController = navController,\n        startDestination = Graph.AUTH,\n        route = Graph.ROOT\n    ) {\n        authNavGraph(navController)\n        mainNavGraph(navController)\n    }\n}\n","kotlin",[4590,5003,5004,5009,5014,5019,5024,5029,5034,5039,5045,5051,5057],{"__ignoreMap":60},[4759,5005,5006],{"class":4761,"line":4762},[4759,5007,5008],{},"@Composable\n",[4759,5010,5011],{"class":4761,"line":61},[4759,5012,5013],{},"fun AppNavHost(navController: NavHostController) {\n",[4759,5015,5016],{"class":4761,"line":75},[4759,5017,5018],{},"    NavHost(\n",[4759,5020,5021],{"class":4761,"line":74},[4759,5022,5023],{},"        navController = navController,\n",[4759,5025,5026],{"class":4761,"line":4783},[4759,5027,5028],{},"        startDestination = Graph.AUTH,\n",[4759,5030,5031],{"class":4761,"line":4789},[4759,5032,5033],{},"        route = Graph.ROOT\n",[4759,5035,5036],{"class":4761,"line":4895},[4759,5037,5038],{},"    ) {\n",[4759,5040,5042],{"class":4761,"line":5041},8,[4759,5043,5044],{},"        authNavGraph(navController)\n",[4759,5046,5048],{"class":4761,"line":5047},9,[4759,5049,5050],{},"        mainNavGraph(navController)\n",[4759,5052,5054],{"class":4761,"line":5053},10,[4759,5055,5056],{},"    }\n",[4759,5058,5060],{"class":4761,"line":5059},11,[4759,5061,5062],{},"}\n",[22,5064,5065],{},"Feature graphs group related screens:",[4752,5067,5069],{"className":4999,"code":5068,"language":5001,"meta":60,"style":60},"fun NavGraphBuilder.authNavGraph(navController: NavHostController) {\n    navigation(startDestination = \"login\", route = Graph.AUTH) {\n        composable(\"login\") {\n            LoginScreen(\n                onLoginSuccess = {\n                    navController.navigate(Graph.MAIN) {\n                        popUpTo(Graph.AUTH) { inclusive = true }\n                    }\n                }\n            )\n        }\n        \u002F\u002F signup composable...\n    }\n}\n",[4590,5070,5071,5076,5081,5086,5091,5096,5101,5106,5111,5116,5121,5126,5132,5137],{"__ignoreMap":60},[4759,5072,5073],{"class":4761,"line":4762},[4759,5074,5075],{},"fun NavGraphBuilder.authNavGraph(navController: NavHostController) {\n",[4759,5077,5078],{"class":4761,"line":61},[4759,5079,5080],{},"    navigation(startDestination = \"login\", route = Graph.AUTH) {\n",[4759,5082,5083],{"class":4761,"line":75},[4759,5084,5085],{},"        composable(\"login\") {\n",[4759,5087,5088],{"class":4761,"line":74},[4759,5089,5090],{},"            LoginScreen(\n",[4759,5092,5093],{"class":4761,"line":4783},[4759,5094,5095],{},"                onLoginSuccess = {\n",[4759,5097,5098],{"class":4761,"line":4789},[4759,5099,5100],{},"                    navController.navigate(Graph.MAIN) {\n",[4759,5102,5103],{"class":4761,"line":4895},[4759,5104,5105],{},"                        popUpTo(Graph.AUTH) { inclusive = true }\n",[4759,5107,5108],{"class":4761,"line":5041},[4759,5109,5110],{},"                    }\n",[4759,5112,5113],{"class":4761,"line":5047},[4759,5114,5115],{},"                }\n",[4759,5117,5118],{"class":4761,"line":5053},[4759,5119,5120],{},"            )\n",[4759,5122,5123],{"class":4761,"line":5059},[4759,5124,5125],{},"        }\n",[4759,5127,5129],{"class":4761,"line":5128},12,[4759,5130,5131],{},"        \u002F\u002F signup composable...\n",[4759,5133,5135],{"class":4761,"line":5134},13,[4759,5136,5056],{},[4759,5138,5140],{"class":4761,"line":5139},14,[4759,5141,5062],{},[22,5143,5144],{},"This keeps graphs small, prevents cross-flow pollution, and makes back stack behavior predictable—e.g., clear auth stack on login success.",[22,5146,5147],{},"Centralize routes with sealed classes to avoid string typos:",[4752,5149,5151],{"className":4999,"code":5150,"language":5001,"meta":60,"style":60},"sealed class AppScreen(val route: String) {\n    data object Home : AppScreen(\"home\")\n    data object UserDetails : AppScreen(\"user\u002F{userId}\") {\n        fun createRoute(userId: Long) = \"user\u002F$userId\"\n    }\n}\n",[4590,5152,5153,5158,5163,5168,5173,5177],{"__ignoreMap":60},[4759,5154,5155],{"class":4761,"line":4762},[4759,5156,5157],{},"sealed class AppScreen(val route: String) {\n",[4759,5159,5160],{"class":4761,"line":61},[4759,5161,5162],{},"    data object Home : AppScreen(\"home\")\n",[4759,5164,5165],{"class":4761,"line":75},[4759,5166,5167],{},"    data object UserDetails : AppScreen(\"user\u002F{userId}\") {\n",[4759,5169,5170],{"class":4761,"line":74},[4759,5171,5172],{},"        fun createRoute(userId: Long) = \"user\u002F$userId\"\n",[4759,5174,5175],{"class":4761,"line":4783},[4759,5176,5056],{},[4759,5178,5179],{"class":4761,"line":4789},[4759,5180,5062],{},[17,5182,5184],{"id":5183},"layered-state-keeps-navigation-stable","Layered State Keeps Navigation Stable",[22,5186,5187],{},"Navigation only handles movement and small primitives (IDs, filters, flags)—never full objects, which fail serialization and stale quickly. Load data in destinations.",[22,5189,5190],{},"Three layers:",[5192,5193,5194,5204],"ol",{},[40,5195,5196,5199,5200,5203],{},[43,5197,5198],{},"Nav args",": Primitives only, e.g., ",[4590,5201,5202],{},"navController.navigate(UserDetails.createRoute(42L))",".",[40,5205,5206,5209,5210,5213],{},[43,5207,5208],{},"ViewModels",": Screen\u002Fbusiness state with API calls, loading\u002Ferrors. Extract args via ",[4590,5211,5212],{},"SavedStateHandle",":",[4752,5215,5217],{"className":4999,"code":5216,"language":5001,"meta":60,"style":60},"class UserDetailsViewModel(savedStateHandle: SavedStateHandle) : ViewModel() {\n    private val userId: Long = checkNotNull(savedStateHandle[\"userId\"])\n    val uiState = MutableStateFlow(UserDetailsUiState())\n    \u002F\u002F Load data in init...\n}\n",[4590,5218,5219,5224,5229,5234,5239],{"__ignoreMap":60},[4759,5220,5221],{"class":4761,"line":4762},[4759,5222,5223],{},"class UserDetailsViewModel(savedStateHandle: SavedStateHandle) : ViewModel() {\n",[4759,5225,5226],{"class":4761,"line":61},[4759,5227,5228],{},"    private val userId: Long = checkNotNull(savedStateHandle[\"userId\"])\n",[4759,5230,5231],{"class":4761,"line":75},[4759,5232,5233],{},"    val uiState = MutableStateFlow(UserDetailsUiState())\n",[4759,5235,5236],{"class":4761,"line":74},[4759,5237,5238],{},"    \u002F\u002F Load data in init...\n",[4759,5240,5241],{"class":4761,"line":4783},[4759,5242,5062],{},[5192,5244,5245],{"start":75},[40,5246,5247,5250,5251,5254],{},[43,5248,5249],{},"Composable state",": UI-only like ",[4590,5252,5253],{},"rememberSaveable { mutableStateOf(\"\") }"," for inputs\u002Ftoggles.",[22,5256,5257],{},"This separation makes nav robust: pass ID, fetch fresh data, avoid fragile deep passing.",[17,5259,5261],{"id":5260},"route-level-wiring-and-tab-polish","Route-Level Wiring and Tab Polish",[22,5263,5264,5265,5268],{},"Avoid scattering ",[4590,5266,5267],{},"NavController"," in leaf UI—pass lambdas from route composables for reusable, testable screens:",[4752,5270,5272],{"className":4999,"code":5271,"language":5001,"meta":60,"style":60},"@Composable\nfun HomeRoute(navController: NavHostController) {\n    HomeScreen(\n        onOpenSettings = { navController.navigate(\"settings\") },\n        onOpenUser = { id -> navController.navigate(\"user\u002F$id\") }\n    )\n}\n@Composable\nfun HomeScreen(onOpenSettings: () -> Unit, onOpenUser: (Long) -> Unit) {\n    \u002F\u002F Buttons call lambdas\n}\n",[4590,5273,5274,5278,5283,5288,5293,5298,5303,5307,5311,5316,5321],{"__ignoreMap":60},[4759,5275,5276],{"class":4761,"line":4762},[4759,5277,5008],{},[4759,5279,5280],{"class":4761,"line":61},[4759,5281,5282],{},"fun HomeRoute(navController: NavHostController) {\n",[4759,5284,5285],{"class":4761,"line":75},[4759,5286,5287],{},"    HomeScreen(\n",[4759,5289,5290],{"class":4761,"line":74},[4759,5291,5292],{},"        onOpenSettings = { navController.navigate(\"settings\") },\n",[4759,5294,5295],{"class":4761,"line":4783},[4759,5296,5297],{},"        onOpenUser = { id -> navController.navigate(\"user\u002F$id\") }\n",[4759,5299,5300],{"class":4761,"line":4789},[4759,5301,5302],{},"    )\n",[4759,5304,5305],{"class":4761,"line":4895},[4759,5306,5062],{},[4759,5308,5309],{"class":4761,"line":5041},[4759,5310,5008],{},[4759,5312,5313],{"class":4761,"line":5047},[4759,5314,5315],{},"fun HomeScreen(onOpenSettings: () -> Unit, onOpenUser: (Long) -> Unit) {\n",[4759,5317,5318],{"class":4761,"line":5053},[4759,5319,5320],{},"    \u002F\u002F Buttons call lambdas\n",[4759,5322,5323],{"class":4761,"line":5059},[4759,5324,5062],{},[22,5326,5327],{},"For bottom tabs, use this nav spec to avoid duplicates, save\u002Frestore state:",[4752,5329,5331],{"className":4999,"code":5330,"language":5001,"meta":60,"style":60},"navController.navigate(route) {\n    popUpTo(navController.graph.startDestinationId) { saveState = true }\n    launchSingleTop = true\n    restoreState = true\n}\n",[4590,5332,5333,5338,5343,5348,5353],{"__ignoreMap":60},[4759,5334,5335],{"class":4761,"line":4762},[4759,5336,5337],{},"navController.navigate(route) {\n",[4759,5339,5340],{"class":4761,"line":61},[4759,5341,5342],{},"    popUpTo(navController.graph.startDestinationId) { saveState = true }\n",[4759,5344,5345],{"class":4761,"line":75},[4759,5346,5347],{},"    launchSingleTop = true\n",[4759,5349,5350],{"class":4761,"line":74},[4759,5351,5352],{},"    restoreState = true\n",[4759,5354,5355],{"class":4761,"line":4783},[4759,5356,5062],{},[22,5358,5359],{},"This preserves tab state across switches, polishing UX.",[17,5361,5363],{"id":5362},"full-stack-ties-it-together","Full Stack Ties It Together",[22,5365,5366,5367,5370,5371,5374,5375,5378,5379,5382,5383,5386],{},"Thin ",[4590,5368,5369],{},"MainActivity"," sets ",[4590,5372,5373],{},"App()"," with ",[4590,5376,5377],{},"rememberNavController()",". ",[4590,5380,5381],{},"AppNavHost"," wires root. Graphs use route sealed interfaces (e.g., ",[4590,5384,5385],{},"AuthDest.Login.route","). UserDetails handles args:",[4752,5388,5390],{"className":4999,"code":5389,"language":5001,"meta":60,"style":60},"composable(\n    route = MainDest.UserDetails.route,\n    arguments = listOf(navArgument(MainDest.UserDetails.ARG) { type = NavType.LongType })\n) { entry ->\n    val userId = entry.arguments?.getLong(MainDest.UserDetails.ARG) ?: return@composable\n    UserDetailsRoute(userId)\n}\n",[4590,5391,5392,5397,5402,5407,5412,5417,5422],{"__ignoreMap":60},[4759,5393,5394],{"class":4761,"line":4762},[4759,5395,5396],{},"composable(\n",[4759,5398,5399],{"class":4761,"line":61},[4759,5400,5401],{},"    route = MainDest.UserDetails.route,\n",[4759,5403,5404],{"class":4761,"line":75},[4759,5405,5406],{},"    arguments = listOf(navArgument(MainDest.UserDetails.ARG) { type = NavType.LongType })\n",[4759,5408,5409],{"class":4761,"line":74},[4759,5410,5411],{},") { entry ->\n",[4759,5413,5414],{"class":4761,"line":4783},[4759,5415,5416],{},"    val userId = entry.arguments?.getLong(MainDest.UserDetails.ARG) ?: return@composable\n",[4759,5418,5419],{"class":4761,"line":4789},[4759,5420,5421],{},"    UserDetailsRoute(userId)\n",[4759,5423,5424],{"class":4761,"line":4895},[4759,5425,5062],{},[22,5427,5428,5431,5432,5435,5436,5439,5440,5443],{},[4590,5429,5430],{},"UserDetailsRoute"," injects ",[4590,5433,5434],{},"viewModel()",", collects ",[4590,5437,5438],{},"uiState",", passes to pure ",[4590,5441,5442],{},"UserDetailsScreen",". Add screens freely without central chaos.",[4951,5445,4953],{},{"title":60,"searchDepth":61,"depth":61,"links":5447},[5448,5449,5450,5451],{"id":4989,"depth":61,"text":4990},{"id":5183,"depth":61,"text":5184},{"id":5260,"depth":61,"text":5261},{"id":5362,"depth":61,"text":5363},[67],{"content_references":5454,"triage":5455},[],{"relevance":74,"novelty":75,"quality":74,"actionability":74,"composite":76,"reasoning":5456},"Category: Software Engineering. The article provides a practical approach to scaling navigation in Jetpack Compose, addressing a common pain point for developers managing complex app architectures. It includes specific code examples and a structured method for implementing nested graphs and layered state, making it actionable for developers looking to improve their navigation systems.","\u002Fsummaries\u002F8d5558e87957c77a-scale-compose-nav-with-nested-graphs-and-state-lay-summary","2026-05-01 20:30:17","2026-05-03 17:00:35",{"title":4979,"description":60},{"loc":5457},"8d5558e87957c77a","Level Up Coding","https:\u002F\u002Flevelup.gitconnected.com\u002Fscaling-navigation-in-jetpack-compose-from-simple-apps-to-real-world-architecture-c6cf897f5a58?source=rss----5517fd7b58a6---4","summaries\u002F8d5558e87957c77a-scale-compose-nav-with-nested-graphs-and-state-lay-summary",[90,91,5467],"dev-productivity","For apps with 20-50 screens, use one root NavHost with nested feature graphs, centralized route objects, and layered state (nav args for IDs, ViewModels for data, composables for UI) to prevent navigation fragility.",[91,5467],"MdJCmrlysKnhasneoBQPUQQjKPDk05jtmg82txx-jf4"]