1 Nhiệm vụ 3.1:

1.1 Giải thích bộ dữ liệu:

Bộ dữ liệu trong file population-and-demography.csv nói về Dân số và Nhân khẩu học của 254 quốc gia được phân tích từ năm 1950 đến năm 2021, bao gồm 18288 quan sát và 24 biến

  • Country name: Tên Quốc Gia

  • Year: Năm

  • Population: Dân số

  • Population of children under the age of 1: Dân số trẻ em dưới 1 tuổi

  • Population of children under the age of 5: Dân số trẻ em dưới 5 tuổi

  • Population of children under the age of 15: Dân số trẻ em dưới 15 tuổi

  • Population under the age of 25: Dân số dưới 25 tuổi

  • Population aged 15 to 64 years: Dân số từ 15 đến 64 tuổi

  • Population older than 15 years: Dân số lớn hơn 15 tuổi

  • Population older than 18 years: Dân số lớn hơn 18 tuổi

  • Population at age 1: Dân số 1 tuổi

  • Population aged 1 to 4 years: Dân số từ 1 đến 4 tuổi

  • Population aged 5 to 9 years: Dân số từ 5 đến 9 tuổi

  • Population aged 10 to 14 years: Dân số từ 10 đến 14 tuổi

  • Population aged 15 to 19 years: Dân số từ 15 đến 19 tuổi

  • Population aged 20 to 29 years: Dân số từ 20 đến 29 tuổi

  • Population aged 30 to 39 years: Dân số từ 30 đến 39 tuổi

  • Population aged 40 to 49 years: Dân số từ 40 đến 49 tuổi

  • Population aged 50 to 59 years: Dân số từ 50 đến 59 tuổi

  • Population aged 60 to 69 years: Dân số từ 60 đến 69 tuổi

  • Population aged 70 to 79 years: Dân số từ 70 đến 79 tuổi

  • Population aged 80 to 89 years: Dân số từ 80 đến 89 tuổi

  • Population aged 90 to 99 years: Dân số từ 90 đến 99 tuổi

  • Population older than 100 years: Dân số lớn hơn 100 tuổi

1.2 Phân tích dữ liệu:

  • Tạo một bản sao của file dữ liệu population-and-demography.csv và gán nó vào một biến mới có tên p. Điều này giúp bạn giữ nguyên dữ liệu gốc trong khi thực hiện các thao tác trên bản sao.
library(DT)
library(readr)
p <- read_csv("C:/Users/Dell/Downloads/population-and-demography.csv") 
## Rows: 18288 Columns: 24
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (1): Country name
## dbl (23): Year, Population, Population of children under the age of 1, Popul...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
datatable(p)
  • header = T là lấy dữ liệu từ hàng đầu tiên của file csv

  • Thực hiện đổi tên các biến của dữ liệu để dễ dàng gọi tên trong các thao tác phân tích

names(p) <- c('cn','y','p','pcu1','pcu5','pcu15','pu25','p15to64','po15','po18','p1','p1to4','p5to9','p10to14','p15to19','p20to29','p30to39','p40to49','p50to59','p60to69','p70to79','p80to89','p90t90to99','po100')
names(p)
##  [1] "cn"         "y"          "p"          "pcu1"       "pcu5"      
##  [6] "pcu15"      "pu25"       "p15to64"    "po15"       "po18"      
## [11] "p1"         "p1to4"      "p5to9"      "p10to14"    "p15to19"   
## [16] "p20to29"    "p30to39"    "p40to49"    "p50to59"    "p60to69"   
## [21] "p70to79"    "p80to89"    "p90t90to99" "po100"
  • Từ đó tên dữ liệu được rút gọn như sau:

    • Country name được đổi tên thành cn: Tên Quốc Gia

    • Year được đổi tên thành y: Năm lấy số liệu

    • Population được đổi tên thành p: Dân số

    • Population of children under the age of 1 được đổi tên thành pcu1: Dân số trẻ em dưới 1 tuổi

    • Population of children under the age of 5 được đổi tên thành pcu5: Dân số trẻ em dưới 5 tuổi

    • Population of children under the age of 15 được đổi tên thành pcu15: Dân số trẻ em dưới 15 tuổi

    • Population under the age of 25 được đổi tên thành pu25: Dân số dưới 25 tuổi

    • Population aged 15 to 64 years được đổi tên thành p15to64: Dân số từ 15 đến 64 tuổi

    • Population older than 15 years được đổi tên thành po15: Dân số lớn hơn 15 tuổi

    • Population older than 18 years được đổi tên thành po18: Dân số lớn hơn 18 tuổi

    • Population at age 1 được đổi tên thành p1: Dân số 1 tuổi

    • Population aged 1 to 4 years được đổi tên thành p1to4: Dân số từ 1 đến 4 tuổi

    • Population aged 5 to 9 years được đổi tên thành p5to9: Dân số từ 5 đến 9 tuổi

    • Population aged 10 to 14 years được đổi tên thành p10to14: Dân số từ 10 đến 14 tuổi

    • Population aged 15 to 19 years được đổi tên thành p15to19: Dân số từ 15 đến 19 tuổi

    • Population aged 20 to 29 years được đổi tên thành p20to29: Dân số từ 20 đến 29 tuổi

    • Population aged 30 to 39 years được đổi tên thành p30to39: Dân số từ 30 đến 39 tuổi

    • Population aged 40 to 49 years được đổi tên thành p40to49: Dân số từ 40 đến 49 tuổi

    • Population aged 50 to 59 years được đổi tên thành p50to59: Dân số từ 50 đến 59 tuổi

    • Population aged 60 to 69 years được đổi tên thành p60to69: Dân số từ 60 đến 69 tuổi

    • Population aged 70 to 79 years được đổi tên thành p70to79: Dân số từ 70 đến 79 tuổi

    • Population aged 80 to 89 years được đổi tên thành p80to89: Dân số từ 80 đến 89 tuổi

    • Population aged 90 to 99 years được đổi tên thành p90to99: Dân số từ 90 đến 99 tuổi

    • Population older than 100 years được đổi tên thành po100: Dân số lớn hơn 100 tuổi

  • Thực hiện lọc 5 quốc gia cần phân tích, ở đây phân tích “China, Japan, Spain, Thailand, Vietnam”

  • Chọn 5 cột số liệu về các độ tuổi của dân số trong các năm, ở đây phân tích tổng dân số của 5 quốc gia (p), dân số trẻ em dưới 15 tuổi (pcu15), dân số dưới 25 tuổi (pu25), dân số từ 30 đến 39 tuôi (p30to39), dân số từ 70 đến 79 tuổi (p70to79)

  • Xóa bỏ các cột thừa chỉ giữ lại 7 cột cần lấy dữ liệu để phân tích và gán cho dữ liệu mới một object p1

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
p1 <- filter(p, cn == 'China' | cn == 'Japan' | cn == 'Vietnam' | cn == 'Thailand' | cn == 'Spain') %>% select(-c('pcu1','pcu5','p15to64','po15','po18','p1','p1to4','p5to9','p10to14','p15to19','p20to29','p40to49','p50to59','p60to69','p80to89','p90t90to99','po100'))

table <- knitr::kable(p, format = "markdown")
datatable(p)

Giải thích dữ liệu:

Có 360 quan sát và 7 bién

  • Country name được đổi tên thành cn: Tên quốc gia

  • Year được đổi tên thành y: Năm

  • Population được đổi tên thành p: Dân số

  • Population of children under the age of 15 được đỏi tên thành pcu15: Dân số của trẻ em dưới 15 tuổi

  • Population under the age of 25 được đổi tên thành pu25 : Dân số dưới 25 tuổi

  • Population aged 30 to 39 years được đổi tên thành p30to39: Dân số từ 30 đến 39 tuổi

  • Population aged 70 to 79 years được đổi tên thành p70to79: Dân số từ 70 đến 79 tuổi

1.3 Mã hóa dữ liệu, lập bảng tần số:

p1$cn.Coded <- ifelse(p1$cn == 'Vietnam','Vietnam','other country')
  • Muốn thống kê
table(p1$cn)
## 
##    China    Japan    Spain Thailand  Vietnam 
##       72       72       72       72       72

Kết quả trả về cho thấy tần suất xuất hiện tên của các quốc gia, chằng hạn như ‘China’ xuất hiện 72 lần tương ứng với 72 năm phân tích về dân số của Trung Quốc

1.4 Phân tích dữ liệu theo quốc gia và theo thời gian:

1.4.1 Các đặc trưng đo lường theo quốc gia:

p2 <- filter(p1, cn == 'Vietnam') %>% select (p30to39)
filter(p1, cn == 'Vietnam') %>%
  select(cn, p30to39) %>% 
  summary(p1$p30to39)
##       cn               p30to39        
##  Length:72          Min.   : 3480061  
##  Class :character   1st Qu.: 4313676  
##  Mode  :character   Median : 7073500  
##                     Mean   : 8300103  
##                     3rd Qu.:11843949  
##                     Max.   :15962702
table <- knitr::kable(p1, format = "markdown")
filter(p1, cn == 'Vietnam') %>% 
  select(p30to39) %>% 
  sum(p1$p30to39)
## [1] 14176100072
mean(p2$p30to39, rm.na = T)
## [1] 8300103
length(p2$p30to39)
## [1] 72
var(p2$p30to39)
## [1] 1.907825e+13
sd(p2$p30to39) 
## [1] 4367865
median(p2$p30to39)
## [1] 7073501
quantile(p2$p30to39, probs = c(.25,.5,.75))
##      25%      50%      75% 
##  4313677  7073501 11843949

1.4.2 Đặc trưng đo lường theo nhóm quốc gia:

VNTL <- p1 %>% 
  filter(cn == 'Vietnam' | cn == 'Thailand') %>%
  group_by(cn, p30to39) %>%
  summarise(mean_of_p = mean(p), .groups = 'drop')

mean(VNTL$mean_of_p)
## [1] 54876102

1.4.3 Đặc trưng đo lường theo năm:

filter(p1, y == '2020') %>%
  select(y, p70to79) %>% 
  sum(p1$p70to79)
## [1] 3243112368

1.4.4 Đặc trưng đo lường theo khoảng thời gian:

nam <- p1 %>% 
  filter(y == '1970' | y == '1990') %>%
  group_by(y, pcu15) %>%
  summarise(mean_of_pcu15 = mean(pcu15), .groups = 'drop')

mean(nam$mean_of_pcu15)
## [1] 80977349

2 NHIỆM VỤ 3.2


2.1 Giải thích bộ dữ liệu

Nhiệm vụ 3.2 thực hiện thao tác trên datasets biweekly_cases, là 1 dataset thống kê tình hình nhiễm covid 19 ở các quốc gia ## . Mô tả cơ bản *** Là 1 dataframe Không có dữ liệu trống Datasets có 212 quan sát và 247 biến như sau:

world: thế giới Afghanistan: người Afghanistan Châu Phi Albania: Đông Nam Châu Âu Algeria: Bắc Phi

Đọc bộ dữ liệu

library(csv)
## Warning: package 'csv' was built under R version 4.3.3
 t <- read.csv("C:/Users/Dell/Desktop/biweekly_cases.csv")
str(t)
## 'data.frame':    200 obs. of  247 variables:
##  $ date                            : chr  "" "4/5/2020" "4/12/2020" "4/19/2020" ...
##  $ World                           : int  689954 1156243 1680600 2187561 2727739 3271481 3840476 4428081 5093319 5813080 ...
##  $ Afghanistan                     : int  91 274 521 908 1330 2171 3563 6053 9866 14443 ...
##  $ Africa                          : int  4566 9249 14590 21829 31322 44003 62086 83378 110316 144577 ...
##  $ Albania                         : int  186 304 416 539 678 782 850 916 981 1099 ...
##  $ Algeria                         : int  454 1251 1825 2534 3256 4295 5558 6821 8113 9267 ...
##  $ American.Samoa                  : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Andorra                         : int  341 466 622 704 738 747 754 761 763 764 ...
##  $ Angola                          : int  0 10 19 24 25 35 43 48 61 84 ...
##  $ Anguilla                        : int  2 3 3 3 3 3 3 3 3 3 ...
##  $ Antigua.and.Barbuda             : int  7 7 21 23 24 24 25 25 25 25 ...
##  $ Argentina                       : int  1282 2073 2990 4066 5464 6753 8650 11560 16621 22406 ...
##  $ Armenia                         : int  424 822 1013 1291 1746 2386 3313 4472 6661 9282 ...
##  $ Aruba                           : int  46 64 92 96 100 100 101 101 101 101 ...
##  $ Asia                            : int  155461 213781 285956 367653 457236 539973 631068 736489 865280 1027765 ...
##  $ Australia                       : int  3809 5635 6289 6586 6703 6779 6917 7021 7091 7163 ...
##  $ Austria                         : int  4946 8699 10641 11530 11980 12346 12605 12934 13183 13396 ...
##  $ Azerbaijan                      : int  147 443 991 1340 1592 1854 2279 2980 3855 4989 ...
##  $ Bahamas                         : int  9 24 42 54 72 82 92 96 97 101 ...
##  $ Bahrain                         : int  476 688 1040 1773 2589 3284 4774 6747 8802 10793 ...
##  $ Bangladesh                      : int  48 88 621 2456 5416 9455 14657 22268 33610 47153 ...
##  $ Barbados                        : int  24 51 67 75 77 81 82 85 90 92 ...
##  $ Belarus                         : int  94 440 2226 5289 9590 15828 22973 28681 35244 41658 ...
##  $ Belgium                         : int  12031 21665 32874 41225 47500 50762 53881 56081 57621 58853 ...
##  $ Belize                          : int  2 4 10 18 18 18 18 18 18 18 ...
##  $ Benin                           : int  3 13 35 54 60 90 111 131 137 239 ...
##  $ Bermuda                         : int  17 35 48 83 99 114 118 123 128 140 ...
##  $ Bhutan                          : int  3 5 5 5 7 7 7 21 27 43 ...
##  $ Bolivia                         : int  90 139 275 493 807 1229 2266 3577 5579 8731 ...
##  $ Bonaire.Sint.Eustatius.and.Saba : int  0 2 3 5 5 6 6 6 6 7 ...
##  $ Bosnia.and.Herzegovina          : int  318 619 935 1268 1486 1839 2090 2267 2391 2494 ...
##  $ Botswana                        : int  0 4 13 15 22 23 23 25 32 35 ...
##  $ Brazil                          : int  3417 9056 19638 33682 52995 91589 145328 218223 330890 465166 ...
##  $ British.Virgin.Islands          : int  2 3 3 3 6 6 7 8 8 8 ...
##  $ Brunei                          : int  120 135 136 137 138 138 141 141 141 141 ...
##  $ Bulgaria                        : int  346 531 675 894 1300 1618 1965 2211 2427 2513 ...
##  $ Burkina.Faso                    : int  222 364 484 576 632 652 748 782 841 855 ...
##  $ Burundi                         : int  0 3 5 5 15 19 27 42 42 63 ...
##  $ Cambodia                        : int  102 114 122 122 122 122 121 121 123 124 ...
##  $ Cameroon                        : int  90 555 822 1016 1621 2077 2335 3047 4400 5904 ...
##  $ Canada                          : int  4675 12519 22133 31872 43877 55049 66418 74595 82462 89398 ...
##  $ Cape.Verde                      : int  5 5 7 55 90 152 236 328 371 421 ...
##  $ Cayman.Islands                  : int  8 28 45 61 70 74 81 94 129 141 ...
##  $ Central.African.Republic        : int  13 18 20 21 30 88 170 367 604 1052 ...
##  $ Chad                            : int  5 9 18 33 46 117 322 503 675 778 ...
##  $ Chile                           : int  1909 4161 6927 9730 12858 18435 27219 41428 65393 94858 ...
##  $ China                           : int  82341 82930 83481 84156 84213 82408 70019 47233 15941 7528 ...
##  $ Colombia                        : int  723 1267 2473 3439 4881 7006 10051 14216 19131 26688 ...
##  $ Comoros                         : int  0 0 0 0 0 3 11 11 34 62 ...
##  $ Congo                           : int  19 49 70 143 200 229 287 410 487 604 ...
##  $ Cook.Islands                    : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Costa.Rica                      : int  263 416 558 649 687 725 773 843 911 1022 ...
##  $ Cote.d.Ivoire                   : int  178 338 628 868 1150 1362 1667 2061 2366 2799 ...
##  $ Croatia                         : int  657 1126 1534 1832 2016 2088 2176 2224 2243 2246 ...
##  $ Cuba                            : int  119 288 620 986 1337 1611 1754 1862 1931 2025 ...
##  $ Curacao                         : int  7 11 14 14 14 16 16 16 16 20 ...
##  $ Cyprus                          : int  179 426 616 761 810 864 892 914 927 943 ...
##  $ Czechia                         : int  2683 4504 5942 6696 7397 7809 8153 8525 8973 9319 ...
##  $ Democratic.Republic.of.Congo    : int  65 154 234 327 442 674 991 1454 2140 3048 ...
##  $ Denmark                         : int  2201 4077 5996 7242 8445 9407 10319 10858 11289 11633 ...
##  $ Djibouti                        : int  15 51 187 732 1008 1112 1189 1331 2270 3194 ...
##  $ Dominica                        : int  11 11 16 16 16 16 16 16 16 16 ...
##  $ Dominican.Republic              : int  581 1488 2620 4335 5926 7578 9882 12110 14422 16908 ...
##  $ Ecuador                         : int  1823 3465 7257 9022 22719 27464 29071 31467 36258 38843 ...
##  $ Egypt                           : int  576 1070 1939 3032 4319 6193 8964 11719 16512 23448 ...
##  $ El.Salvador                     : int  19 56 118 190 274 446 784 1265 1819 2395 ...
##  $ Equatorial.Guinea               : int  13 16 21 79 285 505 688 927 1313 1728 ...
##  $ Eritrea                         : int  6 20 34 39 39 39 39 39 39 39 ...
##  $ Estonia                         : int  5955 6359 6582 6781 6890 6946 6984 7027 7066 7112 ...
##  $ Eswatini                        : int  9 9 14 22 56 108 163 202 238 283 ...
##  $ Ethiopia                        : int  16 38 69 105 122 133 210 306 494 1063 ...
##  $ Europe                          : int  379351 579088 765455 938636 1101616 1252490 1405800 1543171 1665976 1778030 ...
##  $ European.Union                  : int  328804 484807 615552 717681 796488 848424 889844 924437 956309 984227 ...
##  $ Faeroe.Islands                  : int  156 181 184 185 187 187 187 187 187 187 ...
##  $ Falkland.Islands                : int  0 1 5 11 13 13 13 13 13 13 ...
##  $ Fiji                            : int  5 12 16 17 18 18 18 18 18 18 ...
##  $ Finland                         : int  2683 3452 4195 4894 5521 5965 6224 6414 6525 6589 ...
##  $ France                          : int  16 16 16 16 16 13 10 681 5021 8453 ...
##  $ French.Guiana                   : int  31 62 86 96 109 128 141 189 261 436 ...
##  $ French.Polynesia                : int  35 40 51 55 57 58 60 60 60 60 ...
##  $ Gabon                           : int  7 21 50 110 177 336 661 1320 1934 2655 ...
##  $ Gambia                          : int  3 4 9 9 10 17 20 24 25 25 ...
##  $ Georgia                         : int  98 170 252 394 485 589 635 695 730 783 ...
##  $ Germany                         : int  63904 99971 127115 144460 156811 164252 170486 175252 178851 182051 ...
##  $ Ghana                           : int  141 214 566 834 1279 2169 4263 5735 6617 7768 ...
##  $ Gibraltar                       : int  48 90 105 125 128 136 138 139 143 153 ...
##  $ Greece                          : int  1332 1866 2155 2273 2576 2680 2780 2884 2931 2978 ...
##  $ Greenland                       : int  10 10 11 11 11 11 11 11 11 13 ...
##  $ Grenada                         : int  7 12 13 13 15 20 21 22 22 23 ...
##  $ Guadeloupe                      : int  96 130 143 145 149 152 154 155 156 162 ...
##  $ Guam                            : int  55 93 133 133 137 144 147 149 161 166 ...
##  $ Guatemala                       : int  77 NA 164 262 457 671 927 1670 2770 4634 ...
##  $ Guernsey                        : int  46 127 209 239 245 252 252 252 252 252 ...
##  $ Guinea                          : int  9 121 250 477 1094 1586 2042 2663 3176 3706 ...
##  $ Guinea.Bissau                   : int  2 18 39 50 52 260 642 913 1114 1256 ...
##  $ Guyana                          : int  5 23 37 63 73 82 93 116 127 150 ...
##  $ Haiti                           : int  8 18 31 44 72 85 146 310 812 1584 ...
##  $ High.income                     : int  533110 926202 1342970 1710385 2075764 2406060 2709318 3002336 3301119 3572185 ...
##  $ Honduras                        : int  67 264 392 457 591 899 1771 2460 3477 4886 ...
##   [list output truncated]
is.data.frame(t)
## [1] TRUE
library(skimr)
skim(t)
Data summary
Name t
Number of rows 200
Number of columns 247
_______________________
Column type frequency:
character 1
numeric 246
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
date 0 1 0 10 1 200 0

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
World 0 1.00 54102693.00 49092900.57 689954 10879761.00 50811397.5 67159866.25 209907479 ▇▇▂▁▁
Afghanistan 0 1.00 16049.24 19308.45 91 4852.25 9894.5 17214.25 90336 ▇▂▁▁▁
Africa 0 1.00 918842.54 916342.50 4566 82284.50 678465.0 1481324.25 3179653 ▇▃▂▁▂
Albania 0 1.00 23411.04 25985.42 0 1147.00 9559.5 46425.00 79557 ▇▁▂▂▂
Algeria 0 1.00 19038.26 21060.27 36 493.25 10420.0 35648.00 69203 ▇▂▂▂▁
American.Samoa 0 1.00 585.13 1488.64 0 0.00 10.0 57.25 6185 ▇▁▁▁▁
Andorra 0 1.00 3360.37 4933.15 0 333.50 1417.5 4417.75 21913 ▇▂▁▁▁
Angola 0 1.00 7450.98 9437.51 0 579.75 2397.5 12961.00 34282 ▇▂▂▁▁
Anguilla 0 1.00 273.28 432.01 0 0.00 15.0 456.50 1531 ▇▁▁▁▁
Antigua.and.Barbuda 0 1.00 637.41 945.66 0 0.00 76.0 1016.00 3319 ▇▂▁▁▁
Argentina 0 1.00 705258.48 891492.42 1282 27878.75 369132.0 953429.00 3566620 ▇▂▁▁▁
Armenia 0 1.00 31582.24 33447.83 172 1956.25 19403.0 52236.50 110627 ▇▂▁▂▂
Aruba 0 1.00 3095.66 4186.91 0 123.25 2027.5 4000.25 17511 ▇▂▁▁▁
Asia 0 1.00 21067869.20 25432258.96 155461 3233106.00 11567834.5 26941331.50 106247438 ▇▂▁▁▁
Australia 0 1.00 817920.95 1278045.29 922 7073.50 129724.0 939552.75 4266926 ▇▁▁▁▁
Austria 0 1.00 425681.08 605647.54 0 19622.00 210524.0 632031.00 2743198 ▇▂▁▁▁
Azerbaijan 0 1.00 58389.12 68271.00 147 3641.00 25088.0 101772.50 213278 ▇▁▁▂▂
Bahamas 0 1.00 2665.86 3032.28 0 102.50 1470.5 4114.25 10469 ▇▃▂▁▁
Bahrain 0 1.00 48759.85 64415.72 0 1589.75 27693.0 72519.00 276754 ▇▂▁▁▁
Bangladesh 0 1.00 143232.35 177055.97 48 5766.00 61151.5 230333.75 719423 ▇▃▁▁▁
Barbados 0 1.00 7710.12 10694.22 24 433.25 1986.5 15240.50 33173 ▇▁▁▂▁
Belarus 0 1.00 69582.07 79560.55 0 0.00 35394.5 124904.25 279172 ▇▂▂▁▁
Belgium 0 1.00 338671.34 469317.15 7129 53101.25 165060.5 377046.50 2018252 ▇▂▁▁▁
Belize 1 1.00 4898.50 6777.15 0 379.00 1684.0 7737.00 27289 ▇▂▁▁▁
Benin 0 1.00 1962.51 3735.68 0 34.00 708.5 1742.00 16434 ▇▁▁▁▁
Bermuda 0 1.00 1320.19 1714.18 0 56.00 439.0 2221.75 6539 ▇▂▂▁▁
Bhutan 0 1.00 4388.77 12190.01 0 59.75 241.0 1306.25 55570 ▇▁▁▁▁
Bolivia 0 1.00 84722.88 87760.66 90 13332.50 62851.5 113029.75 366981 ▇▃▂▁▁
Bonaire.Sint.Eustatius.and.Saba 0 1.00 834.54 1289.84 0 35.00 244.0 1149.00 5458 ▇▂▁▁▁
Bosnia.and.Herzegovina 0 1.00 28238.04 32086.65 87 1633.25 13279.5 57448.25 104583 ▇▁▁▂▁
Botswana 0 1.00 23127.91 32245.40 0 355.75 5664.0 32227.75 110126 ▇▂▁▁▁
Brazil 0 1.00 2626392.19 2160564.91 0 791114.50 2385997.5 3659118.25 7836442 ▇▅▃▂▂
British.Virgin.Islands 0 1.00 517.44 914.85 0 10.25 64.0 544.50 3320 ▇▁▁▁▁
Brunei 0 1.00 22523.74 32462.27 1 57.75 7687.5 32149.50 126875 ▇▂▁▁▁
Bulgaria 0 1.00 92344.18 110519.20 346 11056.25 43737.5 147576.00 415241 ▇▂▂▁▁
Burkina.Faso 0 1.00 1546.37 2291.67 0 220.50 527.0 1479.75 9325 ▇▁▁▁▁
Burundi 1 1.00 3832.40 4898.73 0 331.50 2043.0 5195.00 17807 ▇▂▁▁▁
Cambodia 0 1.00 9728.35 18779.26 6 122.00 594.5 9843.00 67359 ▇▁▁▁▁
Cameroon 0 1.00 8758.97 11119.90 0 587.00 4518.5 13414.25 45362 ▇▂▁▁▁
Canada 0 1.00 331827.55 357778.46 2679 72941.75 249123.0 461413.00 1568306 ▇▅▁▁▁
Cape.Verde 0 1.00 4513.15 5122.42 4 474.50 2763.0 6138.50 17589 ▇▅▁▁▂
Cayman.Islands 0 1.00 2203.02 3861.04 0 31.00 156.0 2300.75 15301 ▇▁▁▁▁
Central.African.Republic 0 1.00 1078.78 1580.34 0 73.00 382.0 1161.50 5355 ▇▁▁▁▁
Chad 0 1.00 538.86 708.81 0 38.75 164.0 828.00 2659 ▇▂▁▁▁
Chile 0 1.00 372512.03 382761.61 1909 112982.25 270677.0 530511.75 1703209 ▇▃▁▁▁
China 0 1.00 6949880.20 21920571.09 2455 6510.00 18421.5 1300878.00 89898665 ▇▁▁▁▁
Colombia 0 1.00 446962.32 537554.33 723 18305.25 175856.0 849341.25 2097129 ▇▂▂▁▁
Comoros 0 1.00 637.63 1036.19 0 86.75 215.5 489.00 3683 ▇▁▁▁▁
Congo 0 1.00 1764.84 1939.04 0 118.25 788.0 3072.75 7989 ▇▃▂▁▁
Cook.Islands 0 1.00 502.78 1273.88 0 0.00 3.5 275.25 5687 ▇▁▁▁▁
Costa.Rica 0 1.00 86145.01 72886.96 0 16835.25 69152.5 142201.00 270936 ▇▆▃▂▁
Cote.d.Ivoire 0 1.00 6186.00 6638.26 3 367.75 3783.5 11000.50 22895 ▇▂▂▁▁
Croatia 0 1.00 90549.88 122090.88 657 5611.75 43874.5 109408.00 515535 ▇▂▁▁▁
Cuba 0 1.00 78052.91 160596.06 0 1271.25 4595.0 86125.75 714051 ▇▁▁▁▁
Curacao 0 1.00 3211.79 5245.19 0 62.50 921.5 3951.00 22160 ▇▂▁▁▁
Cyprus 0 1.00 46813.73 63284.69 0 3783.25 27764.0 45197.25 288485 ▇▁▁▁▁
Czechia 0 1.00 329686.62 447643.92 2232 25678.00 110154.5 518837.75 1792603 ▇▂▁▁▁
Democratic.Republic.of.Congo 0 1.00 6952.88 7545.97 50 1594.75 3911.0 8947.75 28173 ▇▂▁▁▁
Denmark 0 1.00 239768.56 548944.25 2082 11386.75 68672.0 131963.75 2449023 ▇▁▁▁▁
Djibouti 0 1.00 1098.30 1588.35 0 0.00 307.0 1788.50 5523 ▇▂▁▁▁
Dominica 0 1.00 1122.57 1743.40 0 16.75 70.0 1667.00 5791 ▇▁▁▁▁
Dominican.Republic 0 1.00 46282.16 45016.70 4 7422.00 42151.0 71648.50 181755 ▇▆▃▁▁
Ecuador 1 1.00 74715.40 73520.85 0 25621.00 59712.0 96810.50 321170 ▇▅▁▁▁
Egypt 0 1.00 36119.34 39685.90 0 327.25 20447.0 69884.00 134109 ▇▂▃▂▁
El.Salvador 0 1.00 14128.35 12238.12 0 31.75 15968.5 22461.75 41249 ▇▃▆▂▂
Equatorial.Guinea 1 1.00 1200.50 1378.20 0 41.50 553.0 2191.00 4699 ▇▂▂▁▁
Eritrea 0 1.00 713.22 946.49 0 0.75 226.5 1389.50 3004 ▇▁▁▁▁
Estonia 0 1.00 42424.06 72471.78 429 4505.75 12712.0 49370.00 317271 ▇▁▁▁▁
Eswatini 0 1.00 5262.05 7566.13 9 413.00 2023.5 5505.25 27189 ▇▁▁▁▁
Ethiopia 0 1.00 35077.25 38409.83 16 1555.50 18251.0 66110.00 125196 ▇▂▂▂▁
Europe 0 1.00 17570658.26 22085259.47 379351 2120679.25 11232096.0 20746657.50 96692907 ▇▂▁▁▁
European.Union 0 1.00 12945646.67 17062815.25 328804 1230446.00 7365130.0 14426807.75 74096486 ▇▁▁▁▁
Faeroe.Islands 0 1.00 2425.50 7105.25 0 0.00 88.5 285.25 31182 ▇▁▁▁▁
Falkland.Islands 0 1.00 134.61 404.34 0 0.00 9.0 31.25 1707 ▇▁▁▁▁
Fiji 1 1.00 4858.06 11107.86 0 18.00 147.0 3104.00 48842 ▇▁▁▁▁
Finland 0 1.00 104919.46 162741.84 1378 12633.25 31940.0 149696.00 693212 ▇▂▁▁▁
France 0 1.00 2729823.73 3829043.71 0 222076.00 1389257.5 3235456.50 16366184 ▇▂▁▁▁
French.Guiana 0 1.00 6862.74 7923.58 0 243.00 4456.0 10255.00 32136 ▇▃▁▁▁
French.Polynesia 0 1.00 5526.90 8301.62 5 414.50 1256.0 6188.25 26421 ▇▁▁▁▁
Gabon 0 1.00 3432.55 4240.22 0 59.00 990.5 6280.25 13291 ▇▁▁▁▂
Gambia 0 1.00 883.82 1164.17 0 25.00 271.5 1607.25 3885 ▇▁▂▁▁
Georgia 0 1.00 129869.74 188616.95 0 10115.00 50517.5 185295.75 790761 ▇▂▁▁▁
Germany 0 1.00 2690449.04 3890079.82 0 153723.25 1104770.0 4145473.00 16309538 ▇▂▁▁▁
Ghana 0 1.00 12026.75 12620.24 0 537.00 7043.5 24511.50 39235 ▇▂▁▂▂
Gibraltar 0 1.00 1438.44 2195.70 0 120.75 274.5 2029.50 8837 ▇▂▁▁▁
Greece 0 1.00 386695.54 465753.13 1332 89520.25 171460.0 527182.25 2000323 ▇▂▁▁▁
Greenland 0 1.00 837.96 2508.88 0 0.00 3.0 24.50 10625 ▇▁▁▁▁
Grenada 0 1.00 1378.51 2323.25 0 10.00 32.0 1763.50 8068 ▇▁▁▁▁
Guadeloupe 0 1.00 14226.19 20449.76 0 891.25 5410.0 24451.50 86058 ▇▁▂▁▁
Guam 0 1.00 3652.86 5536.37 55 454.75 1324.5 4711.00 24650 ▇▂▁▁▁
Guatemala 1 1.00 87962.51 77290.50 4 21169.00 72709.0 132755.50 277620 ▇▇▂▂▂
Guernsey 0 1.00 2472.70 3927.43 0 30.75 511.0 2881.50 15611 ▇▁▁▁▁
Guinea 0 1.00 2699.97 2614.34 0 283.00 1246.0 5345.75 8101 ▇▁▂▃▁
Guinea.Bissau 0 1.00 672.98 635.41 0 166.75 450.0 1108.00 2278 ▇▃▂▂▁
Guyana 0 1.00 5156.00 6493.56 5 378.50 3180.0 7216.25 26227 ▇▂▁▁▁
Haiti 0 1.00 2414.65 2311.66 8 214.75 1724.5 4215.75 7740 ▇▃▂▂▂
High.income 0 1.00 29897917.27 32929590.22 533110 5679407.25 20593794.0 35699280.75 145916069 ▇▃▁▁▁
Honduras 0 1.00 33091.87 31543.01 1 4699.75 24202.0 57899.50 111959 ▇▃▃▂▁
Hungary 0 1.00 155349.88 196137.96 408 8696.50 72208.0 259095.75 806640 ▇▂▁▁▁
Iceland 0 1.00 14667.54 33063.72 78 553.00 1846.5 6809.75 150431 ▇▁▁▁▁
India 0 1.00 3150517.12 4486439.34 979 136608.50 1211172.0 4447618.50 18634053 ▇▂▁▁▁
Indonesia 0 1.00 477216.63 606810.89 128 54740.25 270448.5 629388.75 2312979 ▇▂▁▁▁
Iran 0 1.00 533508.76 638893.94 2251 37583.00 238347.5 842056.00 2453717 ▇▂▂▁▁
Iraq 0 1.00 172586.18 203827.33 0 1700.50 111256.5 263517.25 725533 ▇▂▁▁▁
Ireland 0 1.00 120888.31 194570.30 2121 10649.00 39760.0 138016.75 788278 ▇▁▁▁▁
Isle.of.Man 0 1.00 2660.55 4103.75 0 0.00 214.0 5000.00 14977 ▇▂▁▁▁
Israel 0 1.00 338901.64 565971.22 444 23058.25 114634.0 425846.00 2605335 ▇▁▁▁▁
Italy 0 1.00 1852651.00 2235684.23 33775 286260.00 751096.5 2637907.25 9168375 ▇▁▂▁▁
Jamaica 0 1.00 10962.88 11966.53 30 1144.50 7214.5 16659.50 37299 ▇▃▁▁▂
Japan 0 1.00 2366236.30 3542413.84 0 57327.25 335320.5 3847536.00 12163347 ▇▁▁▁▁
Jersey 0 1.00 4647.28 6886.76 0 70.25 1925.5 6044.50 29553 ▇▂▁▁▁
Jordan 0 1.00 122289.29 180673.24 0 0.00 28441.0 219542.75 715384 ▇▂▁▁▁
Kazakhstan 0 1.00 105214.42 131144.42 0 6107.75 60399.0 146297.50 492173 ▇▂▁▁▁
Kenya 0 1.00 24086.42 25493.30 37 910.75 12685.5 48570.25 71131 ▇▁▂▂▃
Kiribati 0 1.00 355.95 808.90 0 0.00 0.0 174.25 3076 ▇▁▁▁▁
Kosovo 0 1.00 19199.37 21138.27 32 818.50 9553.5 38459.50 66206 ▇▁▂▂▁
Kuwait 0 1.00 46658.60 56080.51 192 2483.25 23055.5 64114.50 214614 ▇▃▁▁▁
Kyrgyzstan 0 1.00 6225.36 14146.23 0 0.00 163.0 4852.75 62702 ▇▁▁▁▁
Laos 0 1.00 15323.00 28434.65 1 19.75 693.5 7845.75 97924 ▇▁▁▁▁
Latvia 0 1.00 68421.00 118696.64 329 1379.75 26967.0 71421.50 531777 ▇▁▁▁▁
Lebanon 0 1.00 86791.48 108152.61 0 5268.75 44955.0 112788.50 410474 ▇▂▁▁▁
Lesotho 0 1.00 2526.84 3411.88 0 3.50 1061.5 3200.00 10966 ▇▁▁▁▁
Liberia 1 1.00 569.13 851.41 0 67.00 257.0 538.00 3550 ▇▁▁▁▁
Libya 0 1.00 35508.83 43728.88 0 93.75 4833.0 63562.75 151128 ▇▂▂▁▁
Liechtenstein 0 1.00 1507.69 2396.85 5 78.00 481.5 1855.50 10438 ▇▁▁▁▁
Lithuania 0 1.00 94609.88 136817.39 262 14399.75 41861.5 96912.25 602396 ▇▂▁▁▁
Low.income 0 1.00 162659.84 169514.12 677 24250.50 80275.5 289126.00 555417 ▇▂▂▁▂
Lower.middle.income 0 1.00 6826429.84 7369899.30 44130 627243.00 3891277.0 9623936.25 24637876 ▇▃▂▁▂
Luxembourg 0 1.00 27166.90 33141.49 814 4284.25 15394.0 32207.50 143507 ▇▂▁▁▁
Madagascar 0 1.00 4789.77 6401.85 42 418.50 1506.5 6851.75 21535 ▇▁▁▁▁
Malawi 1 1.00 6273.93 9090.70 0 286.00 1427.0 6739.50 27305 ▇▁▁▁▂
Malaysia 0 1.00 362339.82 474092.76 1565 31184.00 192840.0 438095.50 1622726 ▇▁▁▁▁
Maldives 1 1.00 13134.09 21263.18 0 687.00 5082.0 11494.50 83146 ▇▁▁▁▁
Mali 0 1.00 2321.36 3285.14 4 268.25 1113.5 2907.50 14199 ▇▂▁▁▁
Malta 0 1.00 8461.56 9756.90 159 1425.25 3446.0 13033.00 34959 ▇▂▁▁▁
Marshall.Islands 0 1.00 1129.66 3797.94 0 0.00 4.0 51.25 15318 ▇▁▁▁▁
Martinique 0 1.00 16124.58 24629.95 0 652.50 4725.0 21324.25 98138 ▇▁▁▁▁
Mauritania 1 1.00 4494.53 5641.84 5 244.00 2332.0 6427.00 21221 ▇▂▁▁▁
Mauritius 0 1.00 22183.07 31967.95 12 337.00 8694.0 29392.00 126742 ▇▂▁▁▁
Mayotte 1 1.00 2984.78 4566.42 0 303.50 1319.0 2411.00 15921 ▇▁▁▁▁
Mexico 0 1.00 539169.90 475162.52 978 137836.00 399041.5 849651.50 1794056 ▇▃▂▂▁
Micronesia..country. 0 1.00 1858.29 4497.97 0 0.00 0.0 592.00 21994 ▇▁▁▁▁
Moldova 0 1.00 44044.27 40953.57 231 7624.25 24773.5 80113.75 143481 ▇▂▂▂▁
Monaco 0 1.00 1200.78 1608.29 15 169.25 573.5 1380.25 6727 ▇▁▁▁▁
Mongolia 0 1.00 70793.57 120572.02 12 328.75 10391.0 57122.25 472116 ▇▁▁▁▁
Montenegro 0 1.00 17589.60 18515.59 0 1686.50 8197.0 28940.75 58679 ▇▂▂▁▂
Montserrat 0 1.00 98.20 217.09 0 0.00 5.0 47.25 877 ▇▁▁▁▁
Morocco 0 1.00 89452.98 114339.53 390 3727.25 37773.0 138054.50 405604 ▇▂▁▁▁
Mozambique 0 1.00 16359.41 24211.17 0 646.25 3054.0 20177.75 78520 ▇▁▁▁▁
Myanmar 0 1.00 44899.20 72296.78 8 1165.25 7054.5 69424.75 315303 ▇▂▁▁▁
Namibia 0 1.00 12054.09 17275.73 11 711.25 5149.0 17140.00 72643 ▇▂▁▁▁
Nauru 0 1.00 377.51 1114.44 0 0.00 0.0 11.00 4607 ▇▁▁▁▁
Nepal 0 1.00 70241.27 99661.98 3 1223.50 18661.5 133311.50 397251 ▇▂▁▁▁
Netherlands 0 1.00 603800.74 1087091.09 2288 33106.75 276353.0 573817.00 4837498 ▇▁▁▁▁
New.Caledonia 0 1.00 5604.46 11231.46 0 8.00 65.5 5754.50 47713 ▇▁▁▁▁
New.Zealand 0 1.00 169824.98 271111.56 83 376.75 33800.5 228822.00 1115883 ▇▁▁▁▁
Nicaragua 0 1.00 1126.03 1348.27 2 313.75 543.5 1405.00 5553 ▇▁▁▁▁
Niger 0 1.00 666.04 846.55 0 81.50 322.0 918.25 3448 ▇▂▁▁▁
Nigeria 0 1.00 18701.92 22649.02 0 480.75 7498.0 34634.50 91600 ▇▂▂▁▁
Niue 0 1.00 64.65 150.26 0 0.00 0.0 64.00 662 ▇▁▁▁▁
North.America 0 1.00 8713789.13 8411205.20 72487 2828830.50 5970186.5 12487428.75 36155965 ▇▃▁▁▁
North.Korea 0 1.00 0.00 0.00 0 0.00 0.0 0.00 0 ▁▁▇▁▁
North.Macedonia 0 1.00 24505.70 25247.15 114 2080.50 12833.5 44136.75 84830 ▇▂▂▂▁
Northern.Mariana.Islands 0 1.00 1003.20 2094.33 0 40.00 180.5 554.00 9339 ▇▁▁▁▁
Norway 0 1.00 104834.87 243278.92 1773 6654.75 16123.5 52021.25 1066749 ▇▁▁▁▁
Oceania 0 1.00 1022445.10 1561620.74 4396 22234.50 210478.5 1226942.50 5366161 ▇▁▁▁▁
Oman 0 1.00 27960.96 34199.09 0 399.00 8355.0 53702.75 123967 ▇▂▁▂▁
Pakistan 0 1.00 110641.72 112774.94 0 3960.25 61856.5 219937.75 351714 ▇▂▂▃▁
Palau 1 1.00 440.10 986.66 0 0.00 20.0 314.00 4277 ▇▁▁▁▁
Palestine 0 1.00 49225.41 57297.36 0 159.00 27263.5 94475.00 191718 ▇▂▂▂▁
Panama 0 1.00 72942.12 73755.64 546 9819.25 48554.5 93681.50 280914 ▇▃▁▁▁
Papua.New.Guinea 0 1.00 3280.48 4909.21 0 38.75 559.0 5985.75 17672 ▇▁▁▁▁
Paraguay 0 1.00 51532.50 64522.57 35 1665.50 16843.0 72048.25 225799 ▇▂▁▁▁
Peru 0 1.00 317127.79 315442.92 635 61807.75 255073.5 490273.75 1293329 ▇▅▃▁▁
Philippines 1 1.00 294575.29 334074.12 1075 38026.50 159494.0 475310.50 1249157 ▇▂▁▁▁
Pitcairn 0 1.00 0.28 1.02 0 0.00 0.0 0.00 4 ▇▁▁▁▁
Poland 0 1.00 461099.47 609061.17 1638 42166.25 128292.0 839477.50 2347354 ▇▁▂▁▁
Portugal 0 1.00 394516.24 625361.08 5449 30097.00 118085.5 406484.25 2481064 ▇▁▁▁▁
Puerto.Rico 0 1.00 87689.70 101057.95 0 19465.00 43170.5 125703.00 370123 ▇▂▁▁▁
Qatar 0 1.00 36012.53 31497.55 0 14346.00 23011.0 54619.75 115104 ▇▃▂▁▂
Reunion 0 1.00 34621.35 64824.57 0 427.50 9879.5 25189.75 274485 ▇▁▁▁▁
Romania 0 1.00 245390.98 270111.05 1452 47451.00 99597.0 355587.00 1061595 ▇▃▁▁▁
Russia 0 1.00 1641526.15 1735122.14 1534 593754.25 946939.5 2192553.25 7565796 ▇▃▁▁▁
Rwanda 0 1.00 9324.19 15580.61 0 284.75 1933.5 12185.00 67457 ▇▁▁▁▁
Saint.Barthelemy 0 1.00 385.46 533.35 0 21.00 125.5 603.00 2343 ▇▃▁▁▁
Saint.Helena 0 1.00 151.62 518.60 0 0.00 0.0 0.00 2160 ▇▁▁▁▁
Saint.Kitts.and.Nevis 0 1.00 462.49 802.48 0 7.00 21.0 593.25 2801 ▇▁▁▁▁
Saint.Lucia 0 1.00 2114.58 2694.37 3 72.50 794.5 3721.00 9806 ▇▂▁▁▁
Saint.Martin..French.part. 0 1.00 862.64 1385.84 0 43.25 493.5 951.25 5951 ▇▁▁▁▁
Saint.Pierre.and.Miquelon 0 1.00 239.82 529.26 0 1.00 9.0 179.75 2424 ▇▁▁▁▁
Saint.Vincent.and.the.Grenadines 0 1.00 677.17 968.46 0 37.75 127.0 891.25 3343 ▇▁▁▁▁
Samoa 1 1.00 1188.37 3311.75 0 0.00 3.0 215.50 15012 ▇▁▁▁▁
San.Marino 0 1.00 1758.05 1982.54 33 407.00 875.5 2352.25 8563 ▇▅▁▁▁
Sao.Tome.and.Principe 0 1.00 467.96 583.29 0 92.00 195.0 699.50 2210 ▇▂▂▁▁
Saudi.Arabia 0 1.00 58900.32 69290.58 0 9338.50 29857.0 83864.50 261803 ▇▂▁▁▁
Senegal 0 1.00 6232.16 8198.71 10 119.00 2137.0 10054.25 31809 ▇▃▁▁▁
Serbia 0 1.00 180556.98 188927.37 659 26902.00 82694.0 303223.00 690236 ▇▂▂▁▁
Seychelles 0 1.00 3579.82 4612.01 0 90.50 1917.0 4788.25 16417 ▇▃▁▁▁
Sierra.Leone 0 1.00 543.97 682.04 0 8.75 89.5 1132.25 2270 ▇▁▂▂▁
Singapore 0 1.00 195614.12 228362.53 802 10105.25 113497.5 312055.00 890319 ▇▂▁▁▁
Sint.Maarten..Dutch.part. 1 1.00 777.13 1194.49 0 56.50 445.0 863.50 5005 ▇▁▁▁▁
Slovakia 0 1.00 131048.98 228805.53 314 3990.75 23564.0 157350.00 905932 ▇▁▁▁▁
Slovenia 0 1.00 94579.82 123453.20 665 5803.50 64233.5 130410.00 520850 ▇▃▁▁▁
Solomon.Islands 0 1.00 1816.78 3848.05 0 0.00 2.0 67.00 15258 ▇▁▁▁▁
Somalia 0 1.00 1913.38 2425.65 0 48.00 827.5 3046.25 9632 ▇▂▁▁▁
South.Africa 0 1.00 285082.02 309479.27 0 23526.00 191946.0 537558.00 1162743 ▇▃▂▂▁
South.America 0 1.00 4808703.32 4283335.30 10366 1106205.25 3859811.5 6539420.50 16614273 ▇▅▂▂▁
South.Korea 0 1.00 2419889.36 3919785.28 0 46467.50 343129.0 3329290.25 16750350 ▇▂▁▁▁
South.Sudan 0 1.00 1314.26 1746.87 0 221.75 613.0 1476.00 6867 ▇▂▁▁▁
Spain 0 1.00 978301.50 1365343.04 0 134462.00 540911.0 1244014.50 6084288 ▇▂▁▁▁
Sri.Lanka 0 1.00 47085.35 74948.70 35 482.00 4900.5 64006.50 280853 ▇▂▁▁▁
Sudan 0 1.00 4479.50 5371.82 0 242.25 2314.5 7034.75 19895 ▇▂▂▁▁
Suriname 0 1.00 5775.40 8500.32 0 244.75 1653.5 4929.75 27780 ▇▁▁▁▁
Sweden 1 1.00 192477.27 297739.26 4719 30844.50 67716.0 216242.50 1257244 ▇▂▁▁▁
Switzerland 0 1.00 310405.66 497636.54 4150 22805.25 143043.0 340699.50 2249273 ▇▁▁▁▁
Syria 0 1.00 4019.61 5185.22 0 34.25 1332.0 7191.00 21064 ▇▃▂▁▁
Tajikistan 0 1.00 1245.02 1984.48 0 0.00 0.0 2435.50 7669 ▇▁▂▁▁
Tanzania 0 1.00 3022.45 6241.32 0 0.00 505.5 3037.75 25506 ▇▁▁▁▁
Thailand 1 1.00 334908.77 528615.64 361 4437.50 25261.0 570953.00 1892316 ▇▁▁▁▁
Timor 0 1.00 1642.19 3143.13 0 17.75 113.5 1258.75 10775 ▇▁▁▁▁
Togo 0 1.00 2766.80 3583.83 2 122.75 1087.5 4069.50 11721 ▇▁▁▁▁
Tokelau 0 1.00 5.60 18.25 0 0.00 0.0 0.00 75 ▇▁▁▁▁
Tonga 0 1.00 1182.87 2680.02 0 0.00 4.0 428.50 11414 ▇▁▁▁▁
Trinidad.and.Tobago 0 1.00 13404.67 16592.71 0 693.00 4687.5 22759.25 62041 ▇▂▂▁▁
Tunisia 0 1.00 80734.88 99707.61 0 1659.50 32529.0 128158.25 332881 ▇▃▂▁▂
Turkey 0 1.00 1190322.62 1404706.63 0 13324.75 749347.5 1777662.00 5658613 ▇▃▂▁▁
Turkmenistan 0 1.00 0.00 0.00 0 0.00 0.0 0.00 0 ▁▁▇▁▁
Turks.and.Caicos.Islands 0 1.00 468.88 690.64 2 62.00 184.5 507.25 2812 ▇▁▁▁▁
Tuvalu 0 1.00 206.01 677.44 0 0.00 0.0 3.00 2759 ▇▁▁▁▁
Uganda 0 1.00 12032.16 17236.14 5 847.00 2792.0 20846.00 75916 ▇▁▁▁▁
Ukraine 0 1.00 386438.58 440064.02 0 48182.50 165983.5 712072.50 1505891 ▇▁▂▁▁
United.Arab.Emirates 0 1.00 74690.42 72763.31 0 14042.00 49013.0 114120.75 270296 ▇▂▂▁▁
United.Kingdom 0 1.00 1738538.55 2313911.63 23781 217643.00 583557.0 2594415.00 9180267 ▇▂▁▁▁
United.States 36 0.82 8764030.73 7145440.85 126309 4447538.25 6066868.0 10654971.00 31168780 ▇▅▂▁▁
United.States.Virgin.Islands 1 1.00 1780.17 2053.17 0 420.50 1052.0 2346.00 8026 ▇▂▁▁▁
Upper.middle.income 0 1.00 17130787.00 22021634.40 111517 2945168.50 13065469.0 18131974.75 94097546 ▇▁▁▁▁
Uruguay 0 1.00 72859.62 117060.18 274 2003.75 19390.5 77028.25 481900 ▇▁▁▁▁
Uzbekistan 0 1.00 12243.56 18674.85 0 9.00 2645.5 16108.25 66020 ▇▁▁▁▁
Vanuatu 0 1.00 841.33 2320.81 0 0.00 2.0 33.00 10685 ▇▁▁▁▁
Vatican 0 1.00 1.80 4.31 0 0.00 0.0 0.00 14 ▇▁▁▁▁
Venezuela 0 1.00 38688.35 40642.43 0 1703.25 18639.5 75813.00 120300 ▇▂▁▂▂
Vietnam 0 1.00 813678.82 1996175.67 13 808.00 22720.0 715734.75 8539956 ▇▁▁▁▁
Wallis.and.Futuna 0 1.00 248.50 689.50 0 0.00 1.0 123.00 2959 ▇▁▁▁▁
Yemen 0 1.00 836.15 1166.97 0 0.00 108.5 1542.75 4570 ▇▃▁▁▁
Zambia 0 1.00 24451.13 33177.25 10 3288.50 9209.5 29347.75 112787 ▇▁▁▁▁
Zimbabwe 1 1.00 18708.43 28873.85 7 1225.00 5092.0 20626.50 105068 ▇▁▁▁▁
  • Thông tin mô tả bộ dữ kiệu có các cột sau và ý nghĩa các cột là:

skim_variable: tên biến

n_missing: số dữ liệu trống

complete_rate: tỉ lệ biến có dữ liệu

mean: giá trị trung bình

sd: độ lệch chuẩn

p0: giá trị nhỏ nhất

p25: phân vị thứ nhất

p50: trung vị

p75: phân vị thứ ba

p100: giá trị lớn nhất

his: biểu đồ histogram

**Để dễ dàng phân tích dữ liệu ta chỉ lấy 1 phần nhỏ dữ liệu từ i để phân tích

t1 <- t[1:200,1:6]
t1
date World Afghanistan Africa Albania Algeria
689954 91 4566 186 454
4/5/2020 1156243 274 9249 304 1251
4/12/2020 1680600 521 14590 416 1825
4/19/2020 2187561 908 21829 539 2534
4/26/2020 2727739 1330 31322 678 3256
5/3/2020 3271481 2171 44003 782 4295
5/10/2020 3840476 3563 62086 850 5558
5/17/2020 4428081 6053 83378 916 6821
5/24/2020 5093319 9866 110316 981 8113
5/31/2020 5813080 14443 144577 1099 9267
6/7/2020 6649476 19550 187921 1212 10049
6/14/2020 7531919 24101 239084 1416 10791
6/21/2020 8502897 28290 302240 1805 11594
6/28/2020 9489694 30592 377612 2199 12829
7/5/2020 10466862 32581 468453 2566 15046
7/12/2020 11429623 34077 576090 2974 17461
7/19/2020 12479419 34768 696613 3490 20724
7/26/2020 13715284 35128 814997 4031 24230
8/2/2020 15014252 35380 920024 4598 27694
8/9/2020 16307278 34844 998063 5369 30398
8/16/2020 17611021 33988 1052912 6267 32575
8/23/2020 18823953 31841 1101632 7203 34247
8/30/2020 20002494 28277 1133223 8214 35669
9/6/2020 21258537 23861 1154824 8868 36804
9/13/2020 22371860 19090 1166802 9809 37957
9/20/2020 23565233 14817 1169109 10657 38813
9/27/2020 24637851 10895 1159199 11207 39283
10/4/2020 25612858 8681 1137206 11696 39027
10/11/2020 26649375 7031 1106588 12314 37440
10/18/2020 27818601 5790 1062967 13223 35491
10/25/2020 29335344 5479 1010403 14650 33081
11/1/2020 31119114 5389 960742 16064 31178
11/8/2020 33137466 5323 931753 17934 30431
11/15/2020 35348049 6020 935253 20550 32126
11/22/2020 37573586 6952 957564 24342 35641
11/29/2020 39772211 8072 981429 28126 40144
12/6/2020 42097822 9498 1022143 32107 43720
12/13/2020 44507254 10648 1080209 36896 45567
12/20/2020 47091700 11895 1154326 40983 46774
12/27/2020 49113798 12929 1254179 43307 48234
1/3/2021 51256409 13517 1365616 45678 49245
1/10/2021 54130903 14192 1529186 48413 49918
1/17/2021 56619058 14281 1678419 51569 50671
1/24/2021 58247906 14454 1794151 54154 51166
1/31/2021 58892939 14255 1856113 57794 51492
2/7/2021 58531777 13910 1887798 62448 50910
2/14/2021 57395003 13459 1889154 67625 49132
2/21/2021 55820020 12569 1872239 71208 44945
2/28/2021 54370683 11211 1851058 73770 39186
3/7/2021 53086107 9881 1828014 75056 32892
3/14/2021 51848511 8344 1795668 74821 27641
3/21/2021 50782354 7151 1762993 73159 24428
3/28/2021 50072432 5758 1711654 71212 21969
4/4/2021 50068186 4828 1639042 70462 19667
4/11/2021 50380619 4451 1555325 69072 18219
4/18/2021 50605836 4304 1421472 66929 17573
4/25/2021 51448506 4859 1291214 63635 17125
5/2/2021 52915423 5527 1175122 60430 16942
5/9/2021 54644067 6819 1099083 55227 16778
5/16/2021 56290627 8149 1049311 48857 16342
5/23/2021 57786494 10236 1029523 41318 16138
5/30/2021 58859734 15157 1026937 34376 16692
6/6/2021 59204277 23510 1042833 27143 17721
6/13/2021 59114601 34014 1090672 21136 18966
6/20/2021 58688500 45921 1181513 16361 20443
6/27/2021 57992058 58117 1304472 12484 22047
7/4/2021 56919876 68454 1476992 9310 24257
7/11/2021 56092177 76902 1680357 6738 27772
7/18/2021 55140245 83442 1883328 4852 33832
7/25/2021 53664514 86078 2045811 3521 41382
8/1/2021 52112573 88658 2237643 2766 50656
8/8/2021 50840441 90336 2466566 2506 58045
8/15/2021 49895809 90191 2660854 3563 62755
8/22/2021 49682853 89027 2871267 6193 65977
8/29/2021 50035025 87305 3026307 11021 68020
9/5/2021 50847407 82662 3127823 16832 69203
9/12/2021 51772190 74766 3173239 22921 69141
9/19/2021 52810070 64678 3179653 28887 68154
9/26/2021 53780802 52993 3113911 34206 66988
10/3/2021 54259746 40921 2978811 38272 65544
10/10/2021 54456710 30596 2781798 41642 63483
10/17/2021 54054141 22039 2543707 44528 59903
10/24/2021 53453526 15216 2298903 47976 53540
10/31/2021 52824272 12217 2090131 51512 45490
11/7/2021 51860529 8774 1855241 54958 35687
11/14/2021 50916618 6054 1595941 58422 27517
11/21/2021 50260061 4831 1377105 60383 22184
11/28/2021 49708334 4679 1168447 60600 18809
12/5/2021 49412874 4398 1044531 57871 16626
12/12/2021 49366995 4188 1049650 54098 14993
12/19/2021 50139020 3755 1194584 49931 14508
12/26/2021 52543572 3363 1370512 45897 15152
1/2/2022 59504526 3213 1593316 43534 16244
1/9/2022 72991191 3204 1840218 45908 18085
1/16/2022 90695604 3334 2074354 54609 20994
1/23/2022 111353611 3931 2294836 67074 29337
1/30/2022 131771608 5848 2504110 75118 43560
2/6/2022 148571960 9624 2673249 78832 51240
2/13/2022 161303560 13877 2786712 79557 54147
2/20/2022 170697236 15418 2878801 77891 56063
2/27/2022 177883723 16316 2977129 75791 55939
3/6/2022 184736617 17157 2984720 73298 55247
3/13/2022 192268694 18631 2956675 71507 54113
3/20/2022 200333171 19428 2817653 69746 52887
3/27/2022 206628625 19729 2576490 68094 51291
4/3/2022 209907479 19903 2310814 66538 49308
4/10/2022 206638835 19978 2028041 63884 46902
4/17/2022 195739158 20042 1742305 57690 43997
4/24/2022 179780700 19970 1494321 45908 40277
5/1/2022 160237999 19331 1280236 30820 31244
5/8/2022 140432612 17257 1093246 19525 16484
5/15/2022 124468609 13531 954098 12313 8218
5/22/2022 112338857 9522 855933 8223 4625
5/29/2022 102854198 8193 765140 6108 1937
6/5/2022 95063423 7438 667318 4960 1118
6/12/2022 87686467 6686 635156 4553 698
6/19/2022 79651610 5512 613251 4474 561
6/26/2022 71865388 5033 617280 5250 491
7/3/2022 66149176 5169 626351 7533 494
7/10/2022 63121957 5414 644323 11972 562
7/17/2022 62900375 5360 663248 18348 704
7/24/2022 64376284 6087 689379 27018 1033
7/31/2022 66877742 6932 691962 34593 1613
8/7/2022 69824370 8167 667551 40335 2361
8/14/2022 71957999 9908 628043 44820 3214
8/21/2022 73380139 11192 577831 48112 3915
8/28/2022 74363770 12534 539876 51041 4324
9/4/2022 75266641 13764 515897 52704 4553
9/11/2022 75276937 15029 493147 53422 4636
9/18/2022 75149447 16049 467803 53730 4681
9/25/2022 74597237 16709 427117 53736 4672
10/2/2022 73235840 17200 387872 52864 4652
10/9/2022 71172500 17556 345717 50446 4592
10/16/2022 68006239 17877 302756 45721 4490
10/23/2022 63925368 18579 258815 39137 4353
10/30/2022 59286122 18360 209118 30351 4064
11/6/2022 54416142 18038 175907 22622 3473
11/13/2022 49959781 17385 159215 16661 2740
11/20/2022 46889065 16181 150349 12033 1944
11/27/2022 44480353 15161 146555 8605 1330
12/4/2022 42951578 13956 141884 5462 927
12/11/2022 43276857 12658 135253 3691 720
12/18/2022 54984977 11339 132774 2842 636
12/25/2022 95825400 10240 133416 2357 588
1/1/2023 120339697 9296 132787 2032 574
1/8/2023 128088847 8508 133044 1832 572
1/15/2023 129757066 7754 136832 1767 580
1/22/2023 129096253 7001 135126 1717 592
1/29/2023 127758023 6391 136325 1626 592
2/5/2023 126609206 5858 135673 1525 558
2/12/2023 125521964 5238 131202 1421 562
2/19/2023 124178577 4655 123770 1392 544
2/26/2023 122569412 4239 113447 1364 487
3/5/2023 120620263 3773 106226 1369 408
3/12/2023 118278106 3346 98441 1374 401
3/19/2023 114542188 3204 93421 1309 402
3/26/2023 100397815 3094 87578 1261 400
4/2/2023 56961126 3306 79004 1213 398
4/9/2023 29929495 3933 73700 1198 396
4/16/2023 19644300 4832 68502 1163 388
4/23/2023 15494972 6117 60827 1026 384
4/30/2023 13664697 6783 54897 921 384
5/7/2023 12714645 8336 49846 871 396
5/14/2023 11895891 10047 46656 820 419
5/21/2023 11017394 11311 44386 769 413
5/28/2023 10226677 12131 42074 700 410
6/4/2023 9449576 12744 42478 607 402
6/11/2023 8707296 13157 37000 519 372
6/18/2023 7961179 13449 35021 439 344
6/25/2023 7292379 13407 33649 374 299
7/2/2023 6640996 13200 31120 291 284
7/9/2023 6029250 12978 30934 207 260
7/16/2023 5534724 12273 30134 98 239
7/23/2023 5094851 11418 28560 20 210
7/30/2023 4679221 10154 26621 0 181
8/6/2023 4702808 9539 24227 0 140
8/13/2023 4236651 7905 23127 0 104
8/20/2023 4023611 6131 20743 0 56
8/27/2023 4023431 4932 18739 0 49
9/3/2023 4022791 4159 17723 0 38
9/10/2023 3974803 3597 15291 0 36
9/17/2023 3821056 3266 14787 0 46
9/24/2023 3818202 3040 14246 0 48
10/1/2023 3769999 3091 12622 0 63
10/8/2023 3758253 3276 11597 0 67
10/15/2023 3723657 3257 10709 0 74
10/22/2023 3659975 3371 10410 0 82
10/29/2023 3549353 3509 10384 0 88
11/5/2023 3385682 3668 10672 106 108
11/12/2023 2843066 3844 11147 180 114
11/19/2023 2918292 4034 10334 241 109
11/26/2023 2803184 4105 12006 318 122
12/3/2023 2717689 4164 14336 360 139
12/10/2023 2697107 3991 17145 416 137
12/17/2023 2833668 4111 19754 465 133
12/24/2023 3058156 4283 19684 506 123
12/31/2023 3173126 4376 20615 506 115
1/7/2024 3190654 4395 20382 563 100
1/14/2024 3164345 4316 20139 662 91
1/21/2024 3088423 4200 19677 728 84

2.2 Giải thích cho dữ liệu đã chọn

Ta đổi tên để dễ thao tác - W :*World: thế giới - Afg :Afghanistan: - Afr : Africa: - Al: Albania: - Alg: Algeria:**

names(t1) <- c('W','Afg','Afr','Al','Alg')
str(t1)
## 'data.frame':    200 obs. of  6 variables:
##  $ W  : chr  "" "4/5/2020" "4/12/2020" "4/19/2020" ...
##  $ Afg: int  689954 1156243 1680600 2187561 2727739 3271481 3840476 4428081 5093319 5813080 ...
##  $ Afr: int  91 274 521 908 1330 2171 3563 6053 9866 14443 ...
##  $ Al : int  4566 9249 14590 21829 31322 44003 62086 83378 110316 144577 ...
##  $ Alg: int  186 304 416 539 678 782 850 916 981 1099 ...
##  $ NA : int  454 1251 1825 2534 3256 4295 5558 6821 8113 9267 ...

2.3 Mã hóa dữ liệu

  • Gọi packages Tidyverse để sử dụng các lệnh tiếp theo
library(tidyverse)
## Warning: package 'ggplot2' was built under R version 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
  • Gán kết quả mới cho gt , nếu giá trị lớn hơn 1000 thì được mã hóa là “cao” và ngược lại nếu nhỏ hơn 1000 là ” thấp”
LS0tDQp0aXRsZTogIk5oaeG7h20gduG7pSAzIg0KYXV0aG9yOiAiTMOqIFRo4buLIFRoYW5oIFBow7oiDQpvdXRwdXQ6DQogICBodG1sX2RvY3VtZW50OiANCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICBkZl9wcmludDoga2FibGUNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpgYGANCg0KIyBOaGnhu4dtIHbhu6UgMy4xOiANCg0KIyMgR2nhuqNpIHRow61jaCBi4buZIGThu68gbGnhu4d1OiANCg0KQuG7mSBk4buvIGxp4buHdSB0cm9uZyBmaWxlICoqcG9wdWxhdGlvbi1hbmQtZGVtb2dyYXBoeS5jc3YqKiBuw7NpIHbhu4EgKipEw6JuIHPhu5EgdsOgIE5ow6JuIGto4bqpdSBo4buNYyoqIGPhu6dhIDI1NCBxdeG7kWMgZ2lhIMSRxrDhu6NjIHBow6JuIHTDrWNoIHThu6sgbsSDbSAxOTUwIMSR4bq/biBuxINtIDIwMjEsIGJhbyBn4buTbSAxODI4OCBxdWFuIHPDoXQgdsOgIDI0IGJp4bq/biANCg0KIC0gQ291bnRyeSBuYW1lOiBUw6puIFF14buRYyBHaWENCg0KLSBZZWFyOiBOxINtICANCg0KLSBQb3B1bGF0aW9uOiBEw6JuIHPhu5ENCg0KLSBQb3B1bGF0aW9uIG9mIGNoaWxkcmVuIHVuZGVyIHRoZSBhZ2Ugb2YgMTogRMOibiBz4buRIHRy4bq7IGVtIGTGsOG7m2kgMSB0deG7lWkNCg0KLSBQb3B1bGF0aW9uIG9mIGNoaWxkcmVuIHVuZGVyIHRoZSBhZ2Ugb2YgNTogRMOibiBz4buRIHRy4bq7IGVtIGTGsOG7m2kgNSB0deG7lWkNCg0KLSBQb3B1bGF0aW9uIG9mIGNoaWxkcmVuIHVuZGVyIHRoZSBhZ2Ugb2YgMTU6IETDom4gc+G7kSB0cuG6uyBlbSBkxrDhu5tpIDE1IHR14buVaSANCg0KLSBQb3B1bGF0aW9uIHVuZGVyIHRoZSBhZ2Ugb2YgMjU6IETDom4gc+G7kSBkxrDhu5tpIDI1IHR14buVaQkNCg0KLSBQb3B1bGF0aW9uIGFnZWQgMTUgdG8gNjQgeWVhcnM6IETDom4gc+G7kSB04burIDE1IMSR4bq/biA2NCB0deG7lWkNCg0KLSBQb3B1bGF0aW9uIG9sZGVyIHRoYW4gMTUgeWVhcnM6IETDom4gc+G7kSBs4bubbiBoxqFuIDE1IHR14buVaSAJDQoNCi0gUG9wdWxhdGlvbiBvbGRlciB0aGFuIDE4IHllYXJzOiBEw6JuIHPhu5EgbOG7m24gaMahbiAxOCB0deG7lWkgDQoNCi0gUG9wdWxhdGlvbiBhdCBhZ2UgMTogRMOibiBz4buRIDEgdHXhu5VpIA0KDQotIFBvcHVsYXRpb24gYWdlZCAxIHRvIDQgeWVhcnM6IETDom4gc+G7kSB04burIDEgxJHhur9uIDQgdHXhu5VpIAkNCg0KLSBQb3B1bGF0aW9uIGFnZWQgNSB0byA5IHllYXJzOiBEw6JuIHPhu5EgdOG7qyA1IMSR4bq/biA5IHR14buVaQ0KDQotIFBvcHVsYXRpb24gYWdlZCAxMCB0byAxNCB5ZWFyczogRMOibiBz4buRIHThu6sgMTAgxJHhur9uIDE0IHR14buVaQ0KDQotIFBvcHVsYXRpb24gYWdlZCAxNSB0byAxOSB5ZWFyczogRMOibiBz4buRIHThu6sgMTUgxJHhur9uIDE5IHR14buVaSAJDQoNCi0gUG9wdWxhdGlvbiBhZ2VkIDIwIHRvIDI5IHllYXJzOiBEw6JuIHPhu5EgdOG7qyAyMCDEkeG6v24gMjkgdHXhu5VpDQoNCi0gUG9wdWxhdGlvbiBhZ2VkIDMwIHRvIDM5IHllYXJzOiBEw6JuIHPhu5EgdOG7qyAzMCDEkeG6v24gMzkgdHXhu5VpCQ0KDQotIFBvcHVsYXRpb24gYWdlZCA0MCB0byA0OSB5ZWFyczogRMOibiBz4buRIHThu6sgNDAgxJHhur9uIDQ5IHR14buVaQkNCg0KLSBQb3B1bGF0aW9uIGFnZWQgNTAgdG8gNTkgeWVhcnM6IETDom4gc+G7kSB04burIDUwIMSR4bq/biA1OSB0deG7lWkNCg0KLSBQb3B1bGF0aW9uIGFnZWQgNjAgdG8gNjkgeWVhcnM6IETDom4gc+G7kSB04burIDYwIMSR4bq/biA2OSB0deG7lWkNCg0KLSBQb3B1bGF0aW9uIGFnZWQgNzAgdG8gNzkgeWVhcnM6IETDom4gc+G7kSB04burIDcwIMSR4bq/biA3OSB0deG7lWkNCg0KLSBQb3B1bGF0aW9uIGFnZWQgODAgdG8gODkgeWVhcnM6IETDom4gc+G7kSB04burIDgwIMSR4bq/biA4OSB0deG7lWkJDQoNCi0gUG9wdWxhdGlvbiBhZ2VkIDkwIHRvIDk5IHllYXJzOiBEw6JuIHPhu5EgdOG7qyA5MCDEkeG6v24gOTkgdHXhu5VpDQoNCi0gUG9wdWxhdGlvbiBvbGRlciB0aGFuIDEwMCB5ZWFyczogRMOibiBz4buRIGzhu5tuIGjGoW4gMTAwIHR14buVaSANCg0KIyMgUGjDom4gdMOtY2ggZOG7ryBsaeG7h3U6IA0KDQotIFThuqFvIG3hu5l0IGLhuqNuIHNhbyBj4bunYSBmaWxlIGThu68gbGnhu4d1ICoqKnBvcHVsYXRpb24tYW5kLWRlbW9ncmFwaHkuY3N2KioqIHbDoCBnw6FuIG7DsyB2w6BvIG3hu5l0IGJp4bq/biBt4bubaSBjw7MgdMOqbiBwLiDEkGnhu4F1IG7DoHkgZ2nDunAgYuG6oW4gZ2nhu68gbmd1ecOqbiBk4buvIGxp4buHdSBn4buRYyB0cm9uZyBraGkgdGjhu7FjIGhp4buHbiBjw6FjIHRoYW8gdMOhYyB0csOqbiBi4bqjbiBzYW8uDQoNCmBgYHtyIGVjaG89VFJVRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoRFQpDQpsaWJyYXJ5KHJlYWRyKQ0KcCA8LSByZWFkX2NzdigiQzovVXNlcnMvRGVsbC9Eb3dubG9hZHMvcG9wdWxhdGlvbi1hbmQtZGVtb2dyYXBoeS5jc3YiKSANCmRhdGF0YWJsZShwKQ0KYGBgIA0KICAgLSBoZWFkZXIgPSBUIGzDoCBs4bqleSBk4buvIGxp4buHdSB04burIGjDoG5nIMSR4bqndSB0acOqbiBj4bunYSBmaWxlIGNzdiANCg0KDQotIFRo4buxYyBoaeG7h24gxJHhu5VpIHTDqm4gY8OhYyBiaeG6v24gY+G7p2EgZOG7ryBsaeG7h3UgxJHhu4MgZOG7hSBkw6BuZyBn4buNaSB0w6puIHRyb25nIGPDoWMgdGhhbyB0w6FjIHBow6JuIHTDrWNoIA0KYGBge3IgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KbmFtZXMocCkgPC0gYygnY24nLCd5JywncCcsJ3BjdTEnLCdwY3U1JywncGN1MTUnLCdwdTI1JywncDE1dG82NCcsJ3BvMTUnLCdwbzE4JywncDEnLCdwMXRvNCcsJ3A1dG85JywncDEwdG8xNCcsJ3AxNXRvMTknLCdwMjB0bzI5JywncDMwdG8zOScsJ3A0MHRvNDknLCdwNTB0bzU5JywncDYwdG82OScsJ3A3MHRvNzknLCdwODB0bzg5JywncDkwdDkwdG85OScsJ3BvMTAwJykNCm5hbWVzKHApDQpgYGANCiAgLSBU4burIMSRw7MgdMOqbiBk4buvIGxp4buHdSDEkcaw4bujYyByw7p0IGfhu41uIG5oxrAgc2F1Og0KICANCiAgICAtICoqKkNvdW50cnkgbmFtZSoqKiDEkcaw4bujYyDEkeG7lWkgdMOqbiB0aMOgbmggKioqY24qKio6IFTDqm4gUXXhu5FjIEdpYQ0KDQogICAgLSAqKipZZWFyKioqIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAqKip5KioqOiBOxINtIGzhuqV5IHPhu5EgbGnhu4d1IA0KDQogICAgLSAqKipQb3B1bGF0aW9uKioqIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAqKipwKioqOiBEw6JuIHPhu5ENCg0KICAgIC0gKioqUG9wdWxhdGlvbiBvZiBjaGlsZHJlbiB1bmRlciB0aGUgYWdlIG9mIDEqKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnBjdTEqKio6IETDom4gc+G7kSB0cuG6uyBlbSBkxrDhu5tpIDEgdHXhu5VpDQoNCiAgICAtICoqKlBvcHVsYXRpb24gb2YgY2hpbGRyZW4gdW5kZXIgdGhlIGFnZSBvZiA1KioqIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAqKipwY3U1KioqOiBEw6JuIHPhu5EgdHLhursgZW0gZMaw4bubaSA1IHR14buVaQ0KDQogICAgLSAqKipQb3B1bGF0aW9uIG9mIGNoaWxkcmVuIHVuZGVyIHRoZSBhZ2Ugb2YgMTUqKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnBjdTE1KioqOiBEw6JuIHPhu5EgdHLhursgZW0gZMaw4bubaSAxNSB0deG7lWkgDQoNCiAgICAtICoqKlBvcHVsYXRpb24gdW5kZXIgdGhlIGFnZSBvZiAyNSoqKiDEkcaw4bujYyDEkeG7lWkgdMOqbiB0aMOgbmggKioqcHUyNSoqKjogRMOibiBz4buRIGTGsOG7m2kgMjUgdHXhu5VpCQ0KDQogICAgLSAqKipQb3B1bGF0aW9uIGFnZWQgMTUgdG8gNjQgeWVhcnMqKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnAxNXRvNjQqKio6IETDom4gc+G7kSB04burIDE1IMSR4bq/biA2NCB0deG7lWkNCg0KICAgIC0gKioqUG9wdWxhdGlvbiBvbGRlciB0aGFuIDE1IHllYXJzKioqIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAqKipwbzE1KioqOiBEw6JuIHPhu5EgbOG7m24gaMahbiAxNSB0deG7lWkgCQ0KDQogICAgLSAqKipQb3B1bGF0aW9uIG9sZGVyIHRoYW4gMTggeWVhcnMqKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnBvMTgqKio6IETDom4gc+G7kSBs4bubbiBoxqFuIDE4IHR14buVaSANCg0KICAgIC0gKioqUG9wdWxhdGlvbiBhdCBhZ2UgMSoqKiDEkcaw4bujYyDEkeG7lWkgdMOqbiB0aMOgbmggKioqcDEqKio6IETDom4gc+G7kSAxIHR14buVaSANCg0KICAgIC0gKioqUG9wdWxhdGlvbiBhZ2VkIDEgdG8gNCB5ZWFycyoqKiDEkcaw4bujYyDEkeG7lWkgdMOqbiB0aMOgbmggKioqcDF0bzQqKio6IETDom4gc+G7kSB04burIDEgxJHhur9uIDQgdHXhu5VpIAkNCg0KICAgIC0gKioqUG9wdWxhdGlvbiBhZ2VkIDUgdG8gOSB5ZWFycyoqKiDEkcaw4bujYyDEkeG7lWkgdMOqbiB0aMOgbmggKioqcDV0bzkqKio6IETDom4gc+G7kSB04burIDUgxJHhur9uIDkgdHXhu5VpDQoNCiAgICAtICoqKlBvcHVsYXRpb24gYWdlZCAxMCB0byAxNCB5ZWFycyoqKiDEkcaw4bujYyDEkeG7lWkgdMOqbiB0aMOgbmggKioqcDEwdG8xNCoqKjogRMOibiBz4buRIHThu6sgMTAgxJHhur9uIDE0IHR14buVaQ0KDQogICAgLSAqKipQb3B1bGF0aW9uIGFnZWQgMTUgdG8gMTkgeWVhcnMqKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnAxNXRvMTkqKio6IETDom4gc+G7kSB04burIDE1IMSR4bq/biAxOSB0deG7lWkgCQ0KDQogICAgLSAqKipQb3B1bGF0aW9uIGFnZWQgMjAgdG8gMjkgeWVhcnMqKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnAyMHRvMjkqKio6IETDom4gc+G7kSB04burIDIwIMSR4bq/biAyOSB0deG7lWkNCg0KICAgIC0gKioqUG9wdWxhdGlvbiBhZ2VkIDMwIHRvIDM5IHllYXJzKioqIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAqKipwMzB0bzM5KioqOiBEw6JuIHPhu5EgdOG7qyAzMCDEkeG6v24gMzkgdHXhu5VpCQ0KDQogICAgLSAqKipQb3B1bGF0aW9uIGFnZWQgNDAgdG8gNDkgeWVhcnMqKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnA0MHRvNDkqKio6IETDom4gc+G7kSB04burIDQwIMSR4bq/biA0OSB0deG7lWkJDQoNCiAgICAtICoqKlBvcHVsYXRpb24gYWdlZCA1MCB0byA1OSB5ZWFycyoqKiDEkcaw4bujYyDEkeG7lWkgdMOqbiB0aMOgbmggKioqcDUwdG81OSoqKjogRMOibiBz4buRIHThu6sgNTAgxJHhur9uIDU5IHR14buVaQ0KDQogICAgLSAqKipQb3B1bGF0aW9uIGFnZWQgNjAgdG8gNjkgeWVhcnMqKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnA2MHRvNjkqKio6IETDom4gc+G7kSB04burIDYwIMSR4bq/biA2OSB0deG7lWkNCg0KICAgIC0gKioqUG9wdWxhdGlvbiBhZ2VkIDcwIHRvIDc5IHllYXJzKioqIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAqKipwNzB0bzc5KioqOiBEw6JuIHPhu5EgdOG7qyA3MCDEkeG6v24gNzkgdHXhu5VpDQoNCiAgICAtICoqKlBvcHVsYXRpb24gYWdlZCA4MCB0byA4OSB5ZWFycyoqKiDEkcaw4bujYyDEkeG7lWkgdMOqbiB0aMOgbmggKioqcDgwdG84OSoqKjogRMOibiBz4buRIHThu6sgODAgxJHhur9uIDg5IHR14buVaQkNCg0KICAgIC0gKioqUG9wdWxhdGlvbiBhZ2VkIDkwIHRvIDk5IHllYXJzKioqIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAqKipwOTB0bzk5KioqOiBEw6JuIHPhu5EgdOG7qyA5MCDEkeG6v24gOTkgdHXhu5VpDQoNCiAgICAtICoqKlBvcHVsYXRpb24gb2xkZXIgdGhhbiAxMDAgeWVhcnMqKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnBvMTAwKioqOiBEw6JuIHPhu5EgbOG7m24gaMahbiAxMDAgdHXhu5VpIA0KDQoNCi0gVGjhu7FjIGhp4buHbiBs4buNYyA1IHF14buRYyBnaWEgY+G6p24gcGjDom4gdMOtY2gsIOG7nyDEkcOieSBwaMOibiB0w61jaCAiQ2hpbmEsIEphcGFuLCBTcGFpbiwgVGhhaWxhbmQsIFZpZXRuYW0iDQoNCi0gQ2jhu41uIDUgY+G7mXQgc+G7kSBsaeG7h3UgduG7gSBjw6FjIMSR4buZIHR14buVaSBj4bunYSBkw6JuIHPhu5EgdHJvbmcgY8OhYyBuxINtLCDhu58gxJHDonkgcGjDom4gdMOtY2ggdOG7lW5nIGTDom4gc+G7kSBj4bunYSA1IHF14buRYyBnaWEgKHApLCBkw6JuIHPhu5EgdHLhursgZW0gZMaw4bubaSAxNSB0deG7lWkgKHBjdTE1KSwgZMOibiBz4buRIGTGsOG7m2kgMjUgdHXhu5VpIChwdTI1KSwgZMOibiBz4buRIHThu6sgMzAgxJHhur9uIDM5IHR1w7RpIChwMzB0bzM5KSwgZMOibiBz4buRIHThu6sgNzAgxJHhur9uIDc5IHR14buVaSAocDcwdG83OSkNCg0KLSBYw7NhIGLhu48gY8OhYyBj4buZdCB0aOG7q2EgY2jhu4kgZ2nhu68gbOG6oWkgNyBj4buZdCBj4bqnbiBs4bqleSBk4buvIGxp4buHdSDEkeG7gyBwaMOibiB0w61jaCB2w6AgZ8OhbiBjaG8gZOG7ryBsaeG7h3UgbeG7m2kgbeG7mXQgb2JqZWN0IHAxDQpgYGB7ciBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGRwbHlyKQ0KDQpwMSA8LSBmaWx0ZXIocCwgY24gPT0gJ0NoaW5hJyB8IGNuID09ICdKYXBhbicgfCBjbiA9PSAnVmlldG5hbScgfCBjbiA9PSAnVGhhaWxhbmQnIHwgY24gPT0gJ1NwYWluJykgJT4lIHNlbGVjdCgtYygncGN1MScsJ3BjdTUnLCdwMTV0bzY0JywncG8xNScsJ3BvMTgnLCdwMScsJ3AxdG80JywncDV0bzknLCdwMTB0bzE0JywncDE1dG8xOScsJ3AyMHRvMjknLCdwNDB0bzQ5JywncDUwdG81OScsJ3A2MHRvNjknLCdwODB0bzg5JywncDkwdDkwdG85OScsJ3BvMTAwJykpDQoNCnRhYmxlIDwtIGtuaXRyOjprYWJsZShwLCBmb3JtYXQgPSAibWFya2Rvd24iKQ0KZGF0YXRhYmxlKHApDQpgYGANCkdp4bqjaSB0aMOtY2ggZOG7ryBsaeG7h3U6IA0KDQpDw7MgMzYwIHF1YW4gc8OhdCB2w6AgNyBiacOpbg0KDQotICoqKkNvdW50cnkgbmFtZSoqKiDEkcaw4bujYyDEkeG7lWkgdMOqbiB0aMOgbmggKioqY24qKio6IFTDqm4gcXXhu5FjIGdpYSANCg0KLSAqKipZZWFyKioqIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAqKip5KioqOiBOxINtIA0KDQotICoqKlBvcHVsYXRpb24qKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnAqKio6IETDom4gc+G7kQ0KDQotICoqKlBvcHVsYXRpb24gb2YgY2hpbGRyZW4gdW5kZXIgdGhlIGFnZSBvZiAxNSoqKiDEkcaw4bujYyDEkeG7j2kgdMOqbiB0aMOgbmggKioqcGN1MTUqKio6IETDom4gc+G7kSBj4bunYSB0cuG6uyBlbSBkxrDhu5tpIDE1IHR14buVaSANCg0KLSAqKipQb3B1bGF0aW9uIHVuZGVyIHRoZSBhZ2Ugb2YgMjUqKiogxJHGsOG7o2MgxJHhu5VpIHTDqm4gdGjDoG5oICoqKnB1MjUqKiogOiBEw6JuIHPhu5EgZMaw4bubaSAyNSB0deG7lWkJDQoNCi0gKioqUG9wdWxhdGlvbiBhZ2VkIDMwIHRvIDM5IHllYXJzKioqIMSRxrDhu6NjIMSR4buVaSB0w6puIHRow6BuaCAqKipwMzB0bzM5KioqOiBEw6JuIHPhu5EgdOG7qyAzMCDEkeG6v24gMzkgdHXhu5VpCQ0KDQotICoqKlBvcHVsYXRpb24gYWdlZCA3MCB0byA3OSB5ZWFycyoqKiDEkcaw4bujYyDEkeG7lWkgdMOqbiB0aMOgbmggKioqcDcwdG83OSoqKjogRMOibiBz4buRIHThu6sgNzAgxJHhur9uIDc5IHR14buVaQ0KDQojIyBNw6MgaMOzYSBk4buvIGxp4buHdSwgbOG6rXAgYuG6o25nIHThuqduIHPhu5E6IA0KDQpgYGB7ciBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQpwMSRjbi5Db2RlZCA8LSBpZmVsc2UocDEkY24gPT0gJ1ZpZXRuYW0nLCdWaWV0bmFtJywnb3RoZXIgY291bnRyeScpDQpgYGANCg0KLSBNdeG7kW4gdGjhu5FuZyBrw6ogDQpgYGB7ciBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQp0YWJsZShwMSRjbikNCmBgYA0KS+G6v3QgcXXhuqMgdHLhuqMgduG7gSBjaG8gdGjhuqV5IHThuqduIHN14bqldCB4deG6pXQgaGnhu4duIHTDqm4gY+G7p2EgY8OhYyBxdeG7kWMgZ2lhLCBjaOG6sW5nIGjhuqFuIG5oxrAgJ0NoaW5hJyB4deG6pXQgaGnhu4duIDcyIGzhuqduIHTGsMahbmcg4bupbmcgduG7m2kgNzIgbsSDbSBwaMOibiB0w61jaCB24buBIGTDom4gc+G7kSBj4bunYSBUcnVuZyBRdeG7kWMgDQoNCiMjIFBow6JuIHTDrWNoIGThu68gbGnhu4d1IHRoZW8gcXXhu5FjIGdpYSB2w6AgdGhlbyB0aOG7nWkgZ2lhbjogDQoNCiMjIyBDw6FjIMSR4bq3YyB0csawbmcgxJFvIGzGsOG7nW5nIHRoZW8gcXXhu5FjIGdpYTogDQoNCg0KYGBge3IgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KcDIgPC0gZmlsdGVyKHAxLCBjbiA9PSAnVmlldG5hbScpICU+JSBzZWxlY3QgKHAzMHRvMzkpDQpgYGANCg0KDQpgYGB7ciBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQpmaWx0ZXIocDEsIGNuID09ICdWaWV0bmFtJykgJT4lDQogIHNlbGVjdChjbiwgcDMwdG8zOSkgJT4lIA0KICBzdW1tYXJ5KHAxJHAzMHRvMzkpDQoNCnRhYmxlIDwtIGtuaXRyOjprYWJsZShwMSwgZm9ybWF0ID0gIm1hcmtkb3duIikNCmBgYA0KDQoNCmBgYHtyIGVjaG89VFJVRSwgd2FybmluZz1GQUxTRX0NCmZpbHRlcihwMSwgY24gPT0gJ1ZpZXRuYW0nKSAlPiUgDQogIHNlbGVjdChwMzB0bzM5KSAlPiUgDQogIHN1bShwMSRwMzB0bzM5KQ0KYGBgDQoNCg0KYGBge3IgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KbWVhbihwMiRwMzB0bzM5LCBybS5uYSA9IFQpDQpgYGANCg0KYGBge3IgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KbGVuZ3RoKHAyJHAzMHRvMzkpDQpgYGAgDQoNCg0KYGBge3IgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KdmFyKHAyJHAzMHRvMzkpDQpgYGANCg0KDQpgYGB7ciBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQpzZChwMiRwMzB0bzM5KSANCmBgYA0KDQpgYGB7ciBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQptZWRpYW4ocDIkcDMwdG8zOSkNCmBgYA0KDQoNCmBgYHtyIGVjaG89VFJVRSwgd2FybmluZz1GQUxTRX0NCnF1YW50aWxlKHAyJHAzMHRvMzksIHByb2JzID0gYyguMjUsLjUsLjc1KSkNCmBgYA0KDQojIyMgxJDhurdjIHRyxrBuZyDEkW8gbMaw4budbmcgdGhlbyBuaMOzbSBxdeG7kWMgZ2lhOg0KYGBge3IgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KVk5UTCA8LSBwMSAlPiUgDQogIGZpbHRlcihjbiA9PSAnVmlldG5hbScgfCBjbiA9PSAnVGhhaWxhbmQnKSAlPiUNCiAgZ3JvdXBfYnkoY24sIHAzMHRvMzkpICU+JQ0KICBzdW1tYXJpc2UobWVhbl9vZl9wID0gbWVhbihwKSwgLmdyb3VwcyA9ICdkcm9wJykNCg0KbWVhbihWTlRMJG1lYW5fb2ZfcCkNCmBgYA0KDQoNCiMjIyDEkOG6t2MgdHLGsG5nIMSRbyBsxrDhu51uZyB0aGVvIG7Eg206DQpgYGB7ciBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQpmaWx0ZXIocDEsIHkgPT0gJzIwMjAnKSAlPiUNCiAgc2VsZWN0KHksIHA3MHRvNzkpICU+JSANCiAgc3VtKHAxJHA3MHRvNzkpDQpgYGAgDQoNCg0KIyMjIMSQ4bq3YyB0csawbmcgxJFvIGzGsOG7nW5nIHRoZW8ga2hv4bqjbmcgdGjhu51pIGdpYW46IA0KYGBge3IgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KbmFtIDwtIHAxICU+JSANCiAgZmlsdGVyKHkgPT0gJzE5NzAnIHwgeSA9PSAnMTk5MCcpICU+JQ0KICBncm91cF9ieSh5LCBwY3UxNSkgJT4lDQogIHN1bW1hcmlzZShtZWFuX29mX3BjdTE1ID0gbWVhbihwY3UxNSksIC5ncm91cHMgPSAnZHJvcCcpDQoNCm1lYW4obmFtJG1lYW5fb2ZfcGN1MTUpDQpgYGANCiMgKipOSEnhu4ZNIFbhu6QgMy4yKioNCioqKg0KIyMgKipHaeG6o2kgdGjDrWNoIGLhu5kgZOG7ryBsaeG7h3UqKg0KDQpOaGnhu4dtIHbhu6UgMy4yIHRo4buxYyBoaeG7h24gdGhhbyB0w6FjIHRyw6puIGRhdGFzZXRzICoqYml3ZWVrbHlfY2FzZXMqKiwgbMOgIDEgZGF0YXNldCB0aOG7kW5nIGvDqiB0w6xuaCBow6xuaCBuaGnhu4VtIGNvdmlkIDE5IOG7nyBjw6FjIHF14buRYyBnaWENCiMjICoqLiBNw7QgdOG6oyBjxqEgYuG6o24qKg0KKioqDQpMw6AgMSBkYXRhZnJhbWUNCktow7RuZyBjw7MgZOG7ryBsaeG7h3UgdHLhu5FuZw0KRGF0YXNldHMgY8OzIDIxMiBxdWFuIHPDoXQgdsOgIDI0NyBiaeG6v24gbmjGsCBzYXU6DQoNCndvcmxkOiB0aOG6vyBnaeG7m2kNCkFmZ2hhbmlzdGFuOiBuZ8aw4budaSBBZmdoYW5pc3RhbiBDaMOidSBQaGkNCkFsYmFuaWE6IMSQw7RuZyBOYW0gQ2jDonUgw4J1DQpBbGdlcmlhOiBC4bqvYyBQaGkNCg0KYGBge3J9DQoNCmBgYA0KDQoNCioqxJDhu41jIGLhu5kgZOG7ryBsaeG7h3UqKg0KYGBge3J9DQoNCmxpYnJhcnkoY3N2KQ0KIHQgPC0gcmVhZC5jc3YoIkM6L1VzZXJzL0RlbGwvRGVza3RvcC9iaXdlZWtseV9jYXNlcy5jc3YiKQ0Kc3RyKHQpDQppcy5kYXRhLmZyYW1lKHQpDQogICAgICAgICAgICAgIA0KYGBgDQoNCg0KYGBge3J9DQpsaWJyYXJ5KHNraW1yKQ0Kc2tpbSh0KQ0KYGBgDQoNCi0gVGjDtG5nIHRpbiBtw7QgdOG6oyBi4buZIGThu68ga2nhu4d1IGPDsyBjw6FjIGPhu5l0IHNhdSB2w6Agw70gbmdoxKlhIGPDoWMgY+G7mXQgbMOgOg0KDQpza2ltX3ZhcmlhYmxlOiB0w6puIGJp4bq/bg0KDQpuX21pc3Npbmc6IHPhu5EgZOG7ryBsaeG7h3UgdHLhu5FuZw0KDQpjb21wbGV0ZV9yYXRlOiB04buJIGzhu4cgYmnhur9uIGPDsyBk4buvIGxp4buHdQ0KDQptZWFuOiBnacOhIHRy4buLIHRydW5nIGLDrG5oIA0KDQpzZDogxJHhu5kgbOG7h2NoIGNodeG6qW4gDQoNCnAwOiBnacOhIHRy4buLIG5o4buPIG5o4bqldCANCg0KcDI1OiBwaMOibiB24buLIHRo4bupIG5o4bqldA0KDQpwNTA6IHRydW5nIHbhu4sgDQoNCnA3NTogcGjDom4gduG7iyB0aOG7qSBiYQ0KDQpwMTAwOiBnacOhIHRy4buLIGzhu5tuIG5o4bqldCANCg0KaGlzOiBiaeG7g3UgxJHhu5MgaGlzdG9ncmFtDQoNCg0KKirEkOG7gyBk4buFIGTDoG5nIHBow6JuIHTDrWNoIGThu68gbGnhu4d1IHRhIGNo4buJIGzhuqV5IDEgcGjhuqduIG5o4buPIGThu68gbGnhu4d1IHThu6sgaSDEkeG7gyBwaMOibiB0w61jaCANCmBgYHtyfQ0KdDEgPC0gdFsxOjIwMCwxOjZdDQp0MQ0KYGBgDQojIyAqKkdp4bqjaSB0aMOtY2ggY2hvIGThu68gbGnhu4d1IMSRw6MgY2jhu41uICoqDQoNClRhIMSR4buVaSB0w6puIMSR4buDIGThu4UgdGhhbyB0w6FjDQotIFcgOipXb3JsZDoqKiB0aOG6vyBnaeG7m2kNCi0gQWZnIDoqKkFmZ2hhbmlzdGFuOioqIA0KLSBBZnIgOiAgKipBZnJpY2E6KiogDQotIEFsOiAqKkFsYmFuaWE6KiogDQotIEFsZzogKipBbGdlcmlhOioqIA0KDQpgYGB7cn0NCm5hbWVzKHQxKSA8LSBjKCdXJywnQWZnJywnQWZyJywnQWwnLCdBbGcnKQ0Kc3RyKHQxKQ0KYGBgDQojIyAqKk3DoyBow7NhIGThu68gbGnhu4d1KioNCi0gR+G7jWkgcGFja2FnZXMgKipUaWR5dmVyc2UqKiDEkeG7gyBz4butIGThu6VuZyBjw6FjIGzhu4duaCB0aeG6v3AgdGhlbyANCmBgYHtyfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpgYGANCi0gR8OhbiBr4bq/dCBxdeG6oyBt4bubaSBjaG8gKipndCoqICwgbuG6v3UgZ2nDoSB0cuG7iyBs4bubbiBoxqFuIDEwMDAgdGjDrCDEkcaw4bujYyBtw6MgaMOzYSBsw6AgImNhbyIgdsOgIG5nxrDhu6NjIGzhuqFpIG7hur91IG5o4buPIGjGoW4gMTAwMCBsw6AgIiB0aOG6pXAiDQoNCg==