3 no comments

This commit is contained in:
antoc0der 2024-10-24 21:50:12 +04:00
parent 51ab2ce67c
commit 03e83b0312
21 changed files with 47334 additions and 1190 deletions

19238
data/car_price_prediction.csv Normal file

File diff suppressed because it is too large Load Diff

8
data/forcast.csv Normal file
View File

@ -0,0 +1,8 @@
Year,Population,YearlyPer,Yearly,Median,Fertility,Density
2020,"7,794,798,739",1.10%,"83,000,320",31,2.47,52
2025,"8,184,437,460",0.98%,"77,927,744",32,2.54,55
2030,"8,548,487,400",0.87%,"72,809,988",33,2.62,57
2035,"8,887,524,213",0.78%,"67,807,363",34,2.7,60
2040,"9,198,847,240",0.69%,"62,264,605",35,2.77,62
2045,"9,481,803,274",0.61%,"56,591,207",35,2.85,64
2050,"9,735,033,990",0.53%,"50,646,143",36,2.95,65
1 Year Population YearlyPer Yearly Median Fertility Density
2 2020 7,794,798,739 1.10% 83,000,320 31 2.47 52
3 2025 8,184,437,460 0.98% 77,927,744 32 2.54 55
4 2030 8,548,487,400 0.87% 72,809,988 33 2.62 57
5 2035 8,887,524,213 0.78% 67,807,363 34 2.7 60
6 2040 9,198,847,240 0.69% 62,264,605 35 2.77 62
7 2045 9,481,803,274 0.61% 56,591,207 35 2.85 64
8 2050 9,735,033,990 0.53% 50,646,143 36 2.95 65

21614
data/kc_house_data.csv Normal file

File diff suppressed because it is too large Load Diff

236
data/population.csv Normal file
View File

@ -0,0 +1,236 @@
no,Country (or dependency),Population 2020,Yearly Change,Net Change,Density(P/Km²),Land Area (Km²),Migrants (net),Fert. Rate,MedAge,Urban Pop %,World Share
1,China,"1,439,323,776",0.39%,"5,540,090",153,"9,388,211","-348,399",1.7,38,61%,18.47%
2,India,"1,380,004,385",0.99%,"13,586,631",464,"2,973,190","-532,687",2.2,28,35%,17.70%
3,United States,"331,002,651",0.59%,"1,937,734",36,"9,147,420","954,806",1.8,38,83%,4.25%
4,Indonesia,"273,523,615",1.07%,"2,898,047",151,"1,811,570","-98,955",2.3,30,56%,3.51%
5,Pakistan,"220,892,340",2.00%,"4,327,022",287,"770,880","-233,379",3.6,23,35%,2.83%
6,Brazil,"212,559,417",0.72%,"1,509,890",25,"8,358,140","21,200",1.7,33,88%,2.73%
7,Nigeria,"206,139,589",2.58%,"5,175,990",226,"910,770","-60,000",5.4,18,52%,2.64%
8,Bangladesh,"164,689,383",1.01%,"1,643,222","1,265","130,170","-369,501",2.1,28,39%,2.11%
9,Russia,"145,934,462",0.04%,"62,206",9,"16,376,870","182,456",1.8,40,74%,1.87%
10,Mexico,"128,932,753",1.06%,"1,357,224",66,"1,943,950","-60,000",2.1,29,84%,1.65%
11,Japan,"126,476,461",-0.30%,"-383,840",347,"364,555","71,560",1.4,48,92%,1.62%
12,Ethiopia,"114,963,588",2.57%,"2,884,858",115,"1,000,000","30,000",4.3,19,21%,1.47%
13,Philippines,"109,581,078",1.35%,"1,464,463",368,"298,170","-67,152",2.6,26,47%,1.41%
14,Egypt,"102,334,404",1.94%,"1,946,331",103,"995,450","-38,033",3.3,25,43%,1.31%
15,Vietnam,"97,338,579",0.91%,"876,473",314,"310,070","-80,000",2.1,32,38%,1.25%
16,DR Congo,"89,561,403",3.19%,"2,770,836",40,"2,267,050","23,861",6,17,46%,1.15%
17,Turkey,"84,339,067",1.09%,"909,452",110,"769,630","283,922",2.1,32,76%,1.08%
18,Iran,"83,992,949",1.30%,"1,079,043",52,"1,628,550","-55,000",2.2,32,76%,1.08%
19,Germany,"83,783,942",0.32%,"266,897",240,"348,560","543,822",1.6,46,76%,1.07%
20,Thailand,"69,799,978",0.25%,"174,396",137,"510,890","19,444",1.5,40,51%,0.90%
21,United Kingdom,"67,886,011",0.53%,"355,839",281,"241,930","260,650",1.8,40,83%,0.87%
22,France,"65,273,511",0.22%,"143,783",119,"547,557","36,527",1.9,42,82%,0.84%
23,Italy,"60,461,826",-0.15%,"-88,249",206,"294,140","148,943",1.3,47,69%,0.78%
24,Tanzania,"59,734,218",2.98%,"1,728,755",67,"885,800","-40,076",4.9,18,37%,0.77%
25,South Africa,"59,308,690",1.28%,"750,420",49,"1,213,090","145,405",2.4,28,67%,0.76%
26,Myanmar,"54,409,800",0.67%,"364,380",83,"653,290","-163,313",2.2,29,31%,0.70%
27,Kenya,"53,771,296",2.28%,"1,197,323",94,"569,140","-10,000",3.5,20,28%,0.69%
28,South Korea,"51,269,185",0.09%,"43,877",527,"97,230","11,731",1.1,44,82%,0.66%
29,Colombia,"50,882,891",1.08%,"543,448",46,"1,109,500","204,796",1.8,31,80%,0.65%
30,Spain,"46,754,778",0.04%,"18,002",94,"498,800","40,000",1.3,45,80%,0.60%
31,Uganda,"45,741,007",3.32%,"1,471,413",229,"199,810","168,694",5,17,26%,0.59%
32,Argentina,"45,195,774",0.93%,"415,097",17,"2,736,690","4,800",2.3,32,93%,0.58%
33,Algeria,"43,851,044",1.85%,"797,990",18,"2,381,740","-10,000",3.1,29,73%,0.56%
34,Sudan,"43,849,260",2.42%,"1,036,022",25,"1,765,048","-50,000",4.4,20,35%,0.56%
35,Ukraine,"43,733,762",-0.59%,"-259,876",75,"579,320","10,000",1.4,41,69%,0.56%
36,Iraq,"40,222,493",2.32%,"912,710",93,"434,320","7,834",3.7,21,73%,0.52%
37,Afghanistan,"38,928,346",2.33%,"886,592",60,"652,860","-62,920",4.6,18,25%,0.50%
38,Poland,"37,846,611",-0.11%,"-41,157",124,"306,230","-29,395",1.4,42,60%,0.49%
39,Canada,"37,742,154",0.89%,"331,107",4,"9,093,510","242,032",1.5,41,81%,0.48%
40,Morocco,"36,910,560",1.20%,"438,791",83,"446,300","-51,419",2.4,30,64%,0.47%
41,Saudi Arabia,"34,813,871",1.59%,"545,343",16,"2,149,690","134,979",2.3,32,84%,0.45%
42,Uzbekistan,"33,469,203",1.48%,"487,487",79,"425,400","-8,863",2.4,28,50%,0.43%
43,Peru,"32,971,854",1.42%,"461,401",26,"1,280,000","99,069",2.3,31,79%,0.42%
44,Angola,"32,866,272",3.27%,"1,040,977",26,"1,246,700","6,413",5.6,17,67%,0.42%
45,Malaysia,"32,365,999",1.30%,"416,222",99,"328,550","50,000",2,30,78%,0.42%
46,Mozambique,"31,255,435",2.93%,"889,399",40,"786,380","-5,000",4.9,18,38%,0.40%
47,Ghana,"31,072,940",2.15%,"655,084",137,"227,540","-10,000",3.9,22,57%,0.40%
48,Yemen,"29,825,964",2.28%,"664,042",56,"527,970","-30,000",3.8,20,38%,0.38%
49,Nepal,"29,136,808",1.85%,"528,098",203,"143,350","41,710",1.9,25,21%,0.37%
50,Venezuela,"28,435,940",-0.28%,"-79,889",32,"882,050","-653,249",2.3,30,N.A.,0.36%
51,Madagascar,"27,691,018",2.68%,"721,711",48,"581,795","-1,500",4.1,20,39%,0.36%
52,Cameroon,"26,545,863",2.59%,"669,483",56,"472,710","-4,800",4.6,19,56%,0.34%
53,Côte d'Ivoire,"26,378,274",2.57%,"661,730",83,"318,000","-8,000",4.7,19,51%,0.34%
54,North Korea,"25,778,816",0.44%,"112,655",214,"120,410","-5,403",1.9,35,63%,0.33%
55,Australia,"25,499,884",1.18%,"296,686",3,"7,682,300","158,246",1.8,38,86%,0.33%
56,Niger,"24,206,644",3.84%,"895,929",19,"1,266,700","4,000",7,15,17%,0.31%
57,Taiwan,"23,816,775",0.18%,"42,899",673,"35,410","30,001",1.2,42,79%,0.31%
58,Sri Lanka,"21,413,249",0.42%,"89,516",341,"62,710","-97,986",2.2,34,18%,0.27%
59,Burkina Faso,"20,903,273",2.86%,"581,895",76,"273,600","-25,000",5.2,18,31%,0.27%
60,Mali,"20,250,833",3.02%,"592,802",17,"1,220,190","-40,000",5.9,16,44%,0.26%
61,Romania,"19,237,691",-0.66%,"-126,866",84,"230,170","-73,999",1.6,43,55%,0.25%
62,Malawi,"19,129,952",2.69%,"501,205",203,"94,280","-16,053",4.3,18,18%,0.25%
63,Chile,"19,116,201",0.87%,"164,163",26,"743,532","111,708",1.7,35,85%,0.25%
64,Kazakhstan,"18,776,707",1.21%,"225,280",7,"2,699,700","-18,000",2.8,31,58%,0.24%
65,Zambia,"18,383,955",2.93%,"522,925",25,"743,390","-8,000",4.7,18,45%,0.24%
66,Guatemala,"17,915,568",1.90%,"334,096",167,"107,160","-9,215",2.9,23,52%,0.23%
67,Ecuador,"17,643,054",1.55%,"269,392",71,"248,360","36,400",2.4,28,63%,0.23%
68,Syria,"17,500,658",2.52%,"430,523",95,"183,630","-427,391",2.8,26,60%,0.22%
69,Netherlands,"17,134,872",0.22%,"37,742",508,"33,720","16,000",1.7,43,92%,0.22%
70,Senegal,"16,743,927",2.75%,"447,563",87,"192,530","-20,000",4.7,19,49%,0.21%
71,Cambodia,"16,718,965",1.41%,"232,423",95,"176,520","-30,000",2.5,26,24%,0.21%
72,Chad,"16,425,864",3.00%,"478,988",13,"1,259,200","2,000",5.8,17,23%,0.21%
73,Somalia,"15,893,222",2.92%,"450,317",25,"627,340","-40,000",6.1,17,47%,0.20%
74,Zimbabwe,"14,862,924",1.48%,"217,456",38,"386,850","-116,858",3.6,19,38%,0.19%
75,Guinea,"13,132,795",2.83%,"361,549",53,"245,720","-4,000",4.7,18,39%,0.17%
76,Rwanda,"12,952,218",2.58%,"325,268",525,"24,670","-9,000",4.1,20,18%,0.17%
77,Benin,"12,123,200",2.73%,"322,049",108,"112,760","-2,000",4.9,19,48%,0.16%
78,Burundi,"11,890,784",3.12%,"360,204",463,"25,680","2,001",5.5,17,14%,0.15%
79,Tunisia,"11,818,619",1.06%,"123,900",76,"155,360","-4,000",2.2,33,70%,0.15%
80,Bolivia,"11,673,021",1.39%,"159,921",11,"1,083,300","-9,504",2.8,26,69%,0.15%
81,Belgium,"11,589,623",0.44%,"50,295",383,"30,280","48,000",1.7,42,98%,0.15%
82,Haiti,"11,402,528",1.24%,"139,451",414,"27,560","-35,000",3,24,57%,0.15%
83,Cuba,"11,326,616",-0.06%,"-6,867",106,"106,440","-14,400",1.6,42,78%,0.15%
84,South Sudan,"11,193,725",1.19%,"131,612",18,"610,952","-174,200",4.7,19,25%,0.14%
85,Dominican Republic,"10,847,910",1.01%,"108,952",225,"48,320","-30,000",2.4,28,85%,0.14%
86,Czech Republic (Czechia),"10,708,981",0.18%,"19,772",139,"77,240","22,011",1.6,43,74%,0.14%
87,Greece,"10,423,054",-0.48%,"-50,401",81,"128,900","-16,000",1.3,46,85%,0.13%
88,Jordan,"10,203,134",1.00%,"101,440",115,"88,780","10,220",2.8,24,91%,0.13%
89,Portugal,"10,196,709",-0.29%,"-29,478",111,"91,590","-6,000",1.3,46,66%,0.13%
90,Azerbaijan,"10,139,177",0.91%,"91,459",123,"82,658","1,200",2.1,32,56%,0.13%
91,Sweden,"10,099,265",0.63%,"62,886",25,"410,340","40,000",1.9,41,88%,0.13%
92,Honduras,"9,904,607",1.63%,"158,490",89,"111,890","-6,800",2.5,24,57%,0.13%
93,United Arab Emirates,"9,890,402",1.23%,"119,873",118,"83,600","40,000",1.4,33,86%,0.13%
94,Hungary,"9,660,351",-0.25%,"-24,328",107,"90,530","6,000",1.5,43,72%,0.12%
95,Tajikistan,"9,537,645",2.32%,"216,627",68,"139,960","-20,000",3.6,22,27%,0.12%
96,Belarus,"9,449,323",-0.03%,"-3,088",47,"202,910","8,730",1.7,40,79%,0.12%
97,Austria,"9,006,398",0.57%,"51,296",109,"82,409","65,000",1.5,43,57%,0.12%
98,Papua New Guinea,"8,947,024",1.95%,"170,915",20,"452,860",-800,3.6,22,13%,0.11%
99,Serbia,"8,737,371",-0.40%,"-34,864",100,"87,460","4,000",1.5,42,56%,0.11%
100,Israel,"8,655,535",1.60%,"136,158",400,"21,640","10,000",3,30,93%,0.11%
101,Switzerland,"8,654,622",0.74%,"63,257",219,"39,516","52,000",1.5,43,74%,0.11%
102,Togo,"8,278,724",2.43%,"196,358",152,"54,390","-2,000",4.4,19,43%,0.11%
103,Sierra Leone,"7,976,983",2.10%,"163,768",111,"72,180","-4,200",4.3,19,43%,0.10%
104,Hong Kong,"7,496,981",0.82%,"60,827","7,140","1,050","29,308",1.3,45,N.A.,0.10%
105,Laos,"7,275,560",1.48%,"106,105",32,"230,800","-14,704",2.7,24,36%,0.09%
106,Paraguay,"7,132,538",1.25%,"87,902",18,"397,300","-16,556",2.4,26,62%,0.09%
107,Bulgaria,"6,948,445",-0.74%,"-51,674",64,"108,560","-4,800",1.6,45,76%,0.09%
108,Libya,"6,871,292",1.38%,"93,840",4,"1,759,540","-1,999",2.3,29,78%,0.09%
109,Lebanon,"6,825,445",-0.44%,"-30,268",667,"10,230","-30,012",2.1,30,78%,0.09%
110,Nicaragua,"6,624,554",1.21%,"79,052",55,"120,340","-21,272",2.4,26,57%,0.08%
111,Kyrgyzstan,"6,524,195",1.69%,"108,345",34,"191,800","-4,000",3,26,36%,0.08%
112,El Salvador,"6,486,205",0.51%,"32,652",313,"20,720","-40,539",2.1,28,73%,0.08%
113,Turkmenistan,"6,031,200",1.50%,"89,111",13,"469,930","-5,000",2.8,27,53%,0.08%
114,Singapore,"5,850,342",0.79%,"46,005","8,358",700,"27,028",1.2,42,N.A.,0.08%
115,Denmark,"5,792,202",0.35%,"20,326",137,"42,430","15,200",1.8,42,88%,0.07%
116,Finland,"5,540,720",0.15%,"8,564",18,"303,890","14,000",1.5,43,86%,0.07%
117,Congo,"5,518,087",2.56%,"137,579",16,"341,500","-4,000",4.5,19,70%,0.07%
118,Slovakia,"5,459,642",0.05%,"2,629",114,"48,088","1,485",1.5,41,54%,0.07%
119,Norway,"5,421,241",0.79%,"42,384",15,"365,268","28,000",1.7,40,83%,0.07%
120,Oman,"5,106,626",2.65%,"131,640",16,"309,500","87,400",2.9,31,87%,0.07%
121,State of Palestine,"5,101,414",2.41%,"119,994",847,"6,020","-10,563",3.7,21,80%,0.07%
122,Costa Rica,"5,094,118",0.92%,"46,557",100,"51,060","4,200",1.8,33,80%,0.07%
123,Liberia,"5,057,681",2.44%,"120,307",53,"96,320","-5,000",4.4,19,53%,0.06%
124,Ireland,"4,937,786",1.13%,"55,291",72,"68,890","23,604",1.8,38,63%,0.06%
125,Central African Republic,"4,829,767",1.78%,"84,582",8,"622,980","-40,000",4.8,18,43%,0.06%
126,New Zealand,"4,822,233",0.82%,"39,170",18,"263,310","14,881",1.9,38,87%,0.06%
127,Mauritania,"4,649,658",2.74%,"123,962",5,"1,030,700","5,000",4.6,20,57%,0.06%
128,Panama,"4,314,767",1.61%,"68,328",58,"74,340","11,200",2.5,30,68%,0.06%
129,Kuwait,"4,270,571",1.51%,"63,488",240,"17,820","39,520",2.1,37,N.A.,0.05%
130,Croatia,"4,105,267",-0.61%,"-25,037",73,"55,960","-8,001",1.4,44,58%,0.05%
131,Moldova,"4,033,963",-0.23%,"-9,300",123,"32,850","-1,387",1.3,38,43%,0.05%
132,Georgia,"3,989,167",-0.19%,"-7,598",57,"69,490","-10,000",2.1,38,58%,0.05%
133,Eritrea,"3,546,421",1.41%,"49,304",35,"101,000","-39,858",4.1,19,63%,0.05%
134,Uruguay,"3,473,730",0.35%,"11,996",20,"175,020","-3,000",2,36,96%,0.04%
135,Bosnia and Herzegovina,"3,280,819",-0.61%,"-20,181",64,"51,000","-21,585",1.3,43,52%,0.04%
136,Mongolia,"3,278,290",1.65%,"53,123",2,"1,553,560",-852,2.9,28,67%,0.04%
137,Armenia,"2,963,243",0.19%,"5,512",104,"28,470","-4,998",1.8,35,63%,0.04%
138,Jamaica,"2,961,167",0.44%,"12,888",273,"10,830","-11,332",2,31,55%,0.04%
139,Qatar,"2,881,053",1.73%,"48,986",248,"11,610","40,000",1.9,32,96%,0.04%
140,Albania,"2,877,797",-0.11%,"-3,120",105,"27,400","-14,000",1.6,36,63%,0.04%
141,Puerto Rico,"2,860,853",-2.47%,"-72,555",323,"8,870","-97,986",1.2,44,N.A.,0.04%
142,Lithuania,"2,722,289",-1.35%,"-37,338",43,"62,674","-32,780",1.7,45,71%,0.03%
143,Namibia,"2,540,905",1.86%,"46,375",3,"823,290","-4,806",3.4,22,55%,0.03%
144,Gambia,"2,416,668",2.94%,"68,962",239,"10,120","-3,087",5.3,18,59%,0.03%
145,Botswana,"2,351,627",2.08%,"47,930",4,"566,730","3,000",2.9,24,73%,0.03%
146,Gabon,"2,225,734",2.45%,"53,155",9,"257,670","3,260",4,23,87%,0.03%
147,Lesotho,"2,142,249",0.80%,"16,981",71,"30,360","-10,047",3.2,24,31%,0.03%
148,North Macedonia,"2,083,374",0.00%,-85,83,"25,220","-1,000",1.5,39,59%,0.03%
149,Slovenia,"2,078,938",0.01%,284,103,"20,140","2,000",1.6,45,55%,0.03%
150,Guinea-Bissau,"1,968,001",2.45%,"47,079",70,"28,120","-1,399",4.5,19,45%,0.03%
151,Latvia,"1,886,198",-1.08%,"-20,545",30,"62,200","-14,837",1.7,44,69%,0.02%
152,Bahrain,"1,701,575",3.68%,"60,403","2,239",760,"47,800",2,32,89%,0.02%
153,Equatorial Guinea,"1,402,985",3.47%,"46,999",50,"28,050","16,000",4.6,22,73%,0.02%
154,Trinidad and Tobago,"1,399,488",0.32%,"4,515",273,"5,130",-800,1.7,36,52%,0.02%
155,Estonia,"1,326,535",0.07%,887,31,"42,390","3,911",1.6,42,68%,0.02%
156,Timor-Leste,"1,318,445",1.96%,"25,326",89,"14,870","-5,385",4.1,21,33%,0.02%
157,Mauritius,"1,271,768",0.17%,"2,100",626,"2,030",0,1.4,37,41%,0.02%
158,Cyprus,"1,207,359",0.73%,"8,784",131,"9,240","5,000",1.3,37,67%,0.02%
159,Eswatini,"1,160,164",1.05%,"12,034",67,"17,200","-8,353",3,21,30%,0.01%
160,Djibouti,"988,000",1.48%,"14,440",43,"23,180",900,2.8,27,79%,0.01%
161,Fiji,"896,445",0.73%,"6,492",49,"18,270","-6,202",2.8,28,59%,0.01%
162,Réunion,"895,312",0.72%,"6,385",358,"2,500","-1,256",2.3,36,100%,0.01%
163,Comoros,"869,601",2.20%,"18,715",467,"1,861","-2,000",4.2,20,29%,0.01%
164,Guyana,"786,552",0.48%,"3,786",4,"196,850","-6,000",2.5,27,27%,0.01%
165,Bhutan,"771,608",1.12%,"8,516",20,"38,117",320,2,28,46%,0.01%
166,Solomon Islands,"686,884",2.55%,"17,061",25,"27,990","-1,600",4.4,20,23%,0.01%
167,Macao,"649,335",1.39%,"8,890","21,645",30,"5,000",1.2,39,N.A.,0.01%
168,Montenegro,"628,066",0.01%,79,47,"13,450",-480,1.8,39,68%,0.01%
169,Luxembourg,"625,978",1.66%,"10,249",242,"2,590","9,741",1.5,40,88%,0.01%
170,Western Sahara,"597,339",2.55%,"14,876",2,"266,000","5,582",2.4,28,87%,0.01%
171,Suriname,"586,632",0.90%,"5,260",4,"156,000","-1,000",2.4,29,65%,0.01%
172,Cabo Verde,"555,987",1.10%,"6,052",138,"4,030","-1,342",2.3,28,68%,0.01%
173,Micronesia,"548,914",1.00%,"5,428",784,700,"-2,957",2.9,27,68%,0.01%
174,Maldives,"540,544",1.81%,"9,591","1,802",300,"11,370",1.9,30,35%,0.01%
175,Malta,"441,543",0.27%,"1,171","1,380",320,900,1.5,43,93%,0.01%
176,Brunei,"437,479",0.97%,"4,194",83,"5,270",0,1.8,32,80%,0.01%
177,Guadeloupe,"400,124",0.02%,68,237,"1,690","-1,440",2.2,44,N.A.,0.01%
178,Belize,"397,628",1.86%,"7,275",17,"22,810","1,200",2.3,25,46%,0.01%
179,Bahamas,"393,244",0.97%,"3,762",39,"10,010","1,000",1.8,32,86%,0.01%
180,Martinique,"375,265",-0.08%,-289,354,"1,060",-960,1.9,47,92%,0.00%
181,Iceland,"341,243",0.65%,"2,212",3,"100,250",380,1.8,37,94%,0.00%
182,Vanuatu,"307,145",2.42%,"7,263",25,"12,190",120,3.8,21,24%,0.00%
183,French Guiana,"298,682",2.70%,"7,850",4,"82,200","1,200",3.4,25,87%,0.00%
184,Barbados,"287,375",0.12%,350,668,430,-79,1.6,40,31%,0.00%
185,New Caledonia,"285,498",0.97%,"2,748",16,"18,280",502,2,34,72%,0.00%
186,French Polynesia,"280,908",0.58%,"1,621",77,"3,660","-1,000",2,34,64%,0.00%
187,Mayotte,"272,815",2.50%,"6,665",728,375,0,3.7,20,46%,0.00%
188,Sao Tome & Principe,"219,159",1.91%,"4,103",228,960,"-1,680",4.4,19,74%,0.00%
189,Samoa,"198,414",0.67%,"1,317",70,"2,830","-2,803",3.9,22,18%,0.00%
190,Saint Lucia,"183,627",0.46%,837,301,610,0,1.4,34,19%,0.00%
191,Channel Islands,"173,863",0.93%,"1,604",915,190,"1,351",1.5,43,30%,0.00%
192,Guam,"168,775",0.89%,"1,481",313,540,-506,2.3,31,95%,0.00%
193,Curaçao,"164,093",0.41%,669,370,444,515,1.8,42,89%,0.00%
194,Kiribati,"119,449",1.57%,"1,843",147,810,-800,3.6,23,57%,0.00%
195,Grenada,"112,523",0.46%,520,331,340,-200,2.1,32,35%,0.00%
196,St. Vincent & Grenadines,"110,940",0.32%,351,284,390,-200,1.9,33,53%,0.00%
197,Aruba,"106,766",0.43%,452,593,180,201,1.9,41,44%,0.00%
198,Tonga,"105,695",1.15%,"1,201",147,720,-800,3.6,22,24%,0.00%
199,U.S. Virgin Islands,"104,425",-0.15%,-153,298,350,-451,2,43,96%,0.00%
200,Seychelles,"98,347",0.62%,608,214,460,-200,2.5,34,56%,0.00%
201,Antigua and Barbuda,"97,929",0.84%,811,223,440,0,2,34,26%,0.00%
202,Isle of Man,"85,033",0.53%,449,149,570,,N.A.,N.A.,53%,0.00%
203,Andorra,"77,265",0.16%,123,164,470,,N.A.,N.A.,88%,0.00%
204,Dominica,"71,986",0.25%,178,96,750,,N.A.,N.A.,74%,0.00%
205,Cayman Islands,"65,722",1.19%,774,274,240,,N.A.,N.A.,97%,0.00%
206,Bermuda,"62,278",-0.36%,-228,"1,246",50,,N.A.,N.A.,97%,0.00%
207,Marshall Islands,"59,190",0.68%,399,329,180,,N.A.,N.A.,70%,0.00%
208,Northern Mariana Islands,"57,559",0.60%,343,125,460,,N.A.,N.A.,88%,0.00%
209,Greenland,"56,770",0.17%,98,0,"410,450",,N.A.,N.A.,87%,0.00%
210,American Samoa,"55,191",-0.22%,-121,276,200,,N.A.,N.A.,88%,0.00%
211,Saint Kitts & Nevis,"53,199",0.71%,376,205,260,,N.A.,N.A.,33%,0.00%
212,Faeroe Islands,"48,863",0.38%,185,35,"1,396",,N.A.,N.A.,43%,0.00%
213,Sint Maarten,"42,876",1.15%,488,"1,261",34,,N.A.,N.A.,96%,0.00%
214,Monaco,"39,242",0.71%,278,"26,337",1,,N.A.,N.A.,N.A.,0.00%
215,Turks and Caicos,"38,717",1.38%,526,41,950,,N.A.,N.A.,89%,0.00%
216,Saint Martin,"38,666",1.75%,664,730,53,,N.A.,N.A.,0%,0.00%
217,Liechtenstein,"38,128",0.29%,109,238,160,,N.A.,N.A.,15%,0.00%
218,San Marino,"33,931",0.21%,71,566,60,,N.A.,N.A.,97%,0.00%
219,Gibraltar,"33,691",-0.03%,-10,"3,369",10,,N.A.,N.A.,N.A.,0.00%
220,British Virgin Islands,"30,231",0.67%,201,202,150,,N.A.,N.A.,52%,0.00%
221,Caribbean Netherlands,"26,223",0.94%,244,80,328,,N.A.,N.A.,75%,0.00%
222,Palau,"18,094",0.48%,86,39,460,,N.A.,N.A.,N.A.,0.00%
223,Cook Islands,"17,564",0.09%,16,73,240,,N.A.,N.A.,75%,0.00%
224,Anguilla,"15,003",0.90%,134,167,90,,N.A.,N.A.,N.A.,0.00%
225,Tuvalu,"11,792",1.25%,146,393,30,,N.A.,N.A.,62%,0.00%
226,Wallis & Futuna,"11,239",-1.69%,-193,80,140,,N.A.,N.A.,0%,0.00%
227,Nauru,"10,824",0.63%,68,541,20,,N.A.,N.A.,N.A.,0.00%
228,Saint Barthelemy,"9,877",0.30%,30,470,21,,N.A.,N.A.,0%,0.00%
229,Saint Helena,"6,077",0.30%,18,16,390,,N.A.,N.A.,27%,0.00%
230,Saint Pierre & Miquelon,"5,794",-0.48%,-28,25,230,,N.A.,N.A.,100%,0.00%
231,Montserrat,"4,992",0.06%,3,50,100,,N.A.,N.A.,10%,0.00%
232,Falkland Islands,"3,480",3.05%,103,0,"12,170",,N.A.,N.A.,66%,0.00%
233,Niue,"1,626",0.68%,11,6,260,,N.A.,N.A.,46%,0.00%
234,Tokelau,"1,357",1.27%,17,136,10,,N.A.,N.A.,0%,0.00%
235,Holy See,801,0.25%,2,"2,003",0,,N.A.,N.A.,N.A.,0.00%
1 no Country (or dependency) Population 2020 Yearly Change Net Change Density(P/Km²) Land Area (Km²) Migrants (net) Fert. Rate MedAge Urban Pop % World Share
2 1 China 1,439,323,776 0.39% 5,540,090 153 9,388,211 -348,399 1.7 38 61% 18.47%
3 2 India 1,380,004,385 0.99% 13,586,631 464 2,973,190 -532,687 2.2 28 35% 17.70%
4 3 United States 331,002,651 0.59% 1,937,734 36 9,147,420 954,806 1.8 38 83% 4.25%
5 4 Indonesia 273,523,615 1.07% 2,898,047 151 1,811,570 -98,955 2.3 30 56% 3.51%
6 5 Pakistan 220,892,340 2.00% 4,327,022 287 770,880 -233,379 3.6 23 35% 2.83%
7 6 Brazil 212,559,417 0.72% 1,509,890 25 8,358,140 21,200 1.7 33 88% 2.73%
8 7 Nigeria 206,139,589 2.58% 5,175,990 226 910,770 -60,000 5.4 18 52% 2.64%
9 8 Bangladesh 164,689,383 1.01% 1,643,222 1,265 130,170 -369,501 2.1 28 39% 2.11%
10 9 Russia 145,934,462 0.04% 62,206 9 16,376,870 182,456 1.8 40 74% 1.87%
11 10 Mexico 128,932,753 1.06% 1,357,224 66 1,943,950 -60,000 2.1 29 84% 1.65%
12 11 Japan 126,476,461 -0.30% -383,840 347 364,555 71,560 1.4 48 92% 1.62%
13 12 Ethiopia 114,963,588 2.57% 2,884,858 115 1,000,000 30,000 4.3 19 21% 1.47%
14 13 Philippines 109,581,078 1.35% 1,464,463 368 298,170 -67,152 2.6 26 47% 1.41%
15 14 Egypt 102,334,404 1.94% 1,946,331 103 995,450 -38,033 3.3 25 43% 1.31%
16 15 Vietnam 97,338,579 0.91% 876,473 314 310,070 -80,000 2.1 32 38% 1.25%
17 16 DR Congo 89,561,403 3.19% 2,770,836 40 2,267,050 23,861 6 17 46% 1.15%
18 17 Turkey 84,339,067 1.09% 909,452 110 769,630 283,922 2.1 32 76% 1.08%
19 18 Iran 83,992,949 1.30% 1,079,043 52 1,628,550 -55,000 2.2 32 76% 1.08%
20 19 Germany 83,783,942 0.32% 266,897 240 348,560 543,822 1.6 46 76% 1.07%
21 20 Thailand 69,799,978 0.25% 174,396 137 510,890 19,444 1.5 40 51% 0.90%
22 21 United Kingdom 67,886,011 0.53% 355,839 281 241,930 260,650 1.8 40 83% 0.87%
23 22 France 65,273,511 0.22% 143,783 119 547,557 36,527 1.9 42 82% 0.84%
24 23 Italy 60,461,826 -0.15% -88,249 206 294,140 148,943 1.3 47 69% 0.78%
25 24 Tanzania 59,734,218 2.98% 1,728,755 67 885,800 -40,076 4.9 18 37% 0.77%
26 25 South Africa 59,308,690 1.28% 750,420 49 1,213,090 145,405 2.4 28 67% 0.76%
27 26 Myanmar 54,409,800 0.67% 364,380 83 653,290 -163,313 2.2 29 31% 0.70%
28 27 Kenya 53,771,296 2.28% 1,197,323 94 569,140 -10,000 3.5 20 28% 0.69%
29 28 South Korea 51,269,185 0.09% 43,877 527 97,230 11,731 1.1 44 82% 0.66%
30 29 Colombia 50,882,891 1.08% 543,448 46 1,109,500 204,796 1.8 31 80% 0.65%
31 30 Spain 46,754,778 0.04% 18,002 94 498,800 40,000 1.3 45 80% 0.60%
32 31 Uganda 45,741,007 3.32% 1,471,413 229 199,810 168,694 5 17 26% 0.59%
33 32 Argentina 45,195,774 0.93% 415,097 17 2,736,690 4,800 2.3 32 93% 0.58%
34 33 Algeria 43,851,044 1.85% 797,990 18 2,381,740 -10,000 3.1 29 73% 0.56%
35 34 Sudan 43,849,260 2.42% 1,036,022 25 1,765,048 -50,000 4.4 20 35% 0.56%
36 35 Ukraine 43,733,762 -0.59% -259,876 75 579,320 10,000 1.4 41 69% 0.56%
37 36 Iraq 40,222,493 2.32% 912,710 93 434,320 7,834 3.7 21 73% 0.52%
38 37 Afghanistan 38,928,346 2.33% 886,592 60 652,860 -62,920 4.6 18 25% 0.50%
39 38 Poland 37,846,611 -0.11% -41,157 124 306,230 -29,395 1.4 42 60% 0.49%
40 39 Canada 37,742,154 0.89% 331,107 4 9,093,510 242,032 1.5 41 81% 0.48%
41 40 Morocco 36,910,560 1.20% 438,791 83 446,300 -51,419 2.4 30 64% 0.47%
42 41 Saudi Arabia 34,813,871 1.59% 545,343 16 2,149,690 134,979 2.3 32 84% 0.45%
43 42 Uzbekistan 33,469,203 1.48% 487,487 79 425,400 -8,863 2.4 28 50% 0.43%
44 43 Peru 32,971,854 1.42% 461,401 26 1,280,000 99,069 2.3 31 79% 0.42%
45 44 Angola 32,866,272 3.27% 1,040,977 26 1,246,700 6,413 5.6 17 67% 0.42%
46 45 Malaysia 32,365,999 1.30% 416,222 99 328,550 50,000 2 30 78% 0.42%
47 46 Mozambique 31,255,435 2.93% 889,399 40 786,380 -5,000 4.9 18 38% 0.40%
48 47 Ghana 31,072,940 2.15% 655,084 137 227,540 -10,000 3.9 22 57% 0.40%
49 48 Yemen 29,825,964 2.28% 664,042 56 527,970 -30,000 3.8 20 38% 0.38%
50 49 Nepal 29,136,808 1.85% 528,098 203 143,350 41,710 1.9 25 21% 0.37%
51 50 Venezuela 28,435,940 -0.28% -79,889 32 882,050 -653,249 2.3 30 N.A. 0.36%
52 51 Madagascar 27,691,018 2.68% 721,711 48 581,795 -1,500 4.1 20 39% 0.36%
53 52 Cameroon 26,545,863 2.59% 669,483 56 472,710 -4,800 4.6 19 56% 0.34%
54 53 Côte d'Ivoire 26,378,274 2.57% 661,730 83 318,000 -8,000 4.7 19 51% 0.34%
55 54 North Korea 25,778,816 0.44% 112,655 214 120,410 -5,403 1.9 35 63% 0.33%
56 55 Australia 25,499,884 1.18% 296,686 3 7,682,300 158,246 1.8 38 86% 0.33%
57 56 Niger 24,206,644 3.84% 895,929 19 1,266,700 4,000 7 15 17% 0.31%
58 57 Taiwan 23,816,775 0.18% 42,899 673 35,410 30,001 1.2 42 79% 0.31%
59 58 Sri Lanka 21,413,249 0.42% 89,516 341 62,710 -97,986 2.2 34 18% 0.27%
60 59 Burkina Faso 20,903,273 2.86% 581,895 76 273,600 -25,000 5.2 18 31% 0.27%
61 60 Mali 20,250,833 3.02% 592,802 17 1,220,190 -40,000 5.9 16 44% 0.26%
62 61 Romania 19,237,691 -0.66% -126,866 84 230,170 -73,999 1.6 43 55% 0.25%
63 62 Malawi 19,129,952 2.69% 501,205 203 94,280 -16,053 4.3 18 18% 0.25%
64 63 Chile 19,116,201 0.87% 164,163 26 743,532 111,708 1.7 35 85% 0.25%
65 64 Kazakhstan 18,776,707 1.21% 225,280 7 2,699,700 -18,000 2.8 31 58% 0.24%
66 65 Zambia 18,383,955 2.93% 522,925 25 743,390 -8,000 4.7 18 45% 0.24%
67 66 Guatemala 17,915,568 1.90% 334,096 167 107,160 -9,215 2.9 23 52% 0.23%
68 67 Ecuador 17,643,054 1.55% 269,392 71 248,360 36,400 2.4 28 63% 0.23%
69 68 Syria 17,500,658 2.52% 430,523 95 183,630 -427,391 2.8 26 60% 0.22%
70 69 Netherlands 17,134,872 0.22% 37,742 508 33,720 16,000 1.7 43 92% 0.22%
71 70 Senegal 16,743,927 2.75% 447,563 87 192,530 -20,000 4.7 19 49% 0.21%
72 71 Cambodia 16,718,965 1.41% 232,423 95 176,520 -30,000 2.5 26 24% 0.21%
73 72 Chad 16,425,864 3.00% 478,988 13 1,259,200 2,000 5.8 17 23% 0.21%
74 73 Somalia 15,893,222 2.92% 450,317 25 627,340 -40,000 6.1 17 47% 0.20%
75 74 Zimbabwe 14,862,924 1.48% 217,456 38 386,850 -116,858 3.6 19 38% 0.19%
76 75 Guinea 13,132,795 2.83% 361,549 53 245,720 -4,000 4.7 18 39% 0.17%
77 76 Rwanda 12,952,218 2.58% 325,268 525 24,670 -9,000 4.1 20 18% 0.17%
78 77 Benin 12,123,200 2.73% 322,049 108 112,760 -2,000 4.9 19 48% 0.16%
79 78 Burundi 11,890,784 3.12% 360,204 463 25,680 2,001 5.5 17 14% 0.15%
80 79 Tunisia 11,818,619 1.06% 123,900 76 155,360 -4,000 2.2 33 70% 0.15%
81 80 Bolivia 11,673,021 1.39% 159,921 11 1,083,300 -9,504 2.8 26 69% 0.15%
82 81 Belgium 11,589,623 0.44% 50,295 383 30,280 48,000 1.7 42 98% 0.15%
83 82 Haiti 11,402,528 1.24% 139,451 414 27,560 -35,000 3 24 57% 0.15%
84 83 Cuba 11,326,616 -0.06% -6,867 106 106,440 -14,400 1.6 42 78% 0.15%
85 84 South Sudan 11,193,725 1.19% 131,612 18 610,952 -174,200 4.7 19 25% 0.14%
86 85 Dominican Republic 10,847,910 1.01% 108,952 225 48,320 -30,000 2.4 28 85% 0.14%
87 86 Czech Republic (Czechia) 10,708,981 0.18% 19,772 139 77,240 22,011 1.6 43 74% 0.14%
88 87 Greece 10,423,054 -0.48% -50,401 81 128,900 -16,000 1.3 46 85% 0.13%
89 88 Jordan 10,203,134 1.00% 101,440 115 88,780 10,220 2.8 24 91% 0.13%
90 89 Portugal 10,196,709 -0.29% -29,478 111 91,590 -6,000 1.3 46 66% 0.13%
91 90 Azerbaijan 10,139,177 0.91% 91,459 123 82,658 1,200 2.1 32 56% 0.13%
92 91 Sweden 10,099,265 0.63% 62,886 25 410,340 40,000 1.9 41 88% 0.13%
93 92 Honduras 9,904,607 1.63% 158,490 89 111,890 -6,800 2.5 24 57% 0.13%
94 93 United Arab Emirates 9,890,402 1.23% 119,873 118 83,600 40,000 1.4 33 86% 0.13%
95 94 Hungary 9,660,351 -0.25% -24,328 107 90,530 6,000 1.5 43 72% 0.12%
96 95 Tajikistan 9,537,645 2.32% 216,627 68 139,960 -20,000 3.6 22 27% 0.12%
97 96 Belarus 9,449,323 -0.03% -3,088 47 202,910 8,730 1.7 40 79% 0.12%
98 97 Austria 9,006,398 0.57% 51,296 109 82,409 65,000 1.5 43 57% 0.12%
99 98 Papua New Guinea 8,947,024 1.95% 170,915 20 452,860 -800 3.6 22 13% 0.11%
100 99 Serbia 8,737,371 -0.40% -34,864 100 87,460 4,000 1.5 42 56% 0.11%
101 100 Israel 8,655,535 1.60% 136,158 400 21,640 10,000 3 30 93% 0.11%
102 101 Switzerland 8,654,622 0.74% 63,257 219 39,516 52,000 1.5 43 74% 0.11%
103 102 Togo 8,278,724 2.43% 196,358 152 54,390 -2,000 4.4 19 43% 0.11%
104 103 Sierra Leone 7,976,983 2.10% 163,768 111 72,180 -4,200 4.3 19 43% 0.10%
105 104 Hong Kong 7,496,981 0.82% 60,827 7,140 1,050 29,308 1.3 45 N.A. 0.10%
106 105 Laos 7,275,560 1.48% 106,105 32 230,800 -14,704 2.7 24 36% 0.09%
107 106 Paraguay 7,132,538 1.25% 87,902 18 397,300 -16,556 2.4 26 62% 0.09%
108 107 Bulgaria 6,948,445 -0.74% -51,674 64 108,560 -4,800 1.6 45 76% 0.09%
109 108 Libya 6,871,292 1.38% 93,840 4 1,759,540 -1,999 2.3 29 78% 0.09%
110 109 Lebanon 6,825,445 -0.44% -30,268 667 10,230 -30,012 2.1 30 78% 0.09%
111 110 Nicaragua 6,624,554 1.21% 79,052 55 120,340 -21,272 2.4 26 57% 0.08%
112 111 Kyrgyzstan 6,524,195 1.69% 108,345 34 191,800 -4,000 3 26 36% 0.08%
113 112 El Salvador 6,486,205 0.51% 32,652 313 20,720 -40,539 2.1 28 73% 0.08%
114 113 Turkmenistan 6,031,200 1.50% 89,111 13 469,930 -5,000 2.8 27 53% 0.08%
115 114 Singapore 5,850,342 0.79% 46,005 8,358 700 27,028 1.2 42 N.A. 0.08%
116 115 Denmark 5,792,202 0.35% 20,326 137 42,430 15,200 1.8 42 88% 0.07%
117 116 Finland 5,540,720 0.15% 8,564 18 303,890 14,000 1.5 43 86% 0.07%
118 117 Congo 5,518,087 2.56% 137,579 16 341,500 -4,000 4.5 19 70% 0.07%
119 118 Slovakia 5,459,642 0.05% 2,629 114 48,088 1,485 1.5 41 54% 0.07%
120 119 Norway 5,421,241 0.79% 42,384 15 365,268 28,000 1.7 40 83% 0.07%
121 120 Oman 5,106,626 2.65% 131,640 16 309,500 87,400 2.9 31 87% 0.07%
122 121 State of Palestine 5,101,414 2.41% 119,994 847 6,020 -10,563 3.7 21 80% 0.07%
123 122 Costa Rica 5,094,118 0.92% 46,557 100 51,060 4,200 1.8 33 80% 0.07%
124 123 Liberia 5,057,681 2.44% 120,307 53 96,320 -5,000 4.4 19 53% 0.06%
125 124 Ireland 4,937,786 1.13% 55,291 72 68,890 23,604 1.8 38 63% 0.06%
126 125 Central African Republic 4,829,767 1.78% 84,582 8 622,980 -40,000 4.8 18 43% 0.06%
127 126 New Zealand 4,822,233 0.82% 39,170 18 263,310 14,881 1.9 38 87% 0.06%
128 127 Mauritania 4,649,658 2.74% 123,962 5 1,030,700 5,000 4.6 20 57% 0.06%
129 128 Panama 4,314,767 1.61% 68,328 58 74,340 11,200 2.5 30 68% 0.06%
130 129 Kuwait 4,270,571 1.51% 63,488 240 17,820 39,520 2.1 37 N.A. 0.05%
131 130 Croatia 4,105,267 -0.61% -25,037 73 55,960 -8,001 1.4 44 58% 0.05%
132 131 Moldova 4,033,963 -0.23% -9,300 123 32,850 -1,387 1.3 38 43% 0.05%
133 132 Georgia 3,989,167 -0.19% -7,598 57 69,490 -10,000 2.1 38 58% 0.05%
134 133 Eritrea 3,546,421 1.41% 49,304 35 101,000 -39,858 4.1 19 63% 0.05%
135 134 Uruguay 3,473,730 0.35% 11,996 20 175,020 -3,000 2 36 96% 0.04%
136 135 Bosnia and Herzegovina 3,280,819 -0.61% -20,181 64 51,000 -21,585 1.3 43 52% 0.04%
137 136 Mongolia 3,278,290 1.65% 53,123 2 1,553,560 -852 2.9 28 67% 0.04%
138 137 Armenia 2,963,243 0.19% 5,512 104 28,470 -4,998 1.8 35 63% 0.04%
139 138 Jamaica 2,961,167 0.44% 12,888 273 10,830 -11,332 2 31 55% 0.04%
140 139 Qatar 2,881,053 1.73% 48,986 248 11,610 40,000 1.9 32 96% 0.04%
141 140 Albania 2,877,797 -0.11% -3,120 105 27,400 -14,000 1.6 36 63% 0.04%
142 141 Puerto Rico 2,860,853 -2.47% -72,555 323 8,870 -97,986 1.2 44 N.A. 0.04%
143 142 Lithuania 2,722,289 -1.35% -37,338 43 62,674 -32,780 1.7 45 71% 0.03%
144 143 Namibia 2,540,905 1.86% 46,375 3 823,290 -4,806 3.4 22 55% 0.03%
145 144 Gambia 2,416,668 2.94% 68,962 239 10,120 -3,087 5.3 18 59% 0.03%
146 145 Botswana 2,351,627 2.08% 47,930 4 566,730 3,000 2.9 24 73% 0.03%
147 146 Gabon 2,225,734 2.45% 53,155 9 257,670 3,260 4 23 87% 0.03%
148 147 Lesotho 2,142,249 0.80% 16,981 71 30,360 -10,047 3.2 24 31% 0.03%
149 148 North Macedonia 2,083,374 0.00% -85 83 25,220 -1,000 1.5 39 59% 0.03%
150 149 Slovenia 2,078,938 0.01% 284 103 20,140 2,000 1.6 45 55% 0.03%
151 150 Guinea-Bissau 1,968,001 2.45% 47,079 70 28,120 -1,399 4.5 19 45% 0.03%
152 151 Latvia 1,886,198 -1.08% -20,545 30 62,200 -14,837 1.7 44 69% 0.02%
153 152 Bahrain 1,701,575 3.68% 60,403 2,239 760 47,800 2 32 89% 0.02%
154 153 Equatorial Guinea 1,402,985 3.47% 46,999 50 28,050 16,000 4.6 22 73% 0.02%
155 154 Trinidad and Tobago 1,399,488 0.32% 4,515 273 5,130 -800 1.7 36 52% 0.02%
156 155 Estonia 1,326,535 0.07% 887 31 42,390 3,911 1.6 42 68% 0.02%
157 156 Timor-Leste 1,318,445 1.96% 25,326 89 14,870 -5,385 4.1 21 33% 0.02%
158 157 Mauritius 1,271,768 0.17% 2,100 626 2,030 0 1.4 37 41% 0.02%
159 158 Cyprus 1,207,359 0.73% 8,784 131 9,240 5,000 1.3 37 67% 0.02%
160 159 Eswatini 1,160,164 1.05% 12,034 67 17,200 -8,353 3 21 30% 0.01%
161 160 Djibouti 988,000 1.48% 14,440 43 23,180 900 2.8 27 79% 0.01%
162 161 Fiji 896,445 0.73% 6,492 49 18,270 -6,202 2.8 28 59% 0.01%
163 162 Réunion 895,312 0.72% 6,385 358 2,500 -1,256 2.3 36 100% 0.01%
164 163 Comoros 869,601 2.20% 18,715 467 1,861 -2,000 4.2 20 29% 0.01%
165 164 Guyana 786,552 0.48% 3,786 4 196,850 -6,000 2.5 27 27% 0.01%
166 165 Bhutan 771,608 1.12% 8,516 20 38,117 320 2 28 46% 0.01%
167 166 Solomon Islands 686,884 2.55% 17,061 25 27,990 -1,600 4.4 20 23% 0.01%
168 167 Macao 649,335 1.39% 8,890 21,645 30 5,000 1.2 39 N.A. 0.01%
169 168 Montenegro 628,066 0.01% 79 47 13,450 -480 1.8 39 68% 0.01%
170 169 Luxembourg 625,978 1.66% 10,249 242 2,590 9,741 1.5 40 88% 0.01%
171 170 Western Sahara 597,339 2.55% 14,876 2 266,000 5,582 2.4 28 87% 0.01%
172 171 Suriname 586,632 0.90% 5,260 4 156,000 -1,000 2.4 29 65% 0.01%
173 172 Cabo Verde 555,987 1.10% 6,052 138 4,030 -1,342 2.3 28 68% 0.01%
174 173 Micronesia 548,914 1.00% 5,428 784 700 -2,957 2.9 27 68% 0.01%
175 174 Maldives 540,544 1.81% 9,591 1,802 300 11,370 1.9 30 35% 0.01%
176 175 Malta 441,543 0.27% 1,171 1,380 320 900 1.5 43 93% 0.01%
177 176 Brunei 437,479 0.97% 4,194 83 5,270 0 1.8 32 80% 0.01%
178 177 Guadeloupe 400,124 0.02% 68 237 1,690 -1,440 2.2 44 N.A. 0.01%
179 178 Belize 397,628 1.86% 7,275 17 22,810 1,200 2.3 25 46% 0.01%
180 179 Bahamas 393,244 0.97% 3,762 39 10,010 1,000 1.8 32 86% 0.01%
181 180 Martinique 375,265 -0.08% -289 354 1,060 -960 1.9 47 92% 0.00%
182 181 Iceland 341,243 0.65% 2,212 3 100,250 380 1.8 37 94% 0.00%
183 182 Vanuatu 307,145 2.42% 7,263 25 12,190 120 3.8 21 24% 0.00%
184 183 French Guiana 298,682 2.70% 7,850 4 82,200 1,200 3.4 25 87% 0.00%
185 184 Barbados 287,375 0.12% 350 668 430 -79 1.6 40 31% 0.00%
186 185 New Caledonia 285,498 0.97% 2,748 16 18,280 502 2 34 72% 0.00%
187 186 French Polynesia 280,908 0.58% 1,621 77 3,660 -1,000 2 34 64% 0.00%
188 187 Mayotte 272,815 2.50% 6,665 728 375 0 3.7 20 46% 0.00%
189 188 Sao Tome & Principe 219,159 1.91% 4,103 228 960 -1,680 4.4 19 74% 0.00%
190 189 Samoa 198,414 0.67% 1,317 70 2,830 -2,803 3.9 22 18% 0.00%
191 190 Saint Lucia 183,627 0.46% 837 301 610 0 1.4 34 19% 0.00%
192 191 Channel Islands 173,863 0.93% 1,604 915 190 1,351 1.5 43 30% 0.00%
193 192 Guam 168,775 0.89% 1,481 313 540 -506 2.3 31 95% 0.00%
194 193 Curaçao 164,093 0.41% 669 370 444 515 1.8 42 89% 0.00%
195 194 Kiribati 119,449 1.57% 1,843 147 810 -800 3.6 23 57% 0.00%
196 195 Grenada 112,523 0.46% 520 331 340 -200 2.1 32 35% 0.00%
197 196 St. Vincent & Grenadines 110,940 0.32% 351 284 390 -200 1.9 33 53% 0.00%
198 197 Aruba 106,766 0.43% 452 593 180 201 1.9 41 44% 0.00%
199 198 Tonga 105,695 1.15% 1,201 147 720 -800 3.6 22 24% 0.00%
200 199 U.S. Virgin Islands 104,425 -0.15% -153 298 350 -451 2 43 96% 0.00%
201 200 Seychelles 98,347 0.62% 608 214 460 -200 2.5 34 56% 0.00%
202 201 Antigua and Barbuda 97,929 0.84% 811 223 440 0 2 34 26% 0.00%
203 202 Isle of Man 85,033 0.53% 449 149 570 N.A. N.A. 53% 0.00%
204 203 Andorra 77,265 0.16% 123 164 470 N.A. N.A. 88% 0.00%
205 204 Dominica 71,986 0.25% 178 96 750 N.A. N.A. 74% 0.00%
206 205 Cayman Islands 65,722 1.19% 774 274 240 N.A. N.A. 97% 0.00%
207 206 Bermuda 62,278 -0.36% -228 1,246 50 N.A. N.A. 97% 0.00%
208 207 Marshall Islands 59,190 0.68% 399 329 180 N.A. N.A. 70% 0.00%
209 208 Northern Mariana Islands 57,559 0.60% 343 125 460 N.A. N.A. 88% 0.00%
210 209 Greenland 56,770 0.17% 98 0 410,450 N.A. N.A. 87% 0.00%
211 210 American Samoa 55,191 -0.22% -121 276 200 N.A. N.A. 88% 0.00%
212 211 Saint Kitts & Nevis 53,199 0.71% 376 205 260 N.A. N.A. 33% 0.00%
213 212 Faeroe Islands 48,863 0.38% 185 35 1,396 N.A. N.A. 43% 0.00%
214 213 Sint Maarten 42,876 1.15% 488 1,261 34 N.A. N.A. 96% 0.00%
215 214 Monaco 39,242 0.71% 278 26,337 1 N.A. N.A. N.A. 0.00%
216 215 Turks and Caicos 38,717 1.38% 526 41 950 N.A. N.A. 89% 0.00%
217 216 Saint Martin 38,666 1.75% 664 730 53 N.A. N.A. 0% 0.00%
218 217 Liechtenstein 38,128 0.29% 109 238 160 N.A. N.A. 15% 0.00%
219 218 San Marino 33,931 0.21% 71 566 60 N.A. N.A. 97% 0.00%
220 219 Gibraltar 33,691 -0.03% -10 3,369 10 N.A. N.A. N.A. 0.00%
221 220 British Virgin Islands 30,231 0.67% 201 202 150 N.A. N.A. 52% 0.00%
222 221 Caribbean Netherlands 26,223 0.94% 244 80 328 N.A. N.A. 75% 0.00%
223 222 Palau 18,094 0.48% 86 39 460 N.A. N.A. N.A. 0.00%
224 223 Cook Islands 17,564 0.09% 16 73 240 N.A. N.A. 75% 0.00%
225 224 Anguilla 15,003 0.90% 134 167 90 N.A. N.A. N.A. 0.00%
226 225 Tuvalu 11,792 1.25% 146 393 30 N.A. N.A. 62% 0.00%
227 226 Wallis & Futuna 11,239 -1.69% -193 80 140 N.A. N.A. 0% 0.00%
228 227 Nauru 10,824 0.63% 68 541 20 N.A. N.A. N.A. 0.00%
229 228 Saint Barthelemy 9,877 0.30% 30 470 21 N.A. N.A. 0% 0.00%
230 229 Saint Helena 6,077 0.30% 18 16 390 N.A. N.A. 27% 0.00%
231 230 Saint Pierre & Miquelon 5,794 -0.48% -28 25 230 N.A. N.A. 100% 0.00%
232 231 Montserrat 4,992 0.06% 3 50 100 N.A. N.A. 10% 0.00%
233 232 Falkland Islands 3,480 3.05% 103 0 12,170 N.A. N.A. 66% 0.00%
234 233 Niue 1,626 0.68% 11 6 260 N.A. N.A. 46% 0.00%
235 234 Tokelau 1,357 1.27% 17 136 10 N.A. N.A. 0% 0.00%
236 235 Holy See 801 0.25% 2 2,003 0 N.A. N.A. N.A. 0.00%

0
lab2.ipynb Normal file
View File

File diff suppressed because it is too large Load Diff

1262
lec2_car.ipynb Normal file

File diff suppressed because it is too large Load Diff

1323
lec2e.ipynb Normal file

File diff suppressed because it is too large Load Diff

1900
lec3.ipynb Normal file

File diff suppressed because one or more lines are too long

1328
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -17,6 +17,11 @@ apiflask = "^2.2.0"
flask-cors = "^5.0.0" flask-cors = "^5.0.0"
scikit-learn = "^1.5.2" scikit-learn = "^1.5.2"
imbalanced-learn = "^0.12.3" imbalanced-learn = "^0.12.3"
featuretools = "^1.31.0"
[tool.poetry.group.dev.dependencies]
ipykernel = "^6.29.5"
[build-system] [build-system]

View File

@ -0,0 +1,502 @@
<#
.Synopsis
Activate a Python virtual environment for the current PowerShell session.
.Description
Pushes the python executable for a virtual environment to the front of the
$Env:PATH environment variable and sets the prompt to signify that you are
in a Python virtual environment. Makes use of the command line switches as
well as the `pyvenv.cfg` file values present in the virtual environment.
.Parameter VenvDir
Path to the directory that contains the virtual environment to activate. The
default value for this is the parent of the directory that the Activate.ps1
script is located within.
.Parameter Prompt
The prompt prefix to display when this virtual environment is activated. By
default, this prompt is the name of the virtual environment folder (VenvDir)
surrounded by parentheses and followed by a single space (ie. '(.venv) ').
.Example
Activate.ps1
Activates the Python virtual environment that contains the Activate.ps1 script.
.Example
Activate.ps1 -Verbose
Activates the Python virtual environment that contains the Activate.ps1 script,
and shows extra information about the activation as it executes.
.Example
Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
Activates the Python virtual environment located in the specified location.
.Example
Activate.ps1 -Prompt "MyPython"
Activates the Python virtual environment that contains the Activate.ps1 script,
and prefixes the current prompt with the specified string (surrounded in
parentheses) while the virtual environment is active.
.Notes
On Windows, it may be required to enable this Activate.ps1 script by setting the
execution policy for the user. You can do this by issuing the following PowerShell
command:
PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
For more information on Execution Policies:
https://go.microsoft.com/fwlink/?LinkID=135170
#>
Param(
[Parameter(Mandatory = $false)]
[String]
$VenvDir,
[Parameter(Mandatory = $false)]
[String]
$Prompt
)
<# Function declarations --------------------------------------------------- #>
<#
.Synopsis
Remove all shell session elements added by the Activate script, including the
addition of the virtual environment's Python executable from the beginning of
the PATH variable.
.Parameter NonDestructive
If present, do not remove this function from the global namespace for the
session.
#>
function global:deactivate ([switch]$NonDestructive) {
# Revert to original values
# The prior prompt:
if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
}
# The prior PYTHONHOME:
if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
}
# The prior PATH:
if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
Remove-Item -Path Env:_OLD_VIRTUAL_PATH
}
# Just remove the VIRTUAL_ENV altogether:
if (Test-Path -Path Env:VIRTUAL_ENV) {
Remove-Item -Path env:VIRTUAL_ENV
}
# Just remove VIRTUAL_ENV_PROMPT altogether.
if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
Remove-Item -Path env:VIRTUAL_ENV_PROMPT
}
# Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
}
# Leave deactivate function in the global namespace if requested:
if (-not $NonDestructive) {
Remove-Item -Path function:deactivate
}
}
<#
.Description
Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
given folder, and returns them in a map.
For each line in the pyvenv.cfg file, if that line can be parsed into exactly
two strings separated by `=` (with any amount of whitespace surrounding the =)
then it is considered a `key = value` line. The left hand string is the key,
the right hand is the value.
If the value starts with a `'` or a `"` then the first and last character is
stripped from the value before being captured.
.Parameter ConfigDir
Path to the directory that contains the `pyvenv.cfg` file.
#>
function Get-PyVenvConfig(
[String]
$ConfigDir
) {
Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
# Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
$pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
# An empty map will be returned if no config file is found.
$pyvenvConfig = @{ }
if ($pyvenvConfigPath) {
Write-Verbose "File exists, parse `key = value` lines"
$pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
$pyvenvConfigContent | ForEach-Object {
$keyval = $PSItem -split "\s*=\s*", 2
if ($keyval[0] -and $keyval[1]) {
$val = $keyval[1]
# Remove extraneous quotations around a string value.
if ("'""".Contains($val.Substring(0, 1))) {
$val = $val.Substring(1, $val.Length - 2)
}
$pyvenvConfig[$keyval[0]] = $val
Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
}
}
}
return $pyvenvConfig
}
<# Begin Activate script --------------------------------------------------- #>
# Determine the containing directory of this script
$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
$VenvExecDir = Get-Item -Path $VenvExecPath
Write-Verbose "Activation script is located in path: '$VenvExecPath'"
Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
# Set values required in priority: CmdLine, ConfigFile, Default
# First, get the location of the virtual environment, it might not be
# VenvExecDir if specified on the command line.
if ($VenvDir) {
Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
}
else {
Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
$VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
Write-Verbose "VenvDir=$VenvDir"
}
# Next, read the `pyvenv.cfg` file to determine any required value such
# as `prompt`.
$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
# Next, set the prompt from the command line, or the config file, or
# just use the name of the virtual environment folder.
if ($Prompt) {
Write-Verbose "Prompt specified as argument, using '$Prompt'"
}
else {
Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
$Prompt = $pyvenvCfg['prompt'];
}
else {
Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)"
Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
$Prompt = Split-Path -Path $venvDir -Leaf
}
}
Write-Verbose "Prompt = '$Prompt'"
Write-Verbose "VenvDir='$VenvDir'"
# Deactivate any currently active virtual environment, but leave the
# deactivate function in place.
deactivate -nondestructive
# Now set the environment variable VIRTUAL_ENV, used by many tools to determine
# that there is an activated venv.
$env:VIRTUAL_ENV = $VenvDir
if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
Write-Verbose "Setting prompt to '$Prompt'"
# Set the prompt to include the env name
# Make sure _OLD_VIRTUAL_PROMPT is global
function global:_OLD_VIRTUAL_PROMPT { "" }
Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
function global:prompt {
Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
_OLD_VIRTUAL_PROMPT
}
$env:VIRTUAL_ENV_PROMPT = $Prompt
}
# Clear PYTHONHOME
if (Test-Path -Path Env:PYTHONHOME) {
Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
Remove-Item -Path Env:PYTHONHOME
}
# Add the venv to the PATH
Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
# SIG # Begin signature block
# MIIvIwYJKoZIhvcNAQcCoIIvFDCCLxACAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBnL745ElCYk8vk
# dBtMuQhLeWJ3ZGfzKW4DHCYzAn+QB6CCE8MwggWQMIIDeKADAgECAhAFmxtXno4h
# MuI5B72nd3VcMA0GCSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV
# BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0xMzA4MDExMjAwMDBaFw0z
# ODAxMTUxMjAwMDBaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ
# bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0
# IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
# AL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3EMB/z
# G6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKyunWZ
# anMylNEQRBAu34LzB4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsFxl7s
# Wxq868nPzaw0QF+xembud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU15zHL
# 2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJBMtfb
# BHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObURWBf3
# JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6nj3c
# AORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxBYKqx
# YxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5SUUd0
# viastkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+xq4aL
# T8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjQjBAMA8GA1Ud
# EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTs1+OC0nFdZEzf
# Lmc/57qYrhwPTzANBgkqhkiG9w0BAQwFAAOCAgEAu2HZfalsvhfEkRvDoaIAjeNk
# aA9Wz3eucPn9mkqZucl4XAwMX+TmFClWCzZJXURj4K2clhhmGyMNPXnpbWvWVPjS
# PMFDQK4dUPVS/JA7u5iZaWvHwaeoaKQn3J35J64whbn2Z006Po9ZOSJTROvIXQPK
# 7VB6fWIhCoDIc2bRoAVgX+iltKevqPdtNZx8WorWojiZ83iL9E3SIAveBO6Mm0eB
# cg3AFDLvMFkuruBx8lbkapdvklBtlo1oepqyNhR6BvIkuQkRUNcIsbiJeoQjYUIp
# 5aPNoiBB19GcZNnqJqGLFNdMGbJQQXE9P01wI4YMStyB0swylIQNCAmXHE/A7msg
# dDDS4Dk0EIUhFQEI6FUy3nFJ2SgXUE3mvk3RdazQyvtBuEOlqtPDBURPLDab4vri
# RbgjU2wGb2dVf0a1TD9uKFp5JtKkqGKX0h7i7UqLvBv9R0oN32dmfrJbQdA75PQ7
# 9ARj6e/CVABRoIoqyc54zNXqhwQYs86vSYiv85KZtrPmYQ/ShQDnUBrkG5WdGaG5
# nLGbsQAe79APT0JsyQq87kP6OnGlyE0mpTX9iV28hWIdMtKgK1TtmlfB2/oQzxm3
# i0objwG2J5VT6LaJbVu8aNQj6ItRolb58KaAoNYes7wPD1N1KarqE3fk3oyBIa0H
# EEcRrYc9B9F1vM/zZn4wggawMIIEmKADAgECAhAIrUCyYNKcTJ9ezam9k67ZMA0G
# CSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ
# bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0
# IFRydXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0zNjA0MjgyMzU5NTla
# MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UE
# AxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEz
# ODQgMjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDVtC9C
# 0CiteLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0JAfhS0/TeEP0F9ce
# 2vnS1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJrQ5qZ8sU7H/Lvy0da
# E6ZMswEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhFLqGfLOEYwhrMxe6T
# SXBCMo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+FLEikVoQ11vkunKoA
# FdE3/hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh3K3kGKDYwSNHR7Oh
# D26jq22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJwZPt4bRc4G/rJvmM
# 1bL5OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQayg9Rc9hUZTO1i4F4z
# 8ujo7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbIYViY9XwCFjyDKK05
# huzUtw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchApQfDVxW0mdmgRQRNY
# mtwmKwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRroOBl8ZhzNeDhFMJlP
# /2NPTLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IBWTCCAVUwEgYDVR0T
# AQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHwYD
# VR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMG
# A1UdJQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcwAYYY
# aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8vY2Fj
# ZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBDBgNV
# HR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRU
# cnVzdGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAEDMAgGBmeBDAEEATAN
# BgkqhkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql+Eg08yy25nRm95Ry
# sQDKr2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFFUP2cvbaF4HZ+N3HL
# IvdaqpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1hmYFW9snjdufE5Btf
# Q/g+lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3RywYFzzDaju4ImhvTnh
# OE7abrs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5UbdldAhQfQDN8A+KVssIh
# dXNSy0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw8MzK7/0pNVwfiThV
# 9zeKiwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnPLqR0kq3bPKSchh/j
# wVYbKyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatEQOON8BUozu3xGFYH
# Ki8QxAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bnKD+sEq6lLyJsQfmC
# XBVmzGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQjiWQ1tygVQK+pKHJ6l
# /aCnHwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbqyK+p/pQd52MbOoZW
# eE4wggd3MIIFX6ADAgECAhAHHxQbizANJfMU6yMM0NHdMA0GCSqGSIb3DQEBCwUA
# MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UE
# AxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEz
# ODQgMjAyMSBDQTEwHhcNMjIwMTE3MDAwMDAwWhcNMjUwMTE1MjM1OTU5WjB8MQsw
# CQYDVQQGEwJVUzEPMA0GA1UECBMGT3JlZ29uMRIwEAYDVQQHEwlCZWF2ZXJ0b24x
# IzAhBgNVBAoTGlB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uMSMwIQYDVQQDExpQ
# eXRob24gU29mdHdhcmUgRm91bmRhdGlvbjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
# ADCCAgoCggIBAKgc0BTT+iKbtK6f2mr9pNMUTcAJxKdsuOiSYgDFfwhjQy89koM7
# uP+QV/gwx8MzEt3c9tLJvDccVWQ8H7mVsk/K+X+IufBLCgUi0GGAZUegEAeRlSXx
# xhYScr818ma8EvGIZdiSOhqjYc4KnfgfIS4RLtZSrDFG2tN16yS8skFa3IHyvWdb
# D9PvZ4iYNAS4pjYDRjT/9uzPZ4Pan+53xZIcDgjiTwOh8VGuppxcia6a7xCyKoOA
# GjvCyQsj5223v1/Ig7Dp9mGI+nh1E3IwmyTIIuVHyK6Lqu352diDY+iCMpk9Zanm
# SjmB+GMVs+H/gOiofjjtf6oz0ki3rb7sQ8fTnonIL9dyGTJ0ZFYKeb6BLA66d2GA
# LwxZhLe5WH4Np9HcyXHACkppsE6ynYjTOd7+jN1PRJahN1oERzTzEiV6nCO1M3U1
# HbPTGyq52IMFSBM2/07WTJSbOeXjvYR7aUxK9/ZkJiacl2iZI7IWe7JKhHohqKuc
# eQNyOzxTakLcRkzynvIrk33R9YVqtB4L6wtFxhUjvDnQg16xot2KVPdfyPAWd81w
# tZADmrUtsZ9qG79x1hBdyOl4vUtVPECuyhCxaw+faVjumapPUnwo8ygflJJ74J+B
# Yxf6UuD7m8yzsfXWkdv52DjL74TxzuFTLHPyARWCSCAbzn3ZIly+qIqDAgMBAAGj
# ggIGMIICAjAfBgNVHSMEGDAWgBRoN+Drtjv4XxGG+/5hewiIZfROQjAdBgNVHQ4E
# FgQUt/1Teh2XDuUj2WW3siYWJgkZHA8wDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQM
# MAoGCCsGAQUFBwMDMIG1BgNVHR8Ega0wgaowU6BRoE+GTWh0dHA6Ly9jcmwzLmRp
# Z2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNI
# QTM4NDIwMjFDQTEuY3JsMFOgUaBPhk1odHRwOi8vY3JsNC5kaWdpY2VydC5jb20v
# RGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIxQ0Ex
# LmNybDA+BgNVHSAENzA1MDMGBmeBDAEEATApMCcGCCsGAQUFBwIBFhtodHRwOi8v
# d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgZQGCCsGAQUFBwEBBIGHMIGEMCQGCCsGAQUF
# BzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wXAYIKwYBBQUHMAKGUGh0dHA6
# Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWdu
# aW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZI
# hvcNAQELBQADggIBABxv4AeV/5ltkELHSC63fXAFYS5tadcWTiNc2rskrNLrfH1N
# s0vgSZFoQxYBFKI159E8oQQ1SKbTEubZ/B9kmHPhprHya08+VVzxC88pOEvz68nA
# 82oEM09584aILqYmj8Pj7h/kmZNzuEL7WiwFa/U1hX+XiWfLIJQsAHBla0i7QRF2
# de8/VSF0XXFa2kBQ6aiTsiLyKPNbaNtbcucaUdn6vVUS5izWOXM95BSkFSKdE45O
# q3FForNJXjBvSCpwcP36WklaHL+aHu1upIhCTUkzTHMh8b86WmjRUqbrnvdyR2yd
# I5l1OqcMBjkpPpIV6wcc+KY/RH2xvVuuoHjlUjwq2bHiNoX+W1scCpnA8YTs2d50
# jDHUgwUo+ciwpffH0Riq132NFmrH3r67VaN3TuBxjI8SIZM58WEDkbeoriDk3hxU
# 8ZWV7b8AW6oyVBGfM06UgkfMb58h+tJPrFx8VI/WLq1dTqMfZOm5cuclMnUHs2uq
# rRNtnV8UfidPBL4ZHkTcClQbCoz0UbLhkiDvIS00Dn+BBcxw/TKqVL4Oaz3bkMSs
# M46LciTeucHY9ExRVt3zy7i149sd+F4QozPqn7FrSVHXmem3r7bjyHTxOgqxRCVa
# 18Vtx7P/8bYSBeS+WHCKcliFCecspusCDSlnRUjZwyPdP0VHxaZg2unjHY3rMYIa
# tjCCGrICAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIElu
# Yy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJT
# QTQwOTYgU0hBMzg0IDIwMjEgQ0ExAhAHHxQbizANJfMU6yMM0NHdMA0GCWCGSAFl
# AwQCAQUAoIHIMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcC
# AQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCBnAZ6P7YvTwq0fbF62
# o7E75R0LxsW5OtyYiFESQckLhjBcBgorBgEEAYI3AgEMMU4wTKBGgEQAQgB1AGkA
# bAB0ADoAIABSAGUAbABlAGEAcwBlAF8AdgAzAC4AMQAyAC4ANQBfADIAMAAyADQA
# MAA4ADAANgAuADAAMaECgAAwDQYJKoZIhvcNAQEBBQAEggIAoXbLeBCFQhwr4rTK
# R0WSySG7AtpuY1n5vhwkJPE0JgQ11PFJYphroU2ouWWM8ifejqa6m21JEWGjC9En
# Rpzpe1+eps7ClsdO+y5NxZc/3vD1j7IddJdzZh77QqDFMqJEeDNY+00OxxnnhbN1
# wJk29w8qRyIJ7HpCM0E5b8R8Atooip5ihAgrdrIsyyA3Mnl5Y+YMdqtQYe4QtOhE
# QcEoxAMoI5nLSGsbLhEM8CArl36EmX31eHTVMRJMaM98p0DkURHL030ALmW2V70h
# M7ovmhOezFyndR1d3HtcfwRB3nr5vHWZe6ythZ3wVgpsN++RdDOvHjb9LC9lkth/
# BGbcmVqsA9ZHnub1iPt89GsQBSiXjaOnWUxgJi0Qd3s2pwswLxHp05QDUE/d8EF7
# Wy6aNPI43+G2BjPLVeM3iVbMWd/yxhH6pddaVPAMKVvxJoJ7PfDLihMNyonHt0on
# xuaM5r2KaVMWpHIkgLiB9tyvdIQb0IW+YU05VAnOqh7CDaEtP7jM6P0usxY9ufEC
# BFZnOGb3M/c4KbcOuHOIkY3jGqw+DLZFrcWiIe2wbi2TsXDixs+pz8vm/KQczrQ2
# RJ1R8jrbK7IIRyZmTYf+dStZG3NhNQn1xcPYraHKNOm9CzNmeXJTdfAe0BEApqUN
# 9AiLj6uvSEp278ysr/EE3ayw2Qmhghc/MIIXOwYKKwYBBAGCNwMDATGCFyswghcn
# BgkqhkiG9w0BBwKgghcYMIIXFAIBAzEPMA0GCWCGSAFlAwQCAQUAMHcGCyqGSIb3
# DQEJEAEEoGgEZjBkAgEBBglghkgBhv1sBwEwMTANBglghkgBZQMEAgEFAAQgpuSq
# fyINa45wSs5Sa6msoQk+zCLDcSK24OqaBM/0/2cCEFtb0VJATq3jxU9l7ewmqjcY
# DzIwMjQwODA2MjEwMDM5WqCCEwkwggbCMIIEqqADAgECAhAFRK/zlJ0IOaa/2z9f
# 5WEWMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdp
# Q2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2
# IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0EwHhcNMjMwNzE0MDAwMDAwWhcNMzQxMDEz
# MjM1OTU5WjBIMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4x
# IDAeBgNVBAMTF0RpZ2lDZXJ0IFRpbWVzdGFtcCAyMDIzMIICIjANBgkqhkiG9w0B
# AQEFAAOCAg8AMIICCgKCAgEAo1NFhx2DjlusPlSzI+DPn9fl0uddoQ4J3C9Io5d6
# OyqcZ9xiFVjBqZMRp82qsmrdECmKHmJjadNYnDVxvzqX65RQjxwg6seaOy+WZuNp
# 52n+W8PWKyAcwZeUtKVQgfLPywemMGjKg0La/H8JJJSkghraarrYO8pd3hkYhftF
# 6g1hbJ3+cV7EBpo88MUueQ8bZlLjyNY+X9pD04T10Mf2SC1eRXWWdf7dEKEbg8G4
# 5lKVtUfXeCk5a+B4WZfjRCtK1ZXO7wgX6oJkTf8j48qG7rSkIWRw69XloNpjsy7p
# Be6q9iT1HbybHLK3X9/w7nZ9MZllR1WdSiQvrCuXvp/k/XtzPjLuUjT71Lvr1KAs
# NJvj3m5kGQc3AZEPHLVRzapMZoOIaGK7vEEbeBlt5NkP4FhB+9ixLOFRr7StFQYU
# 6mIIE9NpHnxkTZ0P387RXoyqq1AVybPKvNfEO2hEo6U7Qv1zfe7dCv95NBB+plwK
# WEwAPoVpdceDZNZ1zY8SdlalJPrXxGshuugfNJgvOuprAbD3+yqG7HtSOKmYCaFx
# smxxrz64b5bV4RAT/mFHCoz+8LbH1cfebCTwv0KCyqBxPZySkwS0aXAnDU+3tTbR
# yV8IpHCj7ArxES5k4MsiK8rxKBMhSVF+BmbTO77665E42FEHypS34lCh8zrTioPL
# QHsCAwEAAaOCAYswggGHMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMBYG
# A1UdJQEB/wQMMAoGCCsGAQUFBwMIMCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsGCWCG
# SAGG/WwHATAfBgNVHSMEGDAWgBS6FtltTYUvcyl2mi91jGogj57IbzAdBgNVHQ4E
# FgQUpbbvE+fvzdBkodVWqWUxo97V40kwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0cDov
# L2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0UlNBNDA5NlNIQTI1
# NlRpbWVTdGFtcGluZ0NBLmNybDCBkAYIKwYBBQUHAQEEgYMwgYAwJAYIKwYBBQUH
# MAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBYBggrBgEFBQcwAoZMaHR0cDov
# L2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0UlNBNDA5NlNI
# QTI1NlRpbWVTdGFtcGluZ0NBLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAgRrW3qCp
# tZgXvHCNT4o8aJzYJf/LLOTN6l0ikuyMIgKpuM+AqNnn48XtJoKKcS8Y3U623mzX
# 4WCcK+3tPUiOuGu6fF29wmE3aEl3o+uQqhLXJ4Xzjh6S2sJAOJ9dyKAuJXglnSoF
# eoQpmLZXeY/bJlYrsPOnvTcM2Jh2T1a5UsK2nTipgedtQVyMadG5K8TGe8+c+nji
# kxp2oml101DkRBK+IA2eqUTQ+OVJdwhaIcW0z5iVGlS6ubzBaRm6zxbygzc0brBB
# Jt3eWpdPM43UjXd9dUWhpVgmagNF3tlQtVCMr1a9TMXhRsUo063nQwBw3syYnhmJ
# A+rUkTfvTVLzyWAhxFZH7doRS4wyw4jmWOK22z75X7BC1o/jF5HRqsBV44a/rCcs
# QdCaM0qoNtS5cpZ+l3k4SF/Kwtw9Mt911jZnWon49qfH5U81PAC9vpwqbHkB3NpE
# 5jreODsHXjlY9HxzMVWggBHLFAx+rrz+pOt5Zapo1iLKO+uagjVXKBbLafIymrLS
# 2Dq4sUaGa7oX/cR3bBVsrquvczroSUa31X/MtjjA2Owc9bahuEMs305MfR5ocMB3
# CtQC4Fxguyj/OOVSWtasFyIjTvTs0xf7UGv/B3cfcZdEQcm4RtNsMnxYL2dHZeUb
# c7aZ+WssBkbvQR7w8F/g29mtkIBEr4AQQYowggauMIIElqADAgECAhAHNje3JFR8
# 2Ees/ShmKl5bMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV
# BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMjAzMjMwMDAwMDBaFw0z
# NzAzMjIyMzU5NTlaMGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
# SW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNIQTI1
# NiBUaW1lU3RhbXBpbmcgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
# AQDGhjUGSbPBPXJJUVXHJQPE8pE3qZdRodbSg9GeTKJtoLDMg/la9hGhRBVCX6SI
# 82j6ffOciQt/nR+eDzMfUBMLJnOWbfhXqAJ9/UO0hNoR8XOxs+4rgISKIhjf69o9
# xBd/qxkrPkLcZ47qUT3w1lbU5ygt69OxtXXnHwZljZQp09nsad/ZkIdGAHvbREGJ
# 3HxqV3rwN3mfXazL6IRktFLydkf3YYMZ3V+0VAshaG43IbtArF+y3kp9zvU5Emfv
# DqVjbOSmxR3NNg1c1eYbqMFkdECnwHLFuk4fsbVYTXn+149zk6wsOeKlSNbwsDET
# qVcplicu9Yemj052FVUmcJgmf6AaRyBD40NjgHt1biclkJg6OBGz9vae5jtb7IHe
# IhTZgirHkr+g3uM+onP65x9abJTyUpURK1h0QCirc0PO30qhHGs4xSnzyqqWc0Jo
# n7ZGs506o9UD4L/wojzKQtwYSH8UNM/STKvvmz3+DrhkKvp1KCRB7UK/BZxmSVJQ
# 9FHzNklNiyDSLFc1eSuo80VgvCONWPfcYd6T/jnA+bIwpUzX6ZhKWD7TA4j+s4/T
# Xkt2ElGTyYwMO1uKIqjBJgj5FBASA31fI7tk42PgpuE+9sJ0sj8eCXbsq11GdeJg
# o1gJASgADoRU7s7pXcheMBK9Rp6103a50g5rmQzSM7TNsQIDAQABo4IBXTCCAVkw
# EgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUuhbZbU2FL3MpdpovdYxqII+e
# yG8wHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQD
# AgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMIMHcGCCsGAQUFBwEBBGswaTAkBggrBgEF
# BQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRw
# Oi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNy
# dDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGln
# aUNlcnRUcnVzdGVkUm9vdEc0LmNybDAgBgNVHSAEGTAXMAgGBmeBDAEEAjALBglg
# hkgBhv1sBwEwDQYJKoZIhvcNAQELBQADggIBAH1ZjsCTtm+YqUQiAX5m1tghQuGw
# GC4QTRPPMFPOvxj7x1Bd4ksp+3CKDaopafxpwc8dB+k+YMjYC+VcW9dth/qEICU0
# MWfNthKWb8RQTGIdDAiCqBa9qVbPFXONASIlzpVpP0d3+3J0FNf/q0+KLHqrhc1D
# X+1gtqpPkWaeLJ7giqzl/Yy8ZCaHbJK9nXzQcAp876i8dU+6WvepELJd6f8oVInw
# 1YpxdmXazPByoyP6wCeCRK6ZJxurJB4mwbfeKuv2nrF5mYGjVoarCkXJ38SNoOeY
# +/umnXKvxMfBwWpx2cYTgAnEtp/Nh4cku0+jSbl3ZpHxcpzpSwJSpzd+k1OsOx0I
# SQ+UzTl63f8lY5knLD0/a6fxZsNBzU+2QJshIUDQtxMkzdwdeDrknq3lNHGS1yZr
# 5Dhzq6YBT70/O3itTK37xJV77QpfMzmHQXh6OOmc4d0j/R0o08f56PGYX/sr2H7y
# Rp11LB4nLCbbbxV7HhmLNriT1ObyF5lZynDwN7+YAN8gFk8n+2BnFqFmut1VwDop
# hrCYoCvtlUG3OtUVmDG0YgkPCr2B2RP+v6TR81fZvAT6gt4y3wSJ8ADNXcL50CN/
# AAvkdgIm2fBldkKmKYcJRyvmfxqkhQ/8mJb2VVQrH4D6wPIOK+XW+6kvRBVK5xMO
# Hds3OBqhK/bt1nz8MIIFjTCCBHWgAwIBAgIQDpsYjvnQLefv21DiCEAYWjANBgkq
# hkiG9w0BAQwFADBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5j
# MRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBB
# c3N1cmVkIElEIFJvb3QgQ0EwHhcNMjIwODAxMDAwMDAwWhcNMzExMTA5MjM1OTU5
# WjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
# ExB3d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJv
# b3QgRzQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1K
# PDAiMGkz7MKnJS7JIT3yithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2r
# snnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C
# 8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBf
# sXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY
# QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8
# rhsDdV14Ztk6MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaY
# dj1ZXUJ2h4mXaXpI8OCiEhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+
# wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw
# ++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+N
# P8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7F
# wI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo4IBOjCCATYwDwYDVR0TAQH/BAUw
# AwEB/zAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wHwYDVR0jBBgwFoAU
# Reuir/SSy4IxLVGLp6chnfNtyA8wDgYDVR0PAQH/BAQDAgGGMHkGCCsGAQUFBwEB
# BG0wazAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEMGCCsG
# AQUFBzAChjdodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1
# cmVkSURSb290Q0EuY3J0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmwzLmRp
# Z2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwEQYDVR0gBAow
# CDAGBgRVHSAAMA0GCSqGSIb3DQEBDAUAA4IBAQBwoL9DXFXnOF+go3QbPbYW1/e/
# Vwe9mqyhhyzshV6pGrsi+IcaaVQi7aSId229GhT0E0p6Ly23OO/0/4C5+KH38nLe
# JLxSA8hO0Cre+i1Wz/n096wwepqLsl7Uz9FDRJtDIeuWcqFItJnLnU+nBgMTdydE
# 1Od/6Fmo8L8vC6bp8jQ87PcDx4eo0kxAGTVGamlUsLihVo7spNU96LHc/RzY9Hda
# XFSMb++hUD38dglohJ9vytsgjTVgHAIDyyCwrFigDkBjxZgiwbJZ9VVrzyerbHbO
# byMt9H5xaiNrIv8SuFQtJ37YOtnwtoeW/VvRXKwYw02fc7cBqZ9Xql4o4rmUMYID
# djCCA3ICAQEwdzBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIElu
# Yy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNBNDA5NiBTSEEyNTYg
# VGltZVN0YW1waW5nIENBAhAFRK/zlJ0IOaa/2z9f5WEWMA0GCWCGSAFlAwQCAQUA
# oIHRMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcN
# MjQwODA2MjEwMDM5WjArBgsqhkiG9w0BCRACDDEcMBowGDAWBBRm8CsywsLJD4Jd
# zqqKycZPGZzPQDAvBgkqhkiG9w0BCQQxIgQglCIBxGudJQwqEBh+XAoT3nqSoAuS
# uMjmJTX95zFjdk0wNwYLKoZIhvcNAQkQAi8xKDAmMCQwIgQg0vbkbe10IszR1EBX
# aEE2b4KK2lWarjMWr00amtQMeCgwDQYJKoZIhvcNAQEBBQAEggIAOkILAZviyFOU
# Qzt10RYNFHl0zO4rgXcR5oCeJlU1n9y+DwjCTvcrax9qdkEuiEJWDewXbak3TPQK
# 0ts7jhUIFMDTEn8GZXysruzDlYNLstKM4RbYIK+f2772phehvABS5mn70+L63GXe
# A5UFYM5M7BAvEY+3DKEwUnN9lAl8YKi1xS545MXYm1B96gI/7oEBDkNV2DoNIZAw
# R2B4wPTcpI2aG5zZ0jFgVtq8bOXLZ9b9pBrhKbf4PZWxPqAFwUtZryQKdt770u3Y
# l0WR2SgemKq4aOEvajD1J4fC56lnUoekXt4yH8/fBueCXYx+ADoEkU4/ota7C1oL
# aCZE4G0iQOH9XFtMUjA87oEPisJG63onir6tsurTjjm/wK8VnFQBSii4ILtfSOfR
# kDMsu7kS0H5SWliY3sPlDTn4Kwl14EThMmyXUr7SFFHnsibHtfLATTmV6XyeJ03l
# BmwDl8hdzt5G0pjH/u3bTFcdJu7J0RQuGYgpmNsVYjHCQnZDrJjzIE2os/QYgL6D
# B/ZYSv96jnYs6cFd93R0ixZMsQPQKcs2gbVYz3nymJL7t605LzW86tENmORsUdgm
# qh0ky+qe/+D/f88WLLjdHi/xfskiFKEL66Y4EWkECoUUMBRcJlIg1GszTCVmwD1N
# foIJo8CaFGMoR+QHwDeamNbOOlrCFMQ=
# SIG # End signature block

View File

@ -0,0 +1,70 @@
# This file must be used with "source bin/activate" *from bash*
# You cannot run it directly
deactivate () {
# reset old environment variables
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
PATH="${_OLD_VIRTUAL_PATH:-}"
export PATH
unset _OLD_VIRTUAL_PATH
fi
if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
export PYTHONHOME
unset _OLD_VIRTUAL_PYTHONHOME
fi
# Call hash to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
hash -r 2> /dev/null
if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
PS1="${_OLD_VIRTUAL_PS1:-}"
export PS1
unset _OLD_VIRTUAL_PS1
fi
unset VIRTUAL_ENV
unset VIRTUAL_ENV_PROMPT
if [ ! "${1:-}" = "nondestructive" ] ; then
# Self destruct!
unset -f deactivate
fi
}
# unset irrelevant variables
deactivate nondestructive
# on Windows, a path can contain colons and backslashes and has to be converted:
if [ "${OSTYPE:-}" = "cygwin" ] || [ "${OSTYPE:-}" = "msys" ] ; then
# transform D:\path\to\venv to /d/path/to/venv on MSYS
# and to /cygdrive/d/path/to/venv on Cygwin
export VIRTUAL_ENV=$(cygpath "C:\Users\1\Desktop\улгту\3 курс\МИИ\mai\sklearn-env")
else
# use the path as-is
export VIRTUAL_ENV="C:\Users\1\Desktop\улгту\3 курс\МИИ\mai\sklearn-env"
fi
_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/Scripts:$PATH"
export PATH
# unset PYTHONHOME if set
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
# could use `if (set -u; : $PYTHONHOME) ;` in bash
if [ -n "${PYTHONHOME:-}" ] ; then
_OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
unset PYTHONHOME
fi
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
_OLD_VIRTUAL_PS1="${PS1:-}"
PS1="(sklearn-env) ${PS1:-}"
export PS1
VIRTUAL_ENV_PROMPT="(sklearn-env) "
export VIRTUAL_ENV_PROMPT
fi
# Call hash to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
hash -r 2> /dev/null

View File

@ -0,0 +1,34 @@
@echo off
rem This file is UTF-8 encoded, so we need to update the current code page while executing it
for /f "tokens=2 delims=:." %%a in ('"%SystemRoot%\System32\chcp.com"') do (
set _OLD_CODEPAGE=%%a
)
if defined _OLD_CODEPAGE (
"%SystemRoot%\System32\chcp.com" 65001 > nul
)
set VIRTUAL_ENV=C:\Users\1\Desktop\улгту\3 курс\МИИ\mai\sklearn-env
if not defined PROMPT set PROMPT=$P$G
if defined _OLD_VIRTUAL_PROMPT set PROMPT=%_OLD_VIRTUAL_PROMPT%
if defined _OLD_VIRTUAL_PYTHONHOME set PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%
set _OLD_VIRTUAL_PROMPT=%PROMPT%
set PROMPT=(sklearn-env) %PROMPT%
if defined PYTHONHOME set _OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%
set PYTHONHOME=
if defined _OLD_VIRTUAL_PATH set PATH=%_OLD_VIRTUAL_PATH%
if not defined _OLD_VIRTUAL_PATH set _OLD_VIRTUAL_PATH=%PATH%
set PATH=%VIRTUAL_ENV%\Scripts;%PATH%
set VIRTUAL_ENV_PROMPT=(sklearn-env)
:END
if defined _OLD_CODEPAGE (
"%SystemRoot%\System32\chcp.com" %_OLD_CODEPAGE% > nul
set _OLD_CODEPAGE=
)

View File

@ -0,0 +1,22 @@
@echo off
if defined _OLD_VIRTUAL_PROMPT (
set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
)
set _OLD_VIRTUAL_PROMPT=
if defined _OLD_VIRTUAL_PYTHONHOME (
set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%"
set _OLD_VIRTUAL_PYTHONHOME=
)
if defined _OLD_VIRTUAL_PATH (
set "PATH=%_OLD_VIRTUAL_PATH%"
)
set _OLD_VIRTUAL_PATH=
set VIRTUAL_ENV=
set VIRTUAL_ENV_PROMPT=
:END

BIN
sklearn-env/Scripts/pip.exe Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

5
sklearn-env/pyvenv.cfg Normal file
View File

@ -0,0 +1,5 @@
home = C:\Python312
include-system-site-packages = false
version = 3.12.5
executable = C:\Python312\python.exe
command = C:\Python312\python.exe -m venv C:\Users\1\Desktop\улгту\3 курс\МИИ\mai\sklearn-env