diff --git a/Doc/data/python3.13.abi b/Doc/data/python3.13.abi
index 55112e1e43c01d..11f1203850339c 100644
--- a/Doc/data/python3.13.abi
+++ b/Doc/data/python3.13.abi
@@ -1661,7 +1661,7 @@
-
+
@@ -1679,7 +1679,7 @@
-
+
@@ -1694,7 +1694,7 @@
-
+
@@ -1728,10 +1728,10 @@
-
+
-
+
@@ -1819,11 +1819,11 @@
-
+
-
+
@@ -1835,14 +1835,14 @@
-
+
-
+
@@ -1861,7 +1861,7 @@
-
+
@@ -1889,7 +1889,7 @@
-
+
@@ -1931,7 +1931,7 @@
-
+
@@ -1948,7 +1948,11 @@
-
+
+
+
+
+
@@ -1957,11 +1961,11 @@
-
+
-
+
@@ -1994,23 +1998,23 @@
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
@@ -2031,38 +2035,38 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -2070,12 +2074,12 @@
-
+
-
-
+
+
@@ -2084,8 +2088,8 @@
-
-
+
+
@@ -2093,15 +2097,15 @@
-
-
+
+
-
+
-
-
-
+
+
+
@@ -2118,37 +2122,37 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
@@ -2157,50 +2161,50 @@
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
@@ -2208,24 +2212,24 @@
-
+
-
+
-
-
-
-
+
+
+
+
-
+
-
-
+
+
-
+
@@ -2234,13 +2238,13 @@
-
+
-
+
-
+
@@ -2254,13 +2258,13 @@
-
-
+
+
-
+
@@ -2268,22 +2272,22 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -2295,166 +2299,166 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
@@ -2474,10 +2478,10 @@
-
+
-
+
@@ -2487,140 +2491,140 @@
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
@@ -2632,117 +2636,117 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -2775,10 +2779,10 @@
-
+
-
+
@@ -2793,6 +2797,10 @@
+
+
+
+
@@ -2800,14 +2808,14 @@
-
+
-
-
+
+
@@ -2823,37 +2831,37 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -2878,19 +2886,19 @@
-
-
+
+
-
-
+
+
-
+
@@ -2900,104 +2908,104 @@
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
@@ -3031,10 +3039,10 @@
-
-
+
+
-
+
@@ -3052,11 +3060,11 @@
-
+
-
+
@@ -3075,12 +3083,12 @@
-
+
-
+
-
-
+
+
@@ -3092,29 +3100,29 @@
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -3127,183 +3135,183 @@
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
@@ -3311,7 +3319,7 @@
-
+
@@ -3319,7 +3327,7 @@
-
+
@@ -3327,41 +3335,41 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -3378,14 +3386,14 @@
-
-
-
+
+
+
-
-
+
+
@@ -3393,10 +3401,10 @@
-
+
-
+
@@ -3408,10 +3416,10 @@
-
-
-
-
+
+
+
+
@@ -3419,58 +3427,58 @@
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
+
@@ -3494,28 +3502,28 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -3529,153 +3537,153 @@
-
-
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
-
-
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
+
+
@@ -3684,14 +3692,14 @@
-
-
+
+
-
+
-
+
@@ -3726,7 +3734,7 @@
-
+
@@ -3738,43 +3746,43 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -3804,8 +3812,8 @@
-
-
+
+
@@ -3816,8 +3824,8 @@
-
-
+
+
@@ -3858,13 +3866,13 @@
-
+
-
+
@@ -3878,10 +3886,10 @@
-
+
-
+
@@ -3958,46 +3966,46 @@
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
@@ -4005,39 +4013,39 @@
+
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -4046,22 +4054,22 @@
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -4069,7 +4077,7 @@
-
+
@@ -4080,7 +4088,7 @@
-
+
@@ -4094,13 +4102,13 @@
-
+
-
+
@@ -4118,7 +4126,7 @@
-
+
@@ -4131,28 +4139,28 @@
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
@@ -4177,22 +4185,22 @@
-
+
-
+
-
+
-
+
@@ -4224,7 +4232,7 @@
-
+
@@ -4240,7 +4248,7 @@
-
+
@@ -4299,7 +4307,7 @@
-
+
@@ -4328,47 +4336,47 @@
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
+
@@ -4381,30 +4389,30 @@
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
@@ -4719,7 +4727,7 @@
-
+
@@ -4793,18 +4801,18 @@
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
@@ -4834,22 +4842,22 @@
-
+
-
+
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
@@ -4988,8 +4996,8 @@
-
-
+
+
@@ -5023,29 +5031,29 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
+
@@ -5063,8 +5071,8 @@
-
-
+
+
@@ -5091,7 +5099,7 @@
-
+
@@ -5103,14 +5111,14 @@
-
+
-
-
+
+
-
+
@@ -5152,16 +5160,16 @@
-
-
+
+
-
+
-
+
-
+
@@ -5191,69 +5199,69 @@
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
@@ -5273,13 +5281,13 @@
-
+
-
-
-
-
+
+
+
+
@@ -5290,10 +5298,10 @@
-
+
-
+
@@ -5301,9 +5309,9 @@
-
+
-
+
@@ -5318,27 +5326,27 @@
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -5348,7 +5356,7 @@
-
+
@@ -5399,55 +5407,55 @@
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
-
+
+
@@ -5455,61 +5463,61 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -5519,18 +5527,18 @@
-
+
-
+
-
+
@@ -5549,14 +5557,14 @@
-
+
-
+
@@ -5622,7 +5630,7 @@
-
+
@@ -5641,7 +5649,7 @@
-
+
@@ -5650,21 +5658,21 @@
-
-
+
+
-
+
-
+
-
+
-
+
@@ -5675,7 +5683,7 @@
-
+
@@ -5683,15 +5691,15 @@
-
+
-
+
-
+
@@ -5701,32 +5709,32 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
@@ -5747,9 +5755,9 @@
-
-
-
+
+
+
@@ -5757,7 +5765,7 @@
-
+
@@ -5775,7 +5783,7 @@
-
+
@@ -5803,19 +5811,19 @@
-
-
+
+
-
+
-
+
-
+
@@ -5826,34 +5834,34 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
-
+
-
-
+
+
@@ -5861,18 +5869,18 @@
-
-
+
+
-
+
-
+
@@ -5888,12 +5896,12 @@
-
-
-
+
+
+
-
+
@@ -5901,7 +5909,7 @@
-
+
@@ -5923,7 +5931,7 @@
-
+
@@ -5943,59 +5951,59 @@
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -6003,16 +6011,16 @@
-
-
-
+
+
+
-
-
+
+
-
+
@@ -6024,8 +6032,8 @@
-
-
+
+
@@ -6033,127 +6041,127 @@
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -6167,9 +6175,9 @@
-
+
-
+
@@ -6197,7 +6205,7 @@
-
+
@@ -6214,7 +6222,7 @@
-
+
@@ -6224,28 +6232,28 @@
-
+
-
+
-
+
-
+
-
-
+
+
@@ -6262,7 +6270,7 @@
-
+
@@ -6276,16 +6284,16 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -6293,14 +6301,10 @@
-
-
-
-
-
+
-
+
@@ -6313,7 +6317,7 @@
-
+
@@ -6322,14 +6326,14 @@
-
+
-
+
-
-
+
+
@@ -6338,63 +6342,52 @@
-
-
+
+
-
+
-
+
-
+
-
-
-
-
-
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
@@ -6425,7 +6418,7 @@
-
+
@@ -6435,7 +6428,7 @@
-
+
@@ -6451,7 +6444,7 @@
-
+
@@ -6461,8 +6454,8 @@
-
-
+
+
@@ -6485,31 +6478,31 @@
-
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
@@ -6537,22 +6530,22 @@
-
+
-
+
-
+
-
+
-
+
@@ -6571,7 +6564,7 @@
-
+
@@ -6586,7 +6579,7 @@
-
+
@@ -6684,7 +6677,7 @@
-
+
@@ -6838,21 +6831,21 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
-
+
@@ -6865,15 +6858,15 @@
-
+
-
+
-
+
@@ -6909,13 +6902,13 @@
-
+
-
+
@@ -6924,8 +6917,8 @@
-
-
+
+
@@ -6937,8 +6930,8 @@
-
-
+
+
@@ -6946,8 +6939,8 @@
-
-
+
+
@@ -6955,17 +6948,17 @@
-
+
-
-
-
-
-
+
+
+
+
+
@@ -6974,19 +6967,19 @@
-
+
-
-
+
+
-
+
-
-
-
+
+
+
@@ -6994,7 +6987,7 @@
-
+
@@ -7003,8 +6996,8 @@
-
-
+
+
@@ -7012,7 +7005,7 @@
-
+
@@ -7026,14 +7019,14 @@
-
+
-
+
-
+
@@ -7043,7 +7036,7 @@
-
+
@@ -7061,44 +7054,44 @@
-
-
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
@@ -7108,19 +7101,19 @@
-
+
-
+
-
+
@@ -7128,21 +7121,21 @@
-
+
-
+
-
+
-
-
+
+
@@ -7168,20 +7161,31 @@
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -7192,35 +7196,39 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
+
+
+
+
@@ -7234,92 +7242,92 @@
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
@@ -7333,8 +7341,8 @@
-
-
+
+
@@ -7364,8 +7372,8 @@
-
-
+
+
@@ -7404,14 +7412,14 @@
-
+
-
+
-
+
@@ -7434,14 +7442,14 @@
-
+
-
-
+
+
-
+
@@ -7453,31 +7461,31 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -7489,74 +7497,74 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
@@ -7565,23 +7573,23 @@
-
+
-
+
-
-
-
+
+
+
@@ -7589,11 +7597,11 @@
-
-
+
+
-
+
@@ -7601,17 +7609,17 @@
-
+
-
+
-
+
@@ -7619,63 +7627,63 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
+
@@ -7699,7 +7707,7 @@
-
+
@@ -7723,62 +7731,62 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
@@ -7793,15 +7801,15 @@
-
+
-
-
+
+
@@ -7810,91 +7818,91 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -7916,59 +7924,59 @@
-
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
@@ -7979,13 +7987,13 @@
-
-
+
+
-
+
-
+
@@ -7994,18 +8002,18 @@
-
-
+
+
-
+
-
+
-
+
@@ -8017,27 +8025,27 @@
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
@@ -8046,12 +8054,12 @@
-
+
-
+
-
+
@@ -8062,7 +8070,7 @@
-
+
@@ -8076,8 +8084,8 @@
-
-
+
+
@@ -8095,7 +8103,7 @@
-
+
@@ -8106,11 +8114,11 @@
-
-
+
+
-
+
@@ -8122,24 +8130,24 @@
-
+
-
+
-
+
-
+
@@ -8161,23 +8169,23 @@
-
+
-
+
-
+
-
+
-
+
@@ -8188,25 +8196,25 @@
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -8215,92 +8223,92 @@
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -8322,25 +8330,25 @@
-
-
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
@@ -8355,7 +8363,7 @@
-
+
@@ -8368,16 +8376,16 @@
-
-
+
+
-
+
-
+
@@ -8387,25 +8395,25 @@
-
-
+
+
-
+
-
+
-
+
-
+
@@ -8430,10 +8438,10 @@
-
+
-
+
@@ -8441,7 +8449,7 @@
-
+
@@ -8474,7 +8482,7 @@
-
+
@@ -8489,7 +8497,7 @@
-
+
@@ -8502,273 +8510,273 @@
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -8780,147 +8788,147 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
@@ -8935,261 +8943,261 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -9198,50 +9206,50 @@
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
@@ -9255,42 +9263,42 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -9298,8 +9306,8 @@
-
-
+
+
@@ -9308,46 +9316,46 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -9355,51 +9363,51 @@
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
@@ -9416,17 +9424,17 @@
-
+
-
-
+
+
-
+
-
-
+
+
@@ -9443,23 +9451,23 @@
-
+
-
+
-
+
-
+
-
+
@@ -9468,45 +9476,45 @@
-
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
@@ -9515,13 +9523,13 @@
-
+
-
+
@@ -9536,7 +9544,7 @@
-
+
@@ -9554,7 +9562,7 @@
-
+
@@ -9563,9 +9571,9 @@
-
-
-
+
+
+
@@ -9589,10 +9597,10 @@
-
-
-
-
+
+
+
+
@@ -9617,13 +9625,13 @@
-
+
-
+
@@ -9638,7 +9646,7 @@
-
+
@@ -9664,32 +9672,32 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
@@ -9697,12 +9705,12 @@
-
+
-
+
@@ -9720,7 +9728,7 @@
-
+
@@ -9728,7 +9736,7 @@
-
+
@@ -9739,43 +9747,43 @@
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -9816,18 +9824,18 @@
-
+
-
+
-
-
-
+
+
+
@@ -9847,7 +9855,7 @@
-
+
@@ -9875,146 +9883,146 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
@@ -10028,9 +10036,9 @@
-
+
-
+
@@ -10054,15 +10062,15 @@
-
+
-
+
-
+
@@ -10074,29 +10082,29 @@
-
+
-
+
-
+
-
+
-
+
-
-
+
+
@@ -10116,18 +10124,18 @@
-
-
-
+
+
+
-
-
-
+
+
+
@@ -10150,25 +10158,25 @@
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
@@ -10188,69 +10196,69 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
@@ -10258,411 +10266,411 @@
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
@@ -10675,10 +10683,10 @@
-
+
-
+
@@ -10687,7 +10695,7 @@
-
+
@@ -10696,14 +10704,14 @@
-
+
-
-
-
+
+
+
@@ -10715,7 +10723,7 @@
-
+
@@ -10731,46 +10739,46 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
@@ -10782,13 +10790,13 @@
-
+
-
+
-
+
@@ -10797,7 +10805,7 @@
-
+
@@ -10809,10 +10817,10 @@
-
+
-
+
@@ -10830,7 +10838,7 @@
-
+
@@ -10842,7 +10850,7 @@
-
+
@@ -10854,7 +10862,7 @@
-
+
@@ -10866,7 +10874,7 @@
-
+
@@ -10878,7 +10886,7 @@
-
+
@@ -10890,7 +10898,7 @@
-
+
@@ -10902,7 +10910,7 @@
-
+
@@ -10914,7 +10922,7 @@
-
+
@@ -10922,7 +10930,7 @@
-
+
@@ -10977,7 +10985,7 @@
-
+
@@ -11298,7 +11306,7 @@
-
+
@@ -11377,7 +11385,7 @@
-
+
@@ -11482,7 +11490,7 @@
-
+
@@ -11507,7 +11515,7 @@
-
+
@@ -11562,7 +11570,7 @@
-
+
@@ -11611,7 +11619,7 @@
-
+
@@ -11733,25 +11741,25 @@
-
+
-
+
-
+
-
+
-
+
@@ -12023,7 +12031,7 @@
-
+
@@ -12032,7 +12040,7 @@
-
+
@@ -12073,14 +12081,14 @@
-
+
-
+
@@ -12098,16 +12106,16 @@
-
-
+
+
-
+
-
+
@@ -12158,71 +12166,71 @@
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
@@ -12230,18 +12238,18 @@
-
+
-
+
-
+
@@ -12319,7 +12327,7 @@
-
+
@@ -12328,7 +12336,7 @@
-
+
@@ -12336,7 +12344,7 @@
-
+
@@ -12956,20 +12964,20 @@
-
+
-
+
-
+
@@ -13032,7 +13040,7 @@
-
+
@@ -13050,15 +13058,15 @@
-
+
-
+
-
+
@@ -13073,19 +13081,19 @@
-
+
-
+
-
+
@@ -13237,7 +13245,7 @@
-
+
@@ -13338,7 +13346,7 @@
-
+
@@ -13348,7 +13356,7 @@
-
+
@@ -13377,10 +13385,10 @@
-
+
-
+
@@ -13390,7 +13398,7 @@
-
+
@@ -13398,15 +13406,15 @@
-
+
-
-
-
+
+
+
@@ -13414,41 +13422,41 @@
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
@@ -13467,31 +13475,31 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -13509,37 +13517,37 @@
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -13549,16 +13557,16 @@
-
+
-
+
-
+
-
+
@@ -13567,16 +13575,16 @@
-
+
-
+
-
+
-
+
@@ -13585,41 +13593,41 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
@@ -13632,7 +13640,7 @@
-
+
@@ -13644,15 +13652,15 @@
-
+
-
-
-
-
+
+
+
+
-
+
@@ -13661,127 +13669,127 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
@@ -13817,10 +13825,10 @@
-
+
-
+
@@ -13862,7 +13870,7 @@
-
+
@@ -13907,7 +13915,7 @@
-
+
@@ -13937,7 +13945,7 @@
-
+
@@ -13946,31 +13954,31 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -13978,7 +13986,7 @@
-
+
@@ -13997,16 +14005,16 @@
-
+
-
+
-
+
@@ -14014,7 +14022,7 @@
-
+
@@ -14023,20 +14031,20 @@
-
-
+
+
-
+
-
+
-
+
@@ -14081,15 +14089,15 @@
-
+
-
+
-
+
@@ -14097,13 +14105,13 @@
-
+
-
+
@@ -14111,7 +14119,7 @@
-
+
@@ -14192,19 +14200,19 @@
-
+
-
+
-
+
-
+
@@ -14261,13 +14269,13 @@
-
+
-
+
-
+
@@ -14285,16 +14293,16 @@
-
+
-
+
-
+
-
+
@@ -14303,40 +14311,40 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -14348,13 +14356,13 @@
-
+
-
+
-
+
@@ -14363,14 +14371,14 @@
-
+
-
+
-
+
@@ -14379,7 +14387,7 @@
-
+
@@ -14387,7 +14395,7 @@
-
+
@@ -14423,7 +14431,7 @@
-
+
@@ -14455,7 +14463,7 @@
-
+
@@ -14479,7 +14487,7 @@
-
+
@@ -14551,13 +14559,13 @@
-
+
-
+
@@ -14609,7 +14617,7 @@
-
+
@@ -14672,10 +14680,10 @@
-
+
-
+
@@ -14690,13 +14698,13 @@
-
+
-
+
-
+
@@ -14723,10 +14731,10 @@
-
+
-
+
@@ -14738,7 +14746,7 @@
-
+
@@ -14747,32 +14755,32 @@
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -14781,10 +14789,10 @@
-
+
-
+
@@ -14805,14 +14813,14 @@
-
+
-
-
+
+
-
+
@@ -14827,7 +14835,7 @@
-
+
@@ -14837,7 +14845,7 @@
-
+
@@ -14849,22 +14857,22 @@
-
+
-
+
-
+
-
+
-
+
@@ -14894,7 +14902,7 @@
-
+
@@ -14912,7 +14920,7 @@
-
+
@@ -14933,7 +14941,7 @@
-
+
@@ -14948,28 +14956,28 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -14980,31 +14988,31 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -15013,29 +15021,29 @@
-
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -15043,19 +15051,19 @@
-
+
-
+
-
+
-
+
-
+
@@ -15087,7 +15095,7 @@
-
+
@@ -15115,7 +15123,7 @@
-
+
@@ -15124,20 +15132,20 @@
-
+
-
+
-
+
@@ -15154,7 +15162,7 @@
-
+
@@ -15170,7 +15178,7 @@
-
+
@@ -15182,7 +15190,7 @@
-
+
@@ -15194,7 +15202,7 @@
-
+
@@ -15206,7 +15214,7 @@
-
+
@@ -15214,7 +15222,7 @@
-
+
@@ -16357,7 +16365,7 @@
-
+
@@ -16371,10 +16379,10 @@
-
+
-
+
@@ -16420,25 +16428,25 @@
-
+
-
+
-
+
-
+
-
+
@@ -16446,7 +16454,7 @@
-
+
@@ -16471,7 +16479,7 @@
-
+
@@ -16485,10 +16493,10 @@
-
+
-
+
@@ -16522,7 +16530,7 @@
-
+
@@ -16530,7 +16538,7 @@
-
+
@@ -16547,7 +16555,7 @@
-
+
@@ -16558,10 +16566,10 @@
-
+
-
+
@@ -16603,13 +16611,13 @@
-
+
-
+
@@ -16629,13 +16637,13 @@
-
+
-
+
@@ -16694,16 +16702,16 @@
-
+
-
+
-
+
@@ -16735,7 +16743,7 @@
-
+
@@ -16773,7 +16781,7 @@
-
+
@@ -16787,10 +16795,10 @@
-
+
-
+
@@ -16807,7 +16815,7 @@
-
+
@@ -16818,13 +16826,13 @@
-
+
-
+
@@ -16848,7 +16856,7 @@
-
+
@@ -16861,7 +16869,7 @@
-
+
@@ -16876,13 +16884,13 @@
-
+
-
+
-
+
@@ -16891,10 +16899,10 @@
-
+
-
+
@@ -16903,15 +16911,15 @@
-
+
-
+
-
+
@@ -16926,7 +16934,7 @@
-
+
@@ -16935,16 +16943,16 @@
-
+
-
+
-
+
-
+
@@ -16952,7 +16960,7 @@
-
+
@@ -16960,7 +16968,7 @@
-
+
@@ -16968,7 +16976,7 @@
-
+
@@ -16976,20 +16984,20 @@
-
+
-
+
-
+
-
+
@@ -16997,7 +17005,7 @@
-
+
@@ -17005,7 +17013,7 @@
-
+
@@ -17013,7 +17021,7 @@
-
+
@@ -17021,41 +17029,41 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -17063,7 +17071,7 @@
-
+
@@ -17071,10 +17079,10 @@
-
+
-
+
@@ -17146,7 +17154,7 @@
-
+
@@ -17172,12 +17180,12 @@
-
+
-
+
@@ -17190,19 +17198,19 @@
-
+
-
+
-
+
-
+
-
+
@@ -17211,7 +17219,7 @@
-
+
@@ -17219,7 +17227,7 @@
-
+
@@ -17254,7 +17262,7 @@
-
+
@@ -17268,21 +17276,21 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
@@ -17341,10 +17349,13 @@
-
+
-
-
+
+
+
+
+
@@ -17427,2331 +17438,2331 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -19766,13 +19777,13 @@
-
+
-
+
-
+
@@ -19796,16 +19807,16 @@
-
+
-
+
-
+
@@ -19897,12 +19908,12 @@
-
+
-
+
@@ -19918,13 +19929,13 @@
-
+
-
+
-
+
@@ -19933,24 +19944,24 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -19959,13 +19970,13 @@
-
+
-
+
-
+
@@ -19974,7 +19985,7 @@
-
+
@@ -19986,7 +19997,7 @@
-
+
@@ -19995,7 +20006,7 @@
-
+
@@ -20019,7 +20030,7 @@
-
+
@@ -20040,7 +20051,7 @@
-
+
@@ -20085,7 +20096,7 @@
-
+
@@ -20133,16 +20144,16 @@
-
+
-
+
-
+
@@ -20171,13 +20182,13 @@
-
+
-
+
-
+
@@ -20196,7 +20207,7 @@
-
+
@@ -20205,7 +20216,7 @@
-
+
@@ -20214,7 +20225,7 @@
-
+
@@ -20236,14 +20247,14 @@
-
+
-
-
+
+
@@ -20281,7 +20292,7 @@
-
+
@@ -20408,16 +20419,16 @@
-
+
-
+
-
+
-
+
@@ -20429,30 +20440,30 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -20463,21 +20474,21 @@
-
+
-
+
-
+
-
+
@@ -20489,7 +20500,7 @@
-
+
@@ -20498,19 +20509,19 @@
-
+
-
+
-
+
-
+
@@ -20521,7 +20532,7 @@
-
+
@@ -20554,10 +20565,10 @@
-
+
-
+
@@ -20575,18 +20586,18 @@
-
+
-
+
-
+
-
+
@@ -20632,19 +20643,19 @@
-
+
-
+
-
+
@@ -20660,10 +20671,10 @@
-
+
-
+
@@ -20680,7 +20691,7 @@
-
+
@@ -20688,7 +20699,7 @@
-
+
@@ -20696,10 +20707,10 @@
-
+
-
+
@@ -20708,10 +20719,10 @@
-
+
-
+
@@ -20761,254 +20772,254 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -21028,7 +21039,7 @@
-
+
@@ -21040,7 +21051,7 @@
-
+
@@ -21109,10 +21120,10 @@
-
+
-
+
@@ -21135,7 +21146,7 @@
-
+
@@ -21144,13 +21155,13 @@
-
+
-
+
-
+
@@ -21209,7 +21220,7 @@
-
+
@@ -21219,7 +21230,7 @@
-
+
@@ -21227,10 +21238,10 @@
-
+
-
+
@@ -21276,13 +21287,13 @@
-
+
-
+
-
+
@@ -21302,7 +21313,7 @@
-
+
@@ -21318,12 +21329,12 @@
-
+
-
+
@@ -21337,7 +21348,7 @@
-
+
@@ -21360,10 +21371,10 @@
-
+
-
+
@@ -21378,7 +21389,7 @@
-
+
@@ -21386,7 +21397,7 @@
-
+
@@ -21397,7 +21408,7 @@
-
+
@@ -21439,7 +21450,7 @@
-
+
@@ -21467,16 +21478,16 @@
-
+
-
+
-
+
@@ -21501,28 +21512,28 @@
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
@@ -21537,17 +21548,17 @@
-
-
-
+
+
+
-
-
+
+
-
+
@@ -21577,30 +21588,30 @@
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
@@ -21613,12 +21624,12 @@
-
+
-
+
-
+
@@ -21626,10 +21637,10 @@
-
+
-
+
@@ -21642,7 +21653,7 @@
-
+
@@ -21651,7 +21662,7 @@
-
+
@@ -21663,7 +21674,7 @@
-
+
@@ -21672,13 +21683,13 @@
-
+
-
+
@@ -21689,34 +21700,34 @@
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
@@ -21745,44 +21756,44 @@
-
+
-
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
@@ -21832,10 +21843,10 @@
-
+
-
+
@@ -21851,10 +21862,10 @@
-
+
-
+
@@ -21862,27 +21873,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -21898,15 +21909,15 @@
-
+
-
+
-
+
@@ -21914,19 +21925,19 @@
-
+
-
+
-
+
-
+
@@ -21935,7 +21946,7 @@
-
+
@@ -22014,7 +22025,7 @@
-
+
@@ -22026,18 +22037,18 @@
-
-
-
-
+
+
+
+
-
+
-
+
@@ -22068,7 +22079,7 @@
-
+
@@ -22083,7 +22094,7 @@
-
+
@@ -22152,7 +22163,7 @@
-
+
@@ -22274,7 +22285,7 @@
-
+
@@ -22366,7 +22377,7 @@
-
+
@@ -22375,7 +22386,7 @@
-
+
@@ -22416,7 +22427,7 @@
-
+
@@ -22426,26 +22437,26 @@
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -22460,15 +22471,15 @@
-
-
+
+
-
+
-
-
-
+
+
+
@@ -22477,17 +22488,17 @@
-
+
-
+
-
+
@@ -22502,7 +22513,7 @@
-
+
@@ -22529,14 +22540,14 @@
-
+
-
+
@@ -22548,7 +22559,7 @@
-
+
@@ -22559,16 +22570,16 @@
-
-
-
+
+
+
-
+
-
+
@@ -22576,9 +22587,9 @@
-
-
-
+
+
+
@@ -22586,16 +22597,16 @@
-
+
-
+
-
-
+
+
@@ -22605,7 +22616,7 @@
-
+
@@ -22621,12 +22632,12 @@
-
+
-
+
@@ -22638,7 +22649,7 @@
-
+
@@ -22669,7 +22680,7 @@
-
+
@@ -22677,31 +22688,31 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
@@ -22736,27 +22747,27 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -22778,7 +22789,7 @@
-
+
@@ -22836,7 +22847,7 @@
-
+
@@ -22846,8 +22857,8 @@
-
-
+
+
@@ -22856,7 +22867,7 @@
-
+
@@ -22871,7 +22882,7 @@
-
+
@@ -22883,7 +22894,7 @@
-
+
@@ -22908,7 +22919,7 @@
-
+
@@ -22923,12 +22934,12 @@
-
+
-
-
+
+
@@ -22949,7 +22960,7 @@
-
+
@@ -22958,7 +22969,7 @@
-
+
@@ -22977,12 +22988,12 @@
-
+
-
+
@@ -22995,7 +23006,7 @@
-
+
@@ -23006,12 +23017,12 @@
-
-
+
+
-
+
@@ -23022,7 +23033,7 @@
-
+
@@ -23031,7 +23042,7 @@
-
+
@@ -23047,7 +23058,7 @@
-
+
@@ -23059,12 +23070,12 @@
-
+
-
+
@@ -23073,24 +23084,24 @@
-
-
+
+
-
+
-
+
-
+
@@ -23099,54 +23110,54 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
@@ -23172,9 +23183,9 @@
-
-
-
+
+
+
@@ -23195,7 +23206,7 @@
-
+
@@ -23208,8 +23219,8 @@
-
-
+
+
@@ -23223,7 +23234,7 @@
-
+
@@ -23231,7 +23242,7 @@
-
+
@@ -23253,12 +23264,12 @@
-
+
-
+
@@ -23278,9 +23289,9 @@
-
+
-
+
@@ -23293,22 +23304,22 @@
-
-
+
+
-
+
-
+
-
+
@@ -23320,9 +23331,9 @@
-
-
+
+
@@ -23346,36 +23357,36 @@
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
@@ -23397,7 +23408,7 @@
-
+
@@ -23455,14 +23466,14 @@
-
+
-
+
@@ -23471,27 +23482,27 @@
-
-
+
+
-
+
-
+
-
+
-
+
@@ -23525,22 +23536,22 @@
-
+
-
+
-
+
-
+
-
+
@@ -23549,8 +23560,8 @@
-
-
+
+
@@ -23560,8 +23571,8 @@
-
-
+
+
@@ -23593,7 +23604,7 @@
-
+
@@ -23679,7 +23690,7 @@
-
+
@@ -23694,7 +23705,7 @@
-
+
@@ -23728,11 +23739,11 @@
-
+
-
+
@@ -23742,23 +23753,23 @@
-
+
-
+
-
+
-
-
-
+
+
+
@@ -23769,11 +23780,11 @@
-
+
-
+
-
+
@@ -23783,7 +23794,7 @@
-
+
@@ -23791,14 +23802,14 @@
-
+
-
+
@@ -23831,15 +23842,15 @@
-
+
-
+
-
+
@@ -23849,15 +23860,15 @@
-
+
-
+
-
+
@@ -23877,8 +23888,8 @@
-
-
+
+
@@ -23887,10 +23898,10 @@
-
+
-
+
@@ -23905,7 +23916,7 @@
-
+
@@ -23915,45 +23926,45 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
@@ -23966,32 +23977,32 @@
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -24045,7 +24056,7 @@
-
+
@@ -24083,86 +24094,86 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -24177,8 +24188,8 @@
-
-
+
+
@@ -24188,7 +24199,7 @@
-
+
@@ -24209,7 +24220,7 @@
-
+
@@ -24220,7 +24231,7 @@
-
+
@@ -24231,13 +24242,13 @@
-
+
-
+
@@ -24245,55 +24256,55 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
@@ -24317,7 +24328,7 @@
-
+
@@ -24340,42 +24351,42 @@
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
@@ -24386,7 +24397,7 @@
-
+
@@ -24398,44 +24409,44 @@
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -24480,7 +24491,7 @@
-
+
@@ -24496,20 +24507,20 @@
-
+
-
+
-
+
-
+
@@ -24520,22 +24531,22 @@
-
-
+
+
-
+
-
+
-
+
-
+
@@ -24614,7 +24625,7 @@
-
+
@@ -24623,7 +24634,7 @@
-
+
@@ -24631,8 +24642,8 @@
-
-
+
+
@@ -24681,10 +24692,10 @@
-
+
-
+
@@ -24703,10 +24714,10 @@
-
+
-
+
@@ -24715,7 +24726,7 @@
-
+
@@ -24726,7 +24737,7 @@
-
+
@@ -24780,7 +24791,7 @@
-
+
@@ -24813,43 +24824,43 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -24873,12 +24884,12 @@
-
+
-
+
@@ -24889,7 +24900,7 @@
-
+
@@ -24901,7 +24912,7 @@
-
+
@@ -24952,8 +24963,8 @@
-
-
+
+
@@ -24966,7 +24977,7 @@
-
+
@@ -25013,7 +25024,7 @@
-
+
@@ -25028,15 +25039,15 @@
-
+
-
-
+
+
-
+
@@ -25089,47 +25100,47 @@
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
@@ -25147,7 +25158,7 @@
-
+
@@ -25200,7 +25211,7 @@
-
+
@@ -25214,7 +25225,7 @@
-
+
@@ -25225,22 +25236,22 @@
-
+
-
-
+
+
-
+
-
+
@@ -25263,7 +25274,7 @@
-
+
@@ -25316,7 +25327,7 @@
-
+
@@ -25329,7 +25340,7 @@
-
+
@@ -25343,10 +25354,10 @@
-
+
-
+
@@ -25388,7 +25399,7 @@
-
+
@@ -25398,90 +25409,90 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
@@ -25496,22 +25507,22 @@
-
-
+
+
-
+
-
+
@@ -25587,7 +25598,7 @@
-
+
@@ -25597,14 +25608,14 @@
-
+
-
+
-
-
+
+
@@ -25622,11 +25633,11 @@
-
+
-
+
@@ -25635,7 +25646,7 @@
-
+
@@ -25651,9 +25662,9 @@
-
-
-
+
+
+
@@ -25692,7 +25703,7 @@
-
+
@@ -25726,8 +25737,13 @@
+
+
+
+
+
-
+
@@ -25738,7 +25754,7 @@
-
+
@@ -25748,33 +25764,33 @@
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
@@ -25785,9 +25801,9 @@
-
+
-
+
@@ -25795,20 +25811,20 @@
-
-
+
+
-
+
-
-
+
+
-
+
@@ -25821,30 +25837,30 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -25852,17 +25868,17 @@
-
+
-
-
+
+
-
+
@@ -25895,60 +25911,60 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -25963,10 +25979,10 @@
-
+
-
+
@@ -25981,34 +25997,34 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -26035,35 +26051,35 @@
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
@@ -26071,7 +26087,7 @@
-
+
@@ -26088,19 +26104,19 @@
-
+
-
-
-
+
+
+
-
-
+
+
-
+
@@ -26108,7 +26124,7 @@
-
+
@@ -26142,21 +26158,21 @@
-
+
-
+
-
+
-
+
-
-
+
+
@@ -26177,7 +26193,7 @@
-
+
@@ -26186,13 +26202,13 @@
-
+
-
+
@@ -26208,7 +26224,7 @@
-
+
@@ -26216,50 +26232,50 @@
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
+
@@ -26268,13 +26284,13 @@
-
-
+
+
-
+
@@ -26288,15 +26304,15 @@
-
-
-
+
+
+
-
+
-
+
@@ -26304,7 +26320,7 @@
-
+
@@ -26338,7 +26354,7 @@
-
+
@@ -26362,7 +26378,7 @@
-
+
@@ -26371,16 +26387,16 @@
-
-
-
+
+
+
-
+
@@ -26411,7 +26427,7 @@
-
+
@@ -26433,26 +26449,26 @@
-
-
+
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
@@ -26486,22 +26502,22 @@
-
+
-
+
-
+
-
+
-
+
@@ -26515,11 +26531,11 @@
-
+
-
+
@@ -26582,8 +26598,8 @@
-
-
+
+
@@ -26591,13 +26607,13 @@
-
+
-
+
@@ -26623,19 +26639,19 @@
-
+
-
+
-
+
-
-
-
+
+
+
@@ -26654,14 +26670,14 @@
-
-
+
+
-
+
@@ -26669,7 +26685,7 @@
-
+
@@ -26678,21 +26694,21 @@
-
+
-
+
-
+
-
+
@@ -26703,7 +26719,7 @@
-
+
@@ -26713,32 +26729,32 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -26746,16 +26762,16 @@
-
+
-
-
+
+
-
+
-
+
@@ -26767,8 +26783,8 @@
-
-
+
+
@@ -26787,135 +26803,135 @@
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
@@ -27028,7 +27044,7 @@
-
+
@@ -27045,22 +27061,22 @@
-
+
-
+
-
+
-
+
-
+
@@ -27087,13 +27103,13 @@
-
+
-
+
@@ -27111,27 +27127,27 @@
-
+
-
+
-
+
-
+
-
+
@@ -27145,19 +27161,19 @@
-
+
-
+
-
-
+
+
@@ -27171,35 +27187,35 @@
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
@@ -27211,7 +27227,7 @@
-
+
@@ -27221,26 +27237,26 @@
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
@@ -27248,7 +27264,7 @@
-
+
@@ -27265,13 +27281,13 @@
-
-
-
+
+
+
-
-
+
+
@@ -27290,7 +27306,7 @@
-
+
@@ -27324,11 +27340,11 @@
-
+
-
+
@@ -27336,19 +27352,19 @@
-
-
+
+
-
-
+
+
-
+
@@ -27357,19 +27373,19 @@
-
+
-
+
-
+
-
+
@@ -27381,63 +27397,63 @@
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
@@ -27449,10 +27465,10 @@
-
+
-
+
@@ -27462,12 +27478,12 @@
-
+
-
+
@@ -27483,19 +27499,19 @@
-
+
-
+
-
+
-
+
@@ -27511,14 +27527,14 @@
-
-
+
+
-
+
@@ -27531,41 +27547,41 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -27583,40 +27599,40 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -27624,9 +27640,9 @@
-
+
-
+
@@ -27649,13 +27665,13 @@
-
+
-
-
+
+
@@ -27697,23 +27713,23 @@
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
@@ -27724,10 +27740,10 @@
-
+
-
+
@@ -27750,18 +27766,18 @@
-
+
-
+
-
+
-
+
@@ -27769,7 +27785,7 @@
-
+
@@ -27777,7 +27793,7 @@
-
+
@@ -27789,12 +27805,12 @@
-
+
-
+
-
+
@@ -27803,30 +27819,30 @@
-
+
-
-
-
+
+
+
-
+
-
+
-
+
@@ -27840,73 +27856,73 @@
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -27918,117 +27934,117 @@
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -28047,50 +28063,50 @@
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
@@ -28098,16 +28114,16 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -28129,135 +28145,135 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
@@ -28267,8 +28283,8 @@
+
-
@@ -28283,7 +28299,7 @@
-
+
@@ -28292,58 +28308,58 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -28365,7 +28381,7 @@
-
+
@@ -28375,9 +28391,9 @@
-
-
-
+
+
+
@@ -28390,24 +28406,24 @@
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
@@ -28417,13 +28433,13 @@
-
+
-
+
@@ -28435,7 +28451,7 @@
-
+
@@ -28443,7 +28459,7 @@
-
+
@@ -28457,27 +28473,27 @@
-
+
-
+
-
+
+
-
-
+
@@ -28485,59 +28501,59 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -28547,7 +28563,7 @@
-
+
@@ -28586,83 +28602,83 @@
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
@@ -28670,52 +28686,52 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -28723,37 +28739,37 @@
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
@@ -28764,37 +28780,37 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -28804,42 +28820,42 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -28847,7 +28863,7 @@
-
+
@@ -28856,21 +28872,21 @@
-
+
-
+
-
+
-
+
@@ -28896,21 +28912,21 @@
-
+
-
+
-
+
-
+
@@ -28922,11 +28938,11 @@
-
+
-
+
@@ -28955,173 +28971,173 @@
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
+
+
@@ -29134,7 +29150,7 @@
-
+
@@ -29142,66 +29158,66 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
@@ -29232,16 +29248,16 @@
-
+
-
+
-
-
+
+
@@ -29259,7 +29275,7 @@
-
+
@@ -29276,8 +29292,8 @@
-
-
+
+
@@ -29288,14 +29304,14 @@
-
+
-
+
@@ -29308,9 +29324,9 @@
-
+
-
+
@@ -29325,38 +29341,33 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
-
-
-
-
+
+
@@ -29364,21 +29375,21 @@
-
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/Include/internal/pycore_global_objects.h b/Include/internal/pycore_global_objects.h
index 327fcc24cb29f1..9d376e7db021ef 100644
--- a/Include/internal/pycore_global_objects.h
+++ b/Include/internal/pycore_global_objects.h
@@ -67,7 +67,7 @@ struct _Py_interp_cached_objects {
PyObject *interned_strings;
/* AST */
- PyObject *str_replace_inf;
+ PyObject *_unused_str_replace_inf; // kept in 3.13 for ABI compatibility
/* object.__reduce__ */
PyObject *objreduce;
diff --git a/Include/internal/pycore_global_objects_fini_generated.h b/Include/internal/pycore_global_objects_fini_generated.h
index 006dd911b5a8ef..cd56ffde9e555e 100644
--- a/Include/internal/pycore_global_objects_fini_generated.h
+++ b/Include/internal/pycore_global_objects_fini_generated.h
@@ -561,6 +561,7 @@ _PyStaticObjects_CheckRefcnt(PyInterpreterState *interp) {
_PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(json_decoder));
_PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(kwdefaults));
_PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(list_err));
+ _PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(str_replace_inf));
_PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(type_params));
_PyStaticObject_CheckRefcnt((PyObject *)&_Py_STR(utf_8));
_PyStaticObject_CheckRefcnt((PyObject *)&_Py_ID(CANCELLED));
diff --git a/Include/internal/pycore_global_strings.h b/Include/internal/pycore_global_strings.h
index a5436b6d689612..cad2d1a8d22049 100644
--- a/Include/internal/pycore_global_strings.h
+++ b/Include/internal/pycore_global_strings.h
@@ -47,6 +47,7 @@ struct _Py_global_strings {
STRUCT_FOR_STR(json_decoder, "json.decoder")
STRUCT_FOR_STR(kwdefaults, ".kwdefaults")
STRUCT_FOR_STR(list_err, "list index out of range")
+ STRUCT_FOR_STR(str_replace_inf, "1e309")
STRUCT_FOR_STR(type_params, ".type_params")
STRUCT_FOR_STR(utf_8, "utf-8")
} literals;
diff --git a/Include/internal/pycore_runtime_init_generated.h b/Include/internal/pycore_runtime_init_generated.h
index 6e62ecd4b3a815..19a6b9b1537d51 100644
--- a/Include/internal/pycore_runtime_init_generated.h
+++ b/Include/internal/pycore_runtime_init_generated.h
@@ -556,6 +556,7 @@ extern "C" {
INIT_STR(json_decoder, "json.decoder"), \
INIT_STR(kwdefaults, ".kwdefaults"), \
INIT_STR(list_err, "list index out of range"), \
+ INIT_STR(str_replace_inf, "1e309"), \
INIT_STR(type_params, ".type_params"), \
INIT_STR(utf_8, "utf-8"), \
}
diff --git a/Include/internal/pycore_unicodeobject_generated.h b/Include/internal/pycore_unicodeobject_generated.h
index 5337390309548b..7f6b6e07984a9a 100644
--- a/Include/internal/pycore_unicodeobject_generated.h
+++ b/Include/internal/pycore_unicodeobject_generated.h
@@ -2912,6 +2912,10 @@ _PyUnicode_InitStaticStrings(PyInterpreterState *interp) {
_PyUnicode_InternStatic(interp, &string);
assert(_PyUnicode_CheckConsistency(string, 1));
assert(PyUnicode_GET_LENGTH(string) != 1);
+ string = &_Py_STR(str_replace_inf);
+ _PyUnicode_InternStatic(interp, &string);
+ assert(_PyUnicode_CheckConsistency(string, 1));
+ assert(PyUnicode_GET_LENGTH(string) != 1);
string = &_Py_STR(anon_null);
_PyUnicode_InternStatic(interp, &string);
assert(_PyUnicode_CheckConsistency(string, 1));
diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py
index 3711cf1280f7bf..ed2ea16284d0e7 100755
--- a/Parser/asdl_c.py
+++ b/Parser/asdl_c.py
@@ -1740,8 +1740,6 @@ def generate_ast_fini(module_state, f):
for s in module_state:
f.write(" Py_CLEAR(state->" + s + ');\n')
f.write(textwrap.dedent("""
- Py_CLEAR(_Py_INTERP_CACHED_OBJECT(interp, str_replace_inf));
-
state->finalized = 1;
state->once = (_PyOnceFlag){0};
}
diff --git a/Python/Python-ast.c b/Python/Python-ast.c
index e38a145271589a..0f04c43b34cbb2 100644
--- a/Python/Python-ast.c
+++ b/Python/Python-ast.c
@@ -279,8 +279,6 @@ void _PyAST_Fini(PyInterpreterState *interp)
Py_CLEAR(state->vararg);
Py_CLEAR(state->withitem_type);
- Py_CLEAR(_Py_INTERP_CACHED_OBJECT(interp, str_replace_inf));
-
state->finalized = 1;
state->once = (_PyOnceFlag){0};
}
diff --git a/Python/ast_unparse.c b/Python/ast_unparse.c
index 10e9d9b7104314..0d196dc482f954 100644
--- a/Python/ast_unparse.c
+++ b/Python/ast_unparse.c
@@ -2,7 +2,6 @@
#include "pycore_ast.h" // expr_ty
#include "pycore_pystate.h" // _PyInterpreterState_GET()
#include "pycore_runtime.h" // _Py_ID()
-#include // DBL_MAX_10_EXP
#include
/* This limited unparser is used to convert annotations back to strings
@@ -13,10 +12,6 @@
_Py_DECLARE_STR(dbl_open_br, "{{");
_Py_DECLARE_STR(dbl_close_br, "}}");
-/* We would statically initialize this if doing so were simple enough. */
-#define _str_replace_inf(interp) \
- _Py_INTERP_CACHED_OBJECT(interp, str_replace_inf)
-
/* Forward declarations for recursion via helper functions. */
static PyObject *
expr_as_unicode(expr_ty e, int level);
@@ -78,13 +73,13 @@ append_repr(_PyUnicodeWriter *writer, PyObject *obj)
}
if ((PyFloat_CheckExact(obj) && Py_IS_INFINITY(PyFloat_AS_DOUBLE(obj))) ||
- PyComplex_CheckExact(obj))
+ PyComplex_CheckExact(obj))
{
- PyInterpreterState *interp = _PyInterpreterState_GET();
+ _Py_DECLARE_STR(str_replace_inf, "1e309"); // evaluates to inf
PyObject *new_repr = PyUnicode_Replace(
repr,
&_Py_ID(inf),
- _str_replace_inf(interp),
+ &_Py_STR(str_replace_inf),
-1
);
Py_DECREF(repr);
@@ -918,20 +913,6 @@ append_ast_expr(_PyUnicodeWriter *writer, expr_ty e, int level)
return -1;
}
-static int
-maybe_init_static_strings(void)
-{
- PyInterpreterState *interp = _PyInterpreterState_GET();
- if (_str_replace_inf(interp) == NULL) {
- PyObject *tmp = PyUnicode_FromFormat("1e%d", 1 + DBL_MAX_10_EXP);
- if (tmp == NULL) {
- return -1;
- }
- _str_replace_inf(interp) = tmp;
- }
- return 0;
-}
-
static PyObject *
expr_as_unicode(expr_ty e, int level)
{
@@ -939,9 +920,7 @@ expr_as_unicode(expr_ty e, int level)
_PyUnicodeWriter_Init(&writer);
writer.min_length = 256;
writer.overallocate = 1;
- if (-1 == maybe_init_static_strings() ||
- -1 == append_ast_expr(&writer, e, level))
- {
+ if (-1 == append_ast_expr(&writer, e, level)) {
_PyUnicodeWriter_Dealloc(&writer);
return NULL;
}