Section-1

【1.1】 How many students are there in the training set?

Ans: 3663

【1.2】 Using tapply() on pisaTrain, what is the average reading test score of males? Of females?

Ans: male=483.5325 and female=512.9406
tapply(ptr$readingScore, ptr$male , mean)
       0        1 
529.4637 506.5191 

【1.3】 Which variables are missing data in at least one observation in the training set? Select all that apply.

Ans:

raceeth, preschool, expectBachelors
motherHS, motherBachelors, motherWork
fatherHS, fatherBachelors, fatherWork
selfBornUS, motherBornUS, fatherBornUS
englishAtHome, computerForSchoolwork, read30MinsADay
minutesPerWeekEnglish, studentsInEnglish, schoolHasLibrary
schoolSize

summary(ptr)
     grade            male       
 Min.   : 8.00   Min.   :0.0000  
 1st Qu.:10.00   1st Qu.:0.0000  
 Median :10.00   Median :1.0000  
 Mean   :10.13   Mean   :0.5012  
 3rd Qu.:10.00   3rd Qu.:1.0000  
 Max.   :12.00   Max.   :1.0000  
                                 
                                   raceeth       preschool     
 American Indian/Alaska Native         :  20   Min.   :0.0000  
 Asian                                 :  95   1st Qu.:0.0000  
 Black                                 : 228   Median :1.0000  
 Hispanic                              : 500   Mean   :0.7274  
 More than one race                    :  81   3rd Qu.:1.0000  
 Native Hawaiian/Other Pacific Islander:  20   Max.   :1.0000  
 White                                 :1470                   
 expectBachelors     motherHS     motherBachelors    motherWork    
 Min.   :0.0000   Min.   :0.000   Min.   :0.0000   Min.   :0.0000  
 1st Qu.:1.0000   1st Qu.:1.000   1st Qu.:0.0000   1st Qu.:0.0000  
 Median :1.0000   Median :1.000   Median :0.0000   Median :1.0000  
 Mean   :0.8343   Mean   :0.896   Mean   :0.3637   Mean   :0.7357  
 3rd Qu.:1.0000   3rd Qu.:1.000   3rd Qu.:1.0000   3rd Qu.:1.0000  
 Max.   :1.0000   Max.   :1.000   Max.   :1.0000   Max.   :1.0000  
                                                                   
    fatherHS      fatherBachelors    fatherWork       selfBornUS    
 Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
 1st Qu.:1.0000   1st Qu.:0.0000   1st Qu.:1.0000   1st Qu.:1.0000  
 Median :1.0000   Median :0.0000   Median :1.0000   Median :1.0000  
 Mean   :0.8741   Mean   :0.3484   Mean   :0.8571   Mean   :0.9362  
 3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:1.0000  
 Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000  
                                                                    
  motherBornUS   fatherBornUS    englishAtHome    computerForSchoolwork
 Min.   :0.00   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000       
 1st Qu.:1.00   1st Qu.:1.0000   1st Qu.:1.0000   1st Qu.:1.0000       
 Median :1.00   Median :1.0000   Median :1.0000   Median :1.0000       
 Mean   :0.79   Mean   :0.7854   Mean   :0.8815   Mean   :0.9155       
 3rd Qu.:1.00   3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:1.0000       
 Max.   :1.00   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000       
                                                                       
 read30MinsADay   minutesPerWeekEnglish studentsInEnglish schoolHasLibrary
 Min.   :0.0000   Min.   :   0.0        Min.   : 1.00     Min.   :0.0000  
 1st Qu.:0.0000   1st Qu.: 225.0        1st Qu.:20.00     1st Qu.:1.0000  
 Median :0.0000   Median : 250.0        Median :25.00     Median :1.0000  
 Mean   :0.3016   Mean   : 269.8        Mean   :24.56     Mean   :0.9714  
 3rd Qu.:1.0000   3rd Qu.: 300.0        3rd Qu.:30.00     3rd Qu.:1.0000  
 Max.   :1.0000   Max.   :1680.0        Max.   :75.00     Max.   :1.0000  
                                                                          
  publicSchool        urban          schoolSize    readingScore  
 Min.   :0.0000   Min.   :0.0000   Min.   : 100   Min.   :244.5  
 1st Qu.:1.0000   1st Qu.:0.0000   1st Qu.: 712   1st Qu.:455.8  
 Median :1.0000   Median :0.0000   Median :1233   Median :520.2  
 Mean   :0.9176   Mean   :0.3629   Mean   :1372   Mean   :518.0  
 3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:1900   3rd Qu.:581.4  
 Max.   :1.0000   Max.   :1.0000   Max.   :6694   Max.   :746.0  
                                                                 

【1.4】 How many observations are now in the training set? and testing set?

Ans: 2414, 990
ptr = na.omit(ptr)
pte = na.omit(pte)




Section-2

【2.1】 Which of the following variables is an unordered factor with at least 3 levels? and which is ordered?

Ans: raceeth, grade
table(ptr$grade)

   8    9   10   11   12 
   2  188 1730  491    3 
table(ptr$male)

   0    1 
1204 1210 
table(ptr$raceeth)

                                 White 
                                  1470 
         American Indian/Alaska Native 
                                    20 
                                 Asian 
                                    95 
                                 Black 
                                   228 
                              Hispanic 
                                   500 
                    More than one race 
                                    81 
Native Hawaiian/Other Pacific Islander 
                                    20 

【2.2】 Because it is the most common in our population, we will select White as the reference level. Now, consider the variable “raceeth” in our problem, which binary variables will be included in the regression model?

Ans: American Indian/Alaska Native, Asian, Black, Hispanic, More than one race, and Native Hawaiian/Other Pacific Islander.

【2.3】 For a student who is Asian, which binary variables would be set to 0? All remaining variables will be set to 1. For a student who is white?

Ans: An Asian student will have raceethAsian set to 1 and all other raceeth binary variables set to 0. Because “White” is the reference level, a white student will have all raceeth binary variables set to 0.




Section-3

【3.1】 What is the Multiple R-squared value of lmScore on the training set?

Ans: 0.3251
summary(model1)

Call:
lm(formula = readingScore ~ ., data = ptr)

Residuals:
    Min      1Q  Median      3Q     Max 
-247.44  -48.86    1.86   49.77  217.18 

Coefficients:
                                                Estimate Std. Error
(Intercept)                                   143.766333  33.841226
grade                                          29.542707   2.937399
male                                          -14.521653   3.155926
raceethAmerican Indian/Alaska Native          -67.277327  16.786935
raceethAsian                                   -4.110325   9.220071
raceethBlack                                  -67.012347   5.460883
raceethHispanic                               -38.975486   5.177743
raceethMore than one race                     -16.922522   8.496268
raceethNative Hawaiian/Other Pacific Islander  -5.101601  17.005696
preschool                                      -4.463670   3.486055
expectBachelors                                55.267080   4.293893
motherHS                                        6.058774   6.091423
motherBachelors                                12.638068   3.861457
motherWork                                     -2.809101   3.521827
fatherHS                                        4.018214   5.579269
fatherBachelors                                16.929755   3.995253
fatherWork                                      5.842798   4.395978
selfBornUS                                     -3.806278   7.323718
motherBornUS                                   -8.798153   6.587621
fatherBornUS                                    4.306994   6.263875
englishAtHome                                   8.035685   6.859492
computerForSchoolwork                          22.500232   5.702562
read30MinsADay                                 34.871924   3.408447
minutesPerWeekEnglish                           0.012788   0.010712
studentsInEnglish                              -0.286631   0.227819
schoolHasLibrary                               12.215085   9.264884
publicSchool                                  -16.857475   6.725614
urban                                          -0.110132   3.962724
schoolSize                                      0.006540   0.002197
                                              t value Pr(>|t|)    
(Intercept)                                     4.248 2.24e-05 ***
grade                                          10.057  < 2e-16 ***
male                                           -4.601 4.42e-06 ***
raceethAmerican Indian/Alaska Native           -4.008 6.32e-05 ***
raceethAsian                                   -0.446  0.65578    
raceethBlack                                  -12.271  < 2e-16 ***
raceethHispanic                                -7.528 7.29e-14 ***
raceethMore than one race                      -1.992  0.04651 *  
raceethNative Hawaiian/Other Pacific Islander  -0.300  0.76421    
preschool                                      -1.280  0.20052    
expectBachelors                                12.871  < 2e-16 ***
motherHS                                        0.995  0.32001    
motherBachelors                                 3.273  0.00108 ** 
motherWork                                     -0.798  0.42517    
fatherHS                                        0.720  0.47147    
fatherBachelors                                 4.237 2.35e-05 ***
fatherWork                                      1.329  0.18393    
selfBornUS                                     -0.520  0.60331    
motherBornUS                                   -1.336  0.18182    
fatherBornUS                                    0.688  0.49178    
englishAtHome                                   1.171  0.24153    
computerForSchoolwork                           3.946 8.19e-05 ***
read30MinsADay                                 10.231  < 2e-16 ***
minutesPerWeekEnglish                           1.194  0.23264    
studentsInEnglish                              -1.258  0.20846    
schoolHasLibrary                                1.318  0.18749    
publicSchool                                   -2.506  0.01226 *  
urban                                          -0.028  0.97783    
schoolSize                                      2.977  0.00294 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 73.81 on 2385 degrees of freedom
Multiple R-squared:  0.3251,    Adjusted R-squared:  0.3172 
F-statistic: 41.04 on 28 and 2385 DF,  p-value: < 2.2e-16

【3.2】 What is the training-set root-mean squared error (RMSE) of lmScore?

Ans: 73.36555
pred = predict(model1, ptr)
SSE = sum((ptr$readingScore - pred)^2)
RMSE = sqrt(SSE/nrow(ptr))
print(RMSE)
[1] 73.36555

【3.3】 Consider two students A and B. They have all variable values the same, except that student A is in grade 11 and student B is in grade 9. What is the predicted reading score of student A minus the predicted reading score of student B?

Ans: 59.08541
print(29.542707*2)
[1] 59.08541

【3.4】 What is the meaning of the coefficient associated with variable raceethAsian?

Ans: Predicted difference in the reading score between an Asian student and a white student who is otherwise identical.

【3.5】 Based on the significance codes, which variables are candidates for removal from the model? Select all that apply. (We’ll assume that the factor variable raceeth should only be removed if none of its levels are significant.)

Ans: preschool, motherHS, motherWork, fatherHS, fatherWork, selfBornUS, motherBornUS, fatherBornUS, englishAtHome, minutesPerWeekEnglish, studentsInEnglish, schoolHasLibrary, and urban.




Section-4

【4.1】 What is the range between the maximum and minimum predicted reading score on the test set?

Ans: 284.4683
pred = predict(model1, pte)
range(pred) %>% diff()
[1] 284.4683

【4.2】 What is the sum of squared errors (SSE) of lmScore on the testing? What is the root-mean squared error (RMSE)?

Ans: 5762082, 76.29079
SSE = sum((pred - pte$readingScore)^2)
RMSE = sqrt(SSE/nrow(pte))
print(SSE)
[1] 5762082
print(RMSE)
[1] 76.29079

【4.3】 What is the predicted test score used in the baseline model? Remember to compute this value using the training set and not the test set. What is the sum of squared errors of the baseline model on the testing set? HINT: We call the sum of squared errors for the baseline model the total sum of squares (SST).

Ans:517.9629, 7802354
mean(ptr$readingScore)
[1] 517.9629
sum((pte$readingScore - mean(ptr$readingScore))^2)
[1] 7802354

【4.4】 What is the test-set R-squared value of lmScore?

Ans: 0.2614944
SSR = sum((pred - mean(pte$readingScore))^2)
R2 = 1-SSE/SST
print(R2)
[1] 0.2614944
LS0tDQp0aXRsZTogIkFTMi0yOiBSZWFkaW5nIFRlc3QgU2NvcmVzIg0KYXV0aG9yOiAi5ZSQ5oCd55CqIEIwNDEwMTAwMDQgMjAxOC8wNy8wOSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCi0gLSAtDQoNCiMjIyMgIFNlY3Rpb24tMSANCg0K44CQMS4x44CRIEhvdyBtYW55IHN0dWRlbnRzIGFyZSB0aGVyZSBpbiB0aGUgdHJhaW5pbmcgc2V0Pw0KDQojIyMjIyNBbnM6IDM2NjMNCg0K44CQMS4y44CRIFVzaW5nIHRhcHBseSgpIG9uIHBpc2FUcmFpbiwgd2hhdCBpcyB0aGUgYXZlcmFnZSByZWFkaW5nIHRlc3Qgc2NvcmUgb2YgbWFsZXM/IE9mIGZlbWFsZXM/DQoNCiMjIyMjI0FuczogbWFsZT00ODMuNTMyNSBhbmQgZmVtYWxlPTUxMi45NDA2DQoNCmBgYHtyfQ0KdGFwcGx5KHB0ciRyZWFkaW5nU2NvcmUsIHB0ciRtYWxlICwgbWVhbikNCmBgYA0KDQrjgJAxLjPjgJEgV2hpY2ggdmFyaWFibGVzIGFyZSBtaXNzaW5nIGRhdGEgaW4gYXQgbGVhc3Qgb25lIG9ic2VydmF0aW9uIGluIHRoZSB0cmFpbmluZyBzZXQ/IFNlbGVjdCBhbGwgdGhhdCBhcHBseS4NCg0KIyMjIyMjQW5zOiANCnJhY2VldGgsIHByZXNjaG9vbCwgZXhwZWN0QmFjaGVsb3JzICAgICAgDQptb3RoZXJIUywgbW90aGVyQmFjaGVsb3JzLCBtb3RoZXJXb3JrICAgICAgIA0KZmF0aGVySFMsIGZhdGhlckJhY2hlbG9ycywgZmF0aGVyV29yayAgICAgICAgICAgDQpzZWxmQm9yblVTLCBtb3RoZXJCb3JuVVMsIGZhdGhlckJvcm5VUyAgICAgICAgIA0KZW5nbGlzaEF0SG9tZSwgY29tcHV0ZXJGb3JTY2hvb2x3b3JrLCByZWFkMzBNaW5zQURheSAgICAgICANCm1pbnV0ZXNQZXJXZWVrRW5nbGlzaCwgc3R1ZGVudHNJbkVuZ2xpc2gsIHNjaG9vbEhhc0xpYnJhcnkgICAgIA0Kc2Nob29sU2l6ZQ0KDQpgYGB7cn0NCnN1bW1hcnkocHRyKQ0KYGBgDQoNCg0K44CQMS4044CRIEhvdyBtYW55IG9ic2VydmF0aW9ucyBhcmUgbm93IGluIHRoZSB0cmFpbmluZyBzZXQ/IGFuZCB0ZXN0aW5nIHNldD8NCg0KIyMjIyMjQW5zOiAyNDE0LCA5OTANCg0KYGBge3J9DQpwdHIgPSBuYS5vbWl0KHB0cikNCnB0ZSA9IG5hLm9taXQocHRlKQ0KYGBgDQoNCg0KDQo8YnI+PGJyPg0KDQotIC0gLQ0KDQojIyMjIFNlY3Rpb24tMiANCg0K44CQMi4x44CRIFdoaWNoIG9mIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGlzIGFuIHVub3JkZXJlZCBmYWN0b3Igd2l0aCBhdCBsZWFzdCAzIGxldmVscz8gYW5kIHdoaWNoIGlzIG9yZGVyZWQ/DQoNCiMjIyMjI0FuczogcmFjZWV0aCwgZ3JhZGUNCg0KYGBge3J9DQp0YWJsZShwdHIkZ3JhZGUpDQp0YWJsZShwdHIkbWFsZSkNCnRhYmxlKHB0ciRyYWNlZXRoKQ0KYGBgDQoNCg0K44CQMi4y44CRIEJlY2F1c2UgaXQgaXMgdGhlIG1vc3QgY29tbW9uIGluIG91ciBwb3B1bGF0aW9uLCB3ZSB3aWxsIHNlbGVjdCBXaGl0ZSBhcyB0aGUgcmVmZXJlbmNlIGxldmVsLiBOb3csIGNvbnNpZGVyIHRoZSB2YXJpYWJsZSAicmFjZWV0aCIgaW4gb3VyIHByb2JsZW0sIHdoaWNoIGJpbmFyeSB2YXJpYWJsZXMgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVncmVzc2lvbiBtb2RlbD8gDQoNCiMjIyMjI0FuczogQW1lcmljYW4gSW5kaWFuL0FsYXNrYSBOYXRpdmUsIEFzaWFuLCBCbGFjaywgSGlzcGFuaWMsIE1vcmUgdGhhbiBvbmUgcmFjZSwgYW5kIE5hdGl2ZSBIYXdhaWlhbi9PdGhlciBQYWNpZmljIElzbGFuZGVyLg0KDQrjgJAyLjPjgJEgRm9yIGEgc3R1ZGVudCB3aG8gaXMgQXNpYW4sIHdoaWNoIGJpbmFyeSB2YXJpYWJsZXMgd291bGQgYmUgc2V0IHRvIDA/IEFsbCByZW1haW5pbmcgdmFyaWFibGVzIHdpbGwgYmUgc2V0IHRvIDEuIEZvciBhIHN0dWRlbnQgd2hvIGlzIHdoaXRlPw0KDQojIyMjIyNBbnM6IEFuIEFzaWFuIHN0dWRlbnQgd2lsbCBoYXZlIHJhY2VldGhBc2lhbiBzZXQgdG8gMSBhbmQgYWxsIG90aGVyIHJhY2VldGggYmluYXJ5IHZhcmlhYmxlcyBzZXQgdG8gMC4gQmVjYXVzZSAiV2hpdGUiIGlzIHRoZSByZWZlcmVuY2UgbGV2ZWwsIGEgd2hpdGUgc3R1ZGVudCB3aWxsIGhhdmUgYWxsIHJhY2VldGggYmluYXJ5IHZhcmlhYmxlcyBzZXQgdG8gMC4NCg0KDQoNCjxicj48YnI+DQoNCi0gLSAtDQoNCiMjIyMgU2VjdGlvbi0zIA0KDQrjgJAzLjHjgJEgV2hhdCBpcyB0aGUgTXVsdGlwbGUgUi1zcXVhcmVkIHZhbHVlIG9mIGxtU2NvcmUgb24gdGhlIHRyYWluaW5nIHNldD8NCg0KIyMjIyMjQW5zOiAwLjMyNTENCg0KYGBge3J9DQpwdHIkcmFjZWV0aCA9IHJlbGV2ZWwocHRyJHJhY2VldGgsICJXaGl0ZSIpDQpwdGUkcmFjZWV0aCA9IHJlbGV2ZWwocHRlJHJhY2VldGgsICJXaGl0ZSIpDQptb2RlbDEgPSBsbShyZWFkaW5nU2NvcmV+LiwgZGF0YSA9IHB0cikNCnN1bW1hcnkobW9kZWwxKQ0KYGBgDQoNCuOAkDMuMuOAkSBXaGF0IGlzIHRoZSB0cmFpbmluZy1zZXQgcm9vdC1tZWFuIHNxdWFyZWQgZXJyb3IgKFJNU0UpIG9mIGxtU2NvcmU/DQoNCiMjIyMjI0FuczogNzMuMzY1NTUNCg0KYGBge3J9DQpwcmVkID0gcHJlZGljdChtb2RlbDEpDQpTU0UgPSBzdW0oKHB0ciRyZWFkaW5nU2NvcmUgLSBwcmVkKV4yKQ0KUk1TRSA9IHNxcnQoU1NFL25yb3cocHRyKSkNCnByaW50KFJNU0UpDQpgYGANCg0KDQrjgJAzLjPjgJEgQ29uc2lkZXIgdHdvIHN0dWRlbnRzIEEgYW5kIEIuIFRoZXkgaGF2ZSBhbGwgdmFyaWFibGUgdmFsdWVzIHRoZSBzYW1lLCBleGNlcHQgdGhhdCBzdHVkZW50IEEgaXMgaW4gZ3JhZGUgMTEgYW5kIHN0dWRlbnQgQiBpcyBpbiBncmFkZSA5LiBXaGF0IGlzIHRoZSBwcmVkaWN0ZWQgcmVhZGluZyBzY29yZSBvZiBzdHVkZW50IEEgbWludXMgdGhlIHByZWRpY3RlZCByZWFkaW5nIHNjb3JlIG9mIHN0dWRlbnQgQj8NCg0KIyMjIyMjQW5zOiA1OS4wODU0MQ0KDQpgYGB7cn0NCnByaW50KDI5LjU0MjcwNyoyKQ0KYGBgDQoNCg0K44CQMy4044CRIFdoYXQgaXMgdGhlIG1lYW5pbmcgb2YgdGhlIGNvZWZmaWNpZW50IGFzc29jaWF0ZWQgd2l0aCB2YXJpYWJsZSByYWNlZXRoQXNpYW4/DQoNCiMjIyMjI0FuczogUHJlZGljdGVkIGRpZmZlcmVuY2UgaW4gdGhlIHJlYWRpbmcgc2NvcmUgYmV0d2VlbiBhbiBBc2lhbiBzdHVkZW50IGFuZCBhIHdoaXRlIHN0dWRlbnQgd2hvIGlzIG90aGVyd2lzZSBpZGVudGljYWwuDQoNCuOAkDMuNeOAkSBCYXNlZCBvbiB0aGUgc2lnbmlmaWNhbmNlIGNvZGVzLCB3aGljaCB2YXJpYWJsZXMgYXJlIGNhbmRpZGF0ZXMgZm9yIHJlbW92YWwgZnJvbSB0aGUgbW9kZWw/IFNlbGVjdCBhbGwgdGhhdCBhcHBseS4gKFdlJ2xsIGFzc3VtZSB0aGF0IHRoZSBmYWN0b3IgdmFyaWFibGUgcmFjZWV0aCBzaG91bGQgb25seSBiZSByZW1vdmVkIGlmIG5vbmUgb2YgaXRzIGxldmVscyBhcmUgc2lnbmlmaWNhbnQuKQ0KDQojIyMjIyNBbnM6IHByZXNjaG9vbCwgbW90aGVySFMsIG1vdGhlcldvcmssIGZhdGhlckhTLCBmYXRoZXJXb3JrLCBzZWxmQm9yblVTLCBtb3RoZXJCb3JuVVMsIGZhdGhlckJvcm5VUywgZW5nbGlzaEF0SG9tZSwgbWludXRlc1BlcldlZWtFbmdsaXNoLCBzdHVkZW50c0luRW5nbGlzaCwgc2Nob29sSGFzTGlicmFyeSwgYW5kIHVyYmFuLg0KDQoNCjxicj48YnI+DQoNCi0gLSAtDQoNCiMjIyMgU2VjdGlvbi00IA0KDQrjgJA0LjHjgJEgV2hhdCBpcyB0aGUgcmFuZ2UgYmV0d2VlbiB0aGUgbWF4aW11bSBhbmQgbWluaW11bSBwcmVkaWN0ZWQgcmVhZGluZyBzY29yZSBvbiB0aGUgdGVzdCBzZXQ/DQoNCiMjIyMjI0FuczogMjg0LjQ2ODMNCg0KYGBge3J9DQpwcmVkID0gcHJlZGljdChtb2RlbDEsIHB0ZSkNCnJhbmdlKHByZWQpICU+JSBkaWZmKCkNCmBgYA0KDQrjgJA0LjLjgJEgV2hhdCBpcyB0aGUgc3VtIG9mIHNxdWFyZWQgZXJyb3JzIChTU0UpIG9mIGxtU2NvcmUgb24gdGhlIHRlc3Rpbmc/IFdoYXQgaXMgdGhlIHJvb3QtbWVhbiBzcXVhcmVkIGVycm9yIChSTVNFKT8NCg0KIyMjIyMjQW5zOiA1NzYyMDgyLCA3Ni4yOTA3OQ0KDQpgYGB7cn0NClNTRSA9IHN1bSgocHJlZCAtIHB0ZSRyZWFkaW5nU2NvcmUpXjIpDQpSTVNFID0gc3FydChTU0UvbnJvdyhwdGUpKQ0KcHJpbnQoU1NFKQ0KcHJpbnQoUk1TRSkNCmBgYA0KDQrjgJA0LjPjgJEgV2hhdCBpcyB0aGUgcHJlZGljdGVkIHRlc3Qgc2NvcmUgdXNlZCBpbiB0aGUgYmFzZWxpbmUgbW9kZWw/IFJlbWVtYmVyIHRvIGNvbXB1dGUgdGhpcyB2YWx1ZSB1c2luZyB0aGUgdHJhaW5pbmcgc2V0IGFuZCBub3QgdGhlIHRlc3Qgc2V0LiBXaGF0IGlzIHRoZSBzdW0gb2Ygc3F1YXJlZCBlcnJvcnMgb2YgdGhlIGJhc2VsaW5lIG1vZGVsIG9uIHRoZSB0ZXN0aW5nIHNldD8gSElOVDogV2UgY2FsbCB0aGUgc3VtIG9mIHNxdWFyZWQgZXJyb3JzIGZvciB0aGUgYmFzZWxpbmUgbW9kZWwgdGhlIHRvdGFsIHN1bSBvZiBzcXVhcmVzIChTU1QpLg0KDQojIyMjIyNBbnM6NTE3Ljk2MjksIDc4MDIzNTQNCg0KYGBge3J9DQptZWFuKHB0ciRyZWFkaW5nU2NvcmUpDQpzdW0oKHB0ZSRyZWFkaW5nU2NvcmUgLSBtZWFuKHB0ciRyZWFkaW5nU2NvcmUpKV4yKQ0KYGBgDQoNCuOAkDQuNOOAkSBXaGF0IGlzIHRoZSB0ZXN0LXNldCBSLXNxdWFyZWQgdmFsdWUgb2YgbG1TY29yZT8NCg0KIyMjIyMjQW5zOiAwLjI2MTQ5NDQNCg0KYGBge3J9DQpTU1IgPSBzdW0oKHByZWQgLSBtZWFuKHB0ZSRyZWFkaW5nU2NvcmUpKV4yKQ0KUjIgPSAxLVNTRS9TU1QNCnByaW50KFIyKQ0KYGBgDQo=