library(tidyverse)
library(openintro)

Problem 1

Part a)

The variables collected on each launch to create the summary table shown above were: 1.The year interval of launch. 2.Outcome of launch(whether failure or success). 3.The type of launch agency(whether private, state or startup).

Part b)

Firstly, year interval of launch is a numerical variable and it is discrete. Secondly, outcome of launch is categorical(failure or success).It is not ordinal since it is not able to be ordered.So the outcome of launch is nominal. Lastly,type of launching agency is categorical (private, state and startup). It is not ordinal because we do not know which type is better than which type.We can not compare them,therefore the type of launch agency is nominal.

Part c)

Outcome of launch will be the response variable.Type of launch agency and year of launch will be explanatory variables.

Problem 2

Part a)

It is Observational study since it is observing and recording of the data only and does not involve any experimentation.

Part b)

The explanatory variables: teenager’s dairy screen time between the ages of 12 to 15 .Sex and age, mothers’ education, ethnicity, psychological distress, and employment status of the teenagers referred above.

Part c)

The response variable is adolescent well-being.

Part d)

The results of the study can be generalized to the population.That is because the sample size is very large which covers three significant countries.

Part e)

The results of the study can be used to establish causal relationships.This is because it designed both child’screen time and other factors.Take a lot of things into consideration.

Problem 3

Part a)

This is a simple random sampling because sample of 200 households are selected randomly. pros:All households have same chance of being selected into the sample. cons:This method might not be effective in this setting since the households are divided into neighborhoods. #### Part b) This is a stratified sample.

pros:effective in this setting because all the types of neighborhoods are included in the sample. cons:it is more complicated than other ways. #### Part c) This is a cluster sample.

pros:Only part of neighborhoods are selected and all the units in those groups are included. cons:This might not be effective in this setting because all the types of neighborhoods are not included in the sample.Only part of neighborhoods are selected and all the units in those groups are included. #### Part d) This is a multistage sample.

pros:It is effective and reduce the collection time. cons:This might not be accurate in this setting because all the types of neighborhoods are not included in the sample.Only some neighborhoods are selected and sample of units in those groups are included.

Part e)

This is a convenience sample.

pros:It is easy and simple to collect. cons:This might not be effective in this setting because all the types of neighborhoods are not included in the sample.

Problem 4

Part a)

The population of interest is clearly all children between the ages of 5 and 15. The sample is the group of 160 children between the age of 5 and 15 who have been chosen for the study.

Part b)

This is an experimental study.If the sample is randomly selected and representative of the entire population,the results can be generalized to the population.Since the study is experimental ,not the observational.So the findings can not be used to establish causal relationship.

Problem 5

Part a)

Percentage of all videos on YouTube that are cat videos is the population parameter. #### Part b) We find that 2% of our sampled videos are cat videos through data. So, this is a sample statistic.

Part c)

1000 sampled videos are sample units which we observe to estimate some value .So a video in our sample is an observation. #### Part d) whether or not a video is a cat video is a variable. ### Problem 6

Part a)

\(C=2\pi*r\) \(A=\pi*r^2\) #### Part b)

(rad <- c(0.5,2))
## [1] 0.5 2.0
(C <- 2*pi*rad)
## [1]  3.141593 12.566371
(rad <- c(0.5,2))
## [1] 0.5 2.0
(A <- pi*rad^2)
## [1]  0.7853982 12.5663706

Part c)

The circumstance of a circle with radius 0.5 is \(3.14cm\),with the radius 2.0, the circumstance is \(12.57cm\). The area of a circle with radii 0.5 is \(0.79cm^2\).The area of a circle with radii 2.0 is \(12.57cm^2\).

Pro3blem 7

PDat <- read_csv("Patient_Data.csv")
## 
## ─ Column specification ────────────────────────────
## cols(
##   ID = col_character(),
##   Sex = col_character(),
##   MaritalStat = col_character(),
##   Age = col_double(),
##   Weight = col_double(),
##   TotChol = col_double(),
##   SystolicP = col_double()
## )
# Create a factor variable for Sex; the levels will be in alphabetical order
PDat$Sex <- factor(PDat$Sex)
# Create a factor variable with a specified order to the levels
# Marital status is not an ordinal variable, but you can still set the
# order of the levels to control the order they are printed in output
PDat$MaritalStat <- factor(PDat$MaritalStat, level=c("S","M","D","W"))
PDat %>% count(Sex)
## # A tibble: 2 x 2
##   Sex       n
##   <fct> <int>
## 1 F        50
## 2 M        50
PDat.F <- PDat %>% filter(Sex == "F")
glimpse(PDat.F)
## Rows: 50
## Columns: 7
## $ ID          <chr> "001", "002", "003", "004", "005", "006", "007", "008", "0…
## $ Sex         <fct> F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F…
## $ MaritalStat <fct> D, S, S, S, S, W, D, M, D, W, S, M, W, D, W, M, M, D, M, W…
## $ Age         <dbl> 28, 19, 19, 21, 28, 40, 74, 56, 25, 53, 18, 36, 63, 42, 58…
## $ Weight      <dbl> 99, 102, 104, 108, 109, 113, 115, 118, 119, 119, 120, 121,…
## $ TotChol     <dbl> 192, 191, 184, 189, 186, 194, 224, 233, 209, 280, 267, 233…
## $ SystolicP   <dbl> 110, 123, 117, 138, 123, 138, 123, 111, 134, 120, 130, 138…

Part a

PDat$MaritalStat <- factor(PDat$MaritalStat, level=c("S","M","D","W"))
PDat %>% count(MaritalStat)
## # A tibble: 4 x 2
##   MaritalStat     n
##   <fct>       <int>
## 1 S              26
## 2 M              34
## 3 D              24
## 4 W              16
widowed_data<- PDat %>% 
  filter(MaritalStat == "W")
widowed_data <- PDat %>% 
  filter(MaritalStat == "W")
widowed_number <- nrow(widowed_data)
widowed_percent <- (widowed_number/nrow(PDat))
glimpse(widowed_data)
## Rows: 16
## Columns: 7
## $ ID          <chr> "006", "010", "013", "015", "020", "028", "036", "037", "0…
## $ Sex         <fct> F, F, F, F, F, F, F, F, F, F, M, M, M, M, M, M
## $ MaritalStat <fct> W, W, W, W, W, W, W, W, W, W, W, W, W, W, W, W
## $ Age         <dbl> 40, 53, 63, 58, 37, 21, 70, 62, 39, 79, 61, 54, 30, 33, 51…
## $ Weight      <dbl> 113, 119, 124, 125, 131, 137, 150, 151, 151, 162, 178, 186…
## $ TotChol     <dbl> 194, 280, 184, 246, 180, 211, 232, 235, 191, 189, 181, 197…
## $ SystolicP   <dbl> 138, 120, 149, 137, 135, 131, 119, 129, 139, 125, 121, 124…

Part b)

married_data <- PDat %>% 
  filter(MaritalStat == "M")
glimpse(married_data)
## Rows: 34
## Columns: 7
## $ ID          <chr> "008", "012", "016", "017", "019", "022", "024", "025", "0…
## $ Sex         <fct> F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, M, F, F, F…
## $ MaritalStat <fct> M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M, M…
## $ Age         <dbl> 56, 36, 32, 30, 34, 61, 40, 55, 29, 41, 38, 53, 38, 46, 56…
## $ Weight      <dbl> 118, 121, 127, 130, 130, 133, 135, 135, 138, 139, 139, 144…
## $ TotChol     <dbl> 233, 233, 193, 198, 219, 240, 225, 193, 206, 230, 234, 230…
## $ SystolicP   <dbl> 111, 138, 124, 115, 130, 107, 150, 115, 131, 112, 113, 116…

Part c)

male_married_data <- married_data %>%
  filter(Sex == "M")
male_married_percent <- (nrow(male_married_data)/nrow(married_data))
LS0tCnRpdGxlOiAiSG9tZXdvcmsgMSIKYXV0aG9yOiAiS2V4dWFuIEZlbmciCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCIKb3V0cHV0OiBvcGVuaW50cm86OmxhYl9yZXBvcnQKLS0tCgpgYGB7ciBsb2FkLXBhY2thZ2VzLCBtZXNzYWdlPUZBTFNFfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShvcGVuaW50cm8pCmBgYAoKIyMjIFByb2JsZW0gMQojIyMjIFBhcnQgYSkKVGhlIHZhcmlhYmxlcyBjb2xsZWN0ZWQgb24gZWFjaCBsYXVuY2ggdG8gY3JlYXRlIHRoZSBzdW1tYXJ5IHRhYmxlIHNob3duIGFib3ZlIHdlcmU6CjEuVGhlIHllYXIgaW50ZXJ2YWwgb2YgbGF1bmNoLgoyLk91dGNvbWUgb2YgbGF1bmNoKHdoZXRoZXIgZmFpbHVyZSBvciBzdWNjZXNzKS4KMy5UaGUgdHlwZSBvZiBsYXVuY2ggYWdlbmN5KHdoZXRoZXIgcHJpdmF0ZSwgc3RhdGUgb3Igc3RhcnR1cCkuCgoKIyMjIyBQYXJ0IGIpCkZpcnN0bHksIHllYXIgaW50ZXJ2YWwgb2YgbGF1bmNoIGlzIGEgbnVtZXJpY2FsIHZhcmlhYmxlIGFuZCBpdCBpcyBkaXNjcmV0ZS4KU2Vjb25kbHksIG91dGNvbWUgb2YgbGF1bmNoIGlzIGNhdGVnb3JpY2FsKGZhaWx1cmUgb3Igc3VjY2VzcykuSXQgaXMgbm90IG9yZGluYWwgc2luY2UgaXQgaXMgbm90IGFibGUgdG8gYmUgb3JkZXJlZC5TbyB0aGUgb3V0Y29tZSBvZiBsYXVuY2ggaXMgbm9taW5hbC4KTGFzdGx5LHR5cGUgb2YgbGF1bmNoaW5nIGFnZW5jeSBpcyBjYXRlZ29yaWNhbCAocHJpdmF0ZSwgc3RhdGUgYW5kIHN0YXJ0dXApLiBJdCBpcyBub3Qgb3JkaW5hbCBiZWNhdXNlIHdlIGRvIG5vdCBrbm93IHdoaWNoIHR5cGUgaXMgYmV0dGVyIHRoYW4gd2hpY2ggdHlwZS5XZSBjYW4gbm90IGNvbXBhcmUgdGhlbSx0aGVyZWZvcmUgdGhlIHR5cGUgb2YgbGF1bmNoIGFnZW5jeSBpcyBub21pbmFsLgoKIyMjIyBQYXJ0IGMpCk91dGNvbWUgb2YgbGF1bmNoIHdpbGwgYmUgdGhlIHJlc3BvbnNlIHZhcmlhYmxlLlR5cGUgb2YgbGF1bmNoIGFnZW5jeSBhbmQgeWVhciBvZiBsYXVuY2ggd2lsbCBiZSBleHBsYW5hdG9yeSB2YXJpYWJsZXMuCgoKCiMjIyBQcm9ibGVtIDIKIyMjIyBQYXJ0IGEpCkl0IGlzIE9ic2VydmF0aW9uYWwgc3R1ZHkgc2luY2UgaXQgaXMgIG9ic2VydmluZyBhbmQgcmVjb3JkaW5nIG9mIHRoZSBkYXRhIG9ubHkgYW5kIGRvZXMgbm90IGludm9sdmUgYW55IGV4cGVyaW1lbnRhdGlvbi4KCgojIyMjIFBhcnQgYikKVGhlIGV4cGxhbmF0b3J5IHZhcmlhYmxlczoKdGVlbmFnZXIncyBkYWlyeSBzY3JlZW4gdGltZSBiZXR3ZWVuIHRoZSBhZ2VzIG9mIDEyIHRvIDE1IC5TZXggYW5kIGFnZSwgbW90aGVycycgZWR1Y2F0aW9uLCBldGhuaWNpdHksIHBzeWNob2xvZ2ljYWwgZGlzdHJlc3MsIGFuZCBlbXBsb3ltZW50IHN0YXR1cyBvZiB0aGUgdGVlbmFnZXJzIHJlZmVycmVkIGFib3ZlLgoKCiMjIyMgUGFydCBjKQpUaGUgcmVzcG9uc2UgdmFyaWFibGUgaXMgYWRvbGVzY2VudCB3ZWxsLWJlaW5nLgoKIyMjIyBQYXJ0IGQpIApUaGUgcmVzdWx0cyBvZiB0aGUgc3R1ZHkgY2FuIGJlIGdlbmVyYWxpemVkIHRvIHRoZSBwb3B1bGF0aW9uLlRoYXQgaXMgYmVjYXVzZSB0aGUgc2FtcGxlIHNpemUgaXMgdmVyeSBsYXJnZSB3aGljaCBjb3ZlcnMgdGhyZWUgc2lnbmlmaWNhbnQgY291bnRyaWVzLiAKCiMjIyMgUGFydCBlKSAKVGhlIHJlc3VsdHMgb2YgdGhlIHN0dWR5IGNhbiBiZSB1c2VkIHRvIGVzdGFibGlzaCBjYXVzYWwgcmVsYXRpb25zaGlwcy5UaGlzIGlzIGJlY2F1c2UgaXQgZGVzaWduZWQgYm90aCBjaGlsZCdzY3JlZW4gdGltZSBhbmQgb3RoZXIgZmFjdG9ycy5UYWtlIGEgbG90IG9mIHRoaW5ncyBpbnRvIGNvbnNpZGVyYXRpb24uCgojIyMgUHJvYmxlbSAzCiMjIyMgUGFydCBhKQogVGhpcyBpcyBhIHNpbXBsZSByYW5kb20gc2FtcGxpbmcgYmVjYXVzZSBzYW1wbGUgb2YgMjAwIGhvdXNlaG9sZHMgYXJlIHNlbGVjdGVkIHJhbmRvbWx5Lgpwcm9zOkFsbCBob3VzZWhvbGRzIGhhdmUgc2FtZSBjaGFuY2Ugb2YgYmVpbmcgc2VsZWN0ZWQgaW50byB0aGUgc2FtcGxlLgpjb25zOlRoaXMgbWV0aG9kIG1pZ2h0IG5vdCBiZSBlZmZlY3RpdmUgaW4gdGhpcyBzZXR0aW5nIHNpbmNlIHRoZSBob3VzZWhvbGRzIGFyZSBkaXZpZGVkIGludG8gbmVpZ2hib3Job29kcy4KIyMjIyBQYXJ0IGIpClRoaXMgaXMgYSBzdHJhdGlmaWVkIHNhbXBsZS4KCnByb3M6ZWZmZWN0aXZlIGluIHRoaXMgc2V0dGluZyBiZWNhdXNlIGFsbCB0aGUgdHlwZXMgb2YgbmVpZ2hib3Job29kcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHNhbXBsZS4KY29uczppdCBpcyBtb3JlIGNvbXBsaWNhdGVkIHRoYW4gb3RoZXIgd2F5cy4KIyMjIyBQYXJ0IGMpClRoaXMgaXMgYSBjbHVzdGVyIHNhbXBsZS4KCnByb3M6T25seSBwYXJ0IG9mIG5laWdoYm9yaG9vZHMgYXJlIHNlbGVjdGVkIGFuZCBhbGwgdGhlIHVuaXRzIGluIHRob3NlIGdyb3VwcyBhcmUgaW5jbHVkZWQuCmNvbnM6VGhpcyBtaWdodCBub3QgYmUgZWZmZWN0aXZlIGluIHRoaXMgc2V0dGluZyBiZWNhdXNlIGFsbCB0aGUgdHlwZXMgb2YgbmVpZ2hib3Job29kcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBzYW1wbGUuT25seSBwYXJ0IG9mIG5laWdoYm9yaG9vZHMgYXJlIHNlbGVjdGVkIGFuZCBhbGwgdGhlIHVuaXRzIGluIHRob3NlIGdyb3VwcyBhcmUgaW5jbHVkZWQuCiMjIyMgUGFydCBkKQpUaGlzIGlzIGEgbXVsdGlzdGFnZSBzYW1wbGUuCgpwcm9zOkl0IGlzIGVmZmVjdGl2ZSBhbmQgcmVkdWNlIHRoZSBjb2xsZWN0aW9uIHRpbWUuCmNvbnM6VGhpcyBtaWdodCBub3QgYmUgYWNjdXJhdGUgaW4gdGhpcyBzZXR0aW5nIGJlY2F1c2UgYWxsIHRoZSB0eXBlcyBvZiBuZWlnaGJvcmhvb2RzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHNhbXBsZS5Pbmx5IHNvbWUgbmVpZ2hib3Job29kcyBhcmUgc2VsZWN0ZWQgYW5kIHNhbXBsZSBvZiB1bml0cyBpbiB0aG9zZSBncm91cHMgYXJlIGluY2x1ZGVkLgoKIyMjIyBQYXJ0IGUpClRoaXMgaXMgYSBjb252ZW5pZW5jZSBzYW1wbGUuCgpwcm9zOkl0IGlzIGVhc3kgYW5kIHNpbXBsZSB0byBjb2xsZWN0Lgpjb25zOlRoaXMgbWlnaHQgbm90IGJlIGVmZmVjdGl2ZSBpbiB0aGlzIHNldHRpbmcgYmVjYXVzZSBhbGwgdGhlIHR5cGVzIG9mIG5laWdoYm9yaG9vZHMgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgc2FtcGxlLgoKIyMjIFByb2JsZW0gNAojIyMjIFBhcnQgYSkKVGhlIHBvcHVsYXRpb24gb2YgaW50ZXJlc3QgaXMgY2xlYXJseSBhbGwgY2hpbGRyZW4gYmV0d2VlbiB0aGUgYWdlcyBvZiA1IGFuZCAxNS4KVGhlIHNhbXBsZSBpcyB0aGUgZ3JvdXAgb2YgMTYwIGNoaWxkcmVuIGJldHdlZW4gdGhlIGFnZSBvZiA1IGFuZCAxNSB3aG8gaGF2ZSBiZWVuIGNob3NlbiBmb3IgdGhlIHN0dWR5LgoKIyMjIyBQYXJ0IGIpClRoaXMgaXMgYW4gZXhwZXJpbWVudGFsIHN0dWR5LklmIHRoZSBzYW1wbGUgaXMgcmFuZG9tbHkgc2VsZWN0ZWQgYW5kIHJlcHJlc2VudGF0aXZlIG9mIHRoZSBlbnRpcmUgcG9wdWxhdGlvbix0aGUgcmVzdWx0cyBjYW4gYmUgZ2VuZXJhbGl6ZWQgdG8gdGhlIHBvcHVsYXRpb24uU2luY2UgdGhlIHN0dWR5IGlzIGV4cGVyaW1lbnRhbCAsbm90IHRoZSBvYnNlcnZhdGlvbmFsLlNvIHRoZSBmaW5kaW5ncyBjYW4gbm90IGJlIHVzZWQgdG8gZXN0YWJsaXNoIGNhdXNhbCByZWxhdGlvbnNoaXAuCgojIyMgUHJvYmxlbSA1CiMjIyMgUGFydCBhKQpQZXJjZW50YWdlIG9mIGFsbCB2aWRlb3Mgb24gWW91VHViZSB0aGF0IGFyZSBjYXQgdmlkZW9zIGlzIHRoZSBwb3B1bGF0aW9uIHBhcmFtZXRlci4KIyMjIyBQYXJ0IGIpCiBXZSBmaW5kIHRoYXQgMiUgb2Ygb3VyIHNhbXBsZWQgdmlkZW9zIGFyZSBjYXQgdmlkZW9zIHRocm91Z2ggZGF0YS4gU28sIHRoaXMgaXMgYSBzYW1wbGUgc3RhdGlzdGljLgoKIyMjIyBQYXJ0IGMpCjEwMDAgc2FtcGxlZCB2aWRlb3MgYXJlIHNhbXBsZSB1bml0cyB3aGljaCB3ZSBvYnNlcnZlIHRvIGVzdGltYXRlIHNvbWUgdmFsdWUgLlNvIGEgdmlkZW8gaW4gb3VyIHNhbXBsZSBpcyBhbiBvYnNlcnZhdGlvbi4KIyMjIyBQYXJ0IGQpCndoZXRoZXIgb3Igbm90IGEgdmlkZW8gaXMgYSBjYXQgdmlkZW8gaXMgYSB2YXJpYWJsZS4KIyMjIFByb2JsZW0gNgoKIyMjIyBQYXJ0IGEpICAKJEM9MlxwaSpyJCAKJEE9XHBpKnJeMiQKIyMjIyBQYXJ0IGIpIApgYGB7ciBjYWxjdWxhdGlvbiBvZiBjaXJjdW1zdGFuY2V9CihyYWQgPC0gYygwLjUsMikpCihDIDwtIDIqcGkqcmFkKQpgYGAKCmBgYHtyIGNhbGN1bGF0aW9uIG9mIGFyZWF9CihyYWQgPC0gYygwLjUsMikpCihBIDwtIHBpKnJhZF4yKQpgYGAKIyMjIyBQYXJ0IGMpIApUaGUgY2lyY3Vtc3RhbmNlIG9mIGEgY2lyY2xlIHdpdGggcmFkaXVzIDAuNSBpcyAkMy4xNGNtJCx3aXRoIHRoZSByYWRpdXMgMi4wLCB0aGUgY2lyY3Vtc3RhbmNlIGlzICQxMi41N2NtJC4KVGhlIGFyZWEgb2YgYSBjaXJjbGUgd2l0aCByYWRpaSAwLjUgaXMgJDAuNzljbV4yJC5UaGUgYXJlYSBvZiBhIGNpcmNsZSB3aXRoIHJhZGlpIDIuMCBpcyAkMTIuNTdjbV4yJC4KCgojIyMgUHJvM2JsZW0gNwpgYGAge3IgUmVhZCBpbiBQYXRpZW50IERhdGF9ClBEYXQgPC0gcmVhZF9jc3YoIlBhdGllbnRfRGF0YS5jc3YiKQojIENyZWF0ZSBhIGZhY3RvciB2YXJpYWJsZSBmb3IgU2V4OyB0aGUgbGV2ZWxzIHdpbGwgYmUgaW4gYWxwaGFiZXRpY2FsIG9yZGVyClBEYXQkU2V4IDwtIGZhY3RvcihQRGF0JFNleCkKIyBDcmVhdGUgYSBmYWN0b3IgdmFyaWFibGUgd2l0aCBhIHNwZWNpZmllZCBvcmRlciB0byB0aGUgbGV2ZWxzCiMgTWFyaXRhbCBzdGF0dXMgaXMgbm90IGFuIG9yZGluYWwgdmFyaWFibGUsIGJ1dCB5b3UgY2FuIHN0aWxsIHNldCB0aGUKIyBvcmRlciBvZiB0aGUgbGV2ZWxzIHRvIGNvbnRyb2wgdGhlIG9yZGVyIHRoZXkgYXJlIHByaW50ZWQgaW4gb3V0cHV0ClBEYXQkTWFyaXRhbFN0YXQgPC0gZmFjdG9yKFBEYXQkTWFyaXRhbFN0YXQsIGxldmVsPWMoIlMiLCJNIiwiRCIsIlciKSkKUERhdCAlPiUgY291bnQoU2V4KQpQRGF0LkYgPC0gUERhdCAlPiUgZmlsdGVyKFNleCA9PSAiRiIpCmdsaW1wc2UoUERhdC5GKQpgYGAKIyMjIyBQYXJ0IGEKYGBge3IgbnVtYmVyIG9mIG9ic2VydmF0aW9uIGluIGVhY2ggb2YgdGhlIE1hcnRpdGFsU3RhdH0KUERhdCRNYXJpdGFsU3RhdCA8LSBmYWN0b3IoUERhdCRNYXJpdGFsU3RhdCwgbGV2ZWw9YygiUyIsIk0iLCJEIiwiVyIpKQpQRGF0ICU+JSBjb3VudChNYXJpdGFsU3RhdCkKd2lkb3dlZF9kYXRhPC0gUERhdCAlPiUgCiAgZmlsdGVyKE1hcml0YWxTdGF0ID09ICJXIikKYGBgCgpgYGB7ciBwZXJjZW50YWdlIG9mIHdpZG93ZWR9CndpZG93ZWRfZGF0YSA8LSBQRGF0ICU+JSAKICBmaWx0ZXIoTWFyaXRhbFN0YXQgPT0gIlciKQp3aWRvd2VkX251bWJlciA8LSBucm93KHdpZG93ZWRfZGF0YSkKd2lkb3dlZF9wZXJjZW50IDwtICh3aWRvd2VkX251bWJlci9ucm93KFBEYXQpKQpnbGltcHNlKHdpZG93ZWRfZGF0YSkKYGBgCgoKIyMjIyBQYXJ0IGIpCmBgYHtyIHN1YnNldCBkYXRhIG9mIG1hcnJpZWR9Cm1hcnJpZWRfZGF0YSA8LSBQRGF0ICU+JSAKICBmaWx0ZXIoTWFyaXRhbFN0YXQgPT0gIk0iKQpnbGltcHNlKG1hcnJpZWRfZGF0YSkKYGBgCiMjIyMgUGFydCBjKQpgYGB7ciBjYWxjdWxhdGlvbiBvZiBtYWxlLW1hcnJpZWQgcGVyY2VudGFnZX0KbWFsZV9tYXJyaWVkX2RhdGEgPC0gbWFycmllZF9kYXRhICU+JQogIGZpbHRlcihTZXggPT0gIk0iKQptYWxlX21hcnJpZWRfcGVyY2VudCA8LSAobnJvdyhtYWxlX21hcnJpZWRfZGF0YSkvbnJvdyhtYXJyaWVkX2RhdGEpKQpgYGA=