Packages
library(tidyverse)
[30m── [1mAttaching packages[22m ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──[39m
[30m[32m✔[30m [34mggplot2[30m 3.2.0 [32m✔[30m [34mpurrr [30m 0.3.2
[32m✔[30m [34mtibble [30m 2.1.3 [32m✔[30m [34mdplyr [30m 0.8.3
[32m✔[30m [34mtidyr [30m 1.0.0 [32m✔[30m [34mstringr[30m 1.4.0
[32m✔[30m [34mreadr [30m 1.3.1 [32m✔[30m [34mforcats[30m 0.4.0[39m
[30m── [1mConflicts[22m ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
[31m✖[30m [34mdplyr[30m::[32mfilter()[30m masks [34mstats[30m::filter()
[31m✖[30m [34mdplyr[30m::[32mlag()[30m masks [34mstats[30m::lag()[39m
First try
(
mtprop <-
meta::metaprop(
event = num,
n = denom,
studlab = study,
byvar = droplevels(tgroup),
data = df
)
)
proportion 95%-CI %W(fixed) %W(random) byvar
Manos, 1999 0.3947 [0.3638; 0.4262] -- -- 1
Bergeron, 2000 0.4324 [0.3387; 0.5298] -- -- 1
Lytwyn, 2000 0.4035 [0.2756; 0.5418] -- -- 1
Shlay, 2000 0.3128 [0.2485; 0.3830] -- -- 1
Morin, 2001 0.2917 [0.2452; 0.3416] -- -- 1
Rebello, 2001 0.4133 [0.3008; 0.5330] -- -- 3
Solomon, 2001 0.5676 [0.5470; 0.5879] -- -- 1
Zielinski, 2001 0.3474 [0.2837; 0.4155] -- -- 3
Kulasingam, 2002 0.5111 [0.4498; 0.5722] -- -- 1
Pretorius, 2002 0.3224 [0.2928; 0.3532] -- -- 1
Cuzick, 2003 0.2602 [0.1852; 0.3470] -- -- 3
Guyot, 2003 0.5217 [0.3059; 0.7318] -- -- 3
Lonky, 2003 0.4604 [0.4007; 0.5210] -- -- 1
Wensveen, 2003 0.4527 [0.3708; 0.5365] -- -- 1
Bruner, 2004 0.2688 [0.1821; 0.3708] -- -- 2
Rowe, 2004 0.4400 [0.3804; 0.5009] -- -- 1
Andersson, 2005 0.4423 [0.3047; 0.5867] -- -- 1
Dalla Palma, 2005 0.6987 [0.6202; 0.7695] -- -- 1
Giovannelli, 2005 0.2283 [0.1472; 0.3275] -- -- 1
Kendall, 2005 0.3410 [0.3302; 0.3520] -- -- 1
Nieh, 2005 0.7424 [0.6199; 0.8422] -- -- 1
Bergeron, 2006 0.4441 [0.4215; 0.4669] -- -- 1
Kelly, 2006 0.7255 [0.5826; 0.8411] -- -- 2
Kiatpongsan, 2006 0.3889 [0.2879; 0.4974] -- -- 1
Ko, 2006 0.4010 [0.3810; 0.4213] -- -- 2
Monsonego, 2006 0.4789 [0.3588; 0.6008] -- -- 1
Moss, 2006 0.4564 [0.4402; 0.4727] -- -- 3
Selvaggi, 2006 0.3958 [0.3586; 0.4339] -- -- 2
Wright, 2006 0.3409 [0.3149; 0.3675] -- -- 2
Cuschieri, 2007 0.6053 [0.5319; 0.6753] -- -- 3
Ronco, 2007 0.3144 [0.2814; 0.3488] -- -- 1
You, 2007 0.4629 [0.4340; 0.4919] -- -- 2
Number of studies combined: k = 32
proportion 95%-CI z p-value
Fixed effect model 0.4072 [0.4013; 0.4132] -- --
Random effects model 0.4269 [0.3842; 0.4706] -- --
Quantifying heterogeneity:
tau^2 = 0.2318; H = 6.44; I^2 = 97.6%
Quantifying residual heterogeneity:
H = 4.81 [4.33; 5.35]; I^2 = 95.7% [94.7%; 96.5%]
Test of heterogeneity:
Q d.f. p-value Test
740.38 31 < 0.0001 Likelihood-Ratio
Results for subgroups (fixed effect model):
k proportion 95%-CI Q tau^2 I^2
byvar = ASCUS 20 0.3979 [0.3905; 0.4054] 562.93 0.2371 97.3%
byvar = ASC-US 6 0.4003 [0.3875; 0.4132] 63.59 0.2535 98.0%
byvar = BORDERLINE DYSKARYOSIS 6 0.4516 [0.4367; 0.4665] 45.10 0.1961 91.0%
Test for subgroup differences (fixed effect model):
Q d.f. p-value
Between groups 41.96 2 < 0.0001
Within groups 671.62 29 < 0.0001
Results for subgroups (random effects model):
k proportion 95%-CI Q tau^2 I^2
byvar = ASCUS 20 0.4285 [0.3745; 0.4843] 562.93 0.2371 97.3%
byvar = ASC-US 6 0.4223 [0.3241; 0.5272] 63.59 0.2535 98.0%
byvar = BORDERLINE DYSKARYOSIS 6 0.4265 [0.3347; 0.5236] 45.10 0.1961 91.0%
Test for subgroup differences (random effects model):
Q d.f. p-value
Between groups 0.01 2 0.9946
Details on meta-analytical method:
- Random intercept logistic regression model
- Maximum-likelihood estimator for tau^2
- Logit transformation
- Clopper-Pearson confidence interval for individual studies

Second try
(meta <- meta::metaprop(event = event.e,
n = n.e, studlab = paste(author, year),
byvar = cut(year, 3),
data = Olkin95[1:20,]))
proportion 95%-CI %W(fixed) %W(random) byvar
Fletcher 1959 0.0833 [0.0021; 0.3848] -- -- 1
Dewar 1963 0.1905 [0.0545; 0.4191] -- -- 1
Lippschutz 1965 0.1395 [0.0530; 0.2793] -- -- 1
European 1 1969 0.2410 [0.1538; 0.3473] -- -- 2
European 2 1971 0.1850 [0.1469; 0.2282] -- -- 2
Heikinheimo 1971 0.1005 [0.0640; 0.1481] -- -- 2
Italian 1971 0.1159 [0.0712; 0.1750] -- -- 2
Australian 1 1973 0.0985 [0.0653; 0.1410] -- -- 3
Frankfurt 2 1973 0.1275 [0.0696; 0.2081] -- -- 3
Gormsen 1973 0.1429 [0.0178; 0.4281] -- -- 3
NHLBI SMIT 1974 0.1321 [0.0548; 0.2534] -- -- 3
Brochier 1975 0.0333 [0.0041; 0.1153] -- -- 3
Euro Collab 1975 0.1686 [0.1159; 0.2331] -- -- 3
Frank 1975 0.1091 [0.0411; 0.2225] -- -- 3
Valere 1975 0.2245 [0.1177; 0.3662] -- -- 3
Klein 1976 0.2857 [0.0839; 0.5810] -- -- 3
UK-Collab 1976 0.1258 [0.0906; 0.1686] -- -- 3
Austrian 1977 0.1051 [0.0751; 0.1420] -- -- 3
Australian 2 1977 0.2033 [0.1361; 0.2852] -- -- 3
Lasierra 1977 0.0769 [0.0019; 0.3603] -- -- 3
Number of studies combined: k = 20
proportion 95%-CI z p-value
Fixed effect model 0.1375 [0.1245; 0.1516] -- --
Random effects model 0.1371 [0.1160; 0.1614] -- --
Quantifying heterogeneity:
tau^2 = 0.0835; H = 1.47; I^2 = 53.5%
Quantifying residual heterogeneity:
H = 1.49 [1.14; 1.94]; I^2 = 54.8% [23.1%; 73.4%]
Test of heterogeneity:
Q d.f. p-value Test
43.12 19 0.0012 Likelihood-Ratio
Results for subgroups (fixed effect model):
k proportion 95%-CI Q tau^2 I^2
byvar = (1959,1965] 3 0.1447 [0.0820; 0.2428] 0.71 0 0.0%
byvar = (1965,1971] 4 0.1549 [0.1320; 0.1810] 13.68 0.1137 72.7%
byvar = (1971,1977] 13 0.1278 [0.1122; 0.1452] 23.25 0.0669 45.4%
Test for subgroup differences (fixed effect model):
Q d.f. p-value
Between groups 3.43 2 0.1799
Within groups 37.63 17 0.0028
Results for subgroups (random effects model):
k proportion 95%-CI Q tau^2 I^2
byvar = (1959,1965] 3 0.1447 [0.0820; 0.2428] 0.71 0 0.0%
byvar = (1965,1971] 4 0.1514 [0.1076; 0.2088] 13.68 0.1137 72.7%
byvar = (1971,1977] 13 0.1304 [0.1069; 0.1583] 23.25 0.0669 45.4%
Test for subgroup differences (random effects model):
Q d.f. p-value
Between groups 0.61 2 0.7358
Details on meta-analytical method:
- Random intercept logistic regression model
- Maximum-likelihood estimator for tau^2
- Logit transformation
- Clopper-Pearson confidence interval for individual studies

LS0tCnRpdGxlOiAiUHJldmFsZW5jZSBSYXRpbyBNZXRhLWFuYWx5c2lzIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojIFBhY2thZ2VzCmBgYHtyfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShtZXRhKQpgYGAKCiMgRmlyc3QgdHJ5CmBgYHtyfQpkZiA8LSBzdHJ1Y3R1cmUobGlzdChzdHVkeSA9IGMoIk1hbm9zLCAxOTk5IiwgIkJlcmdlcm9uLCAyMDAwIiwgIkx5dHd5biwgMjAwMCIsIAoiU2hsYXksIDIwMDAiLCAiTW9yaW4sIDIwMDEiLCAiUmViZWxsbywgMjAwMSIsICJTb2xvbW9uLCAyMDAxIiwgCiJaaWVsaW5za2ksIDIwMDEiLCAiS3VsYXNpbmdhbSwgMjAwMiIsICJQcmV0b3JpdXMsIDIwMDIiLCAiQ3V6aWNrLCAyMDAzIiwgCiJHdXlvdCwgMjAwMyIsICJMb25reSwgMjAwMyIsICJXZW5zdmVlbiwgMjAwMyIsICJCcnVuZXIsIDIwMDQiLCAKIlJvd2UsIDIwMDQiLCAiQW5kZXJzc29uLCAyMDA1IiwgIkRhbGxhIFBhbG1hLCAyMDA1IiwgIkdpb3Zhbm5lbGxpLCAyMDA1IiwgCiJLZW5kYWxsLCAyMDA1IiwgIk5pZWgsIDIwMDUiLCAiQmVyZ2Vyb24sIDIwMDYiLCAiS2VsbHksIDIwMDYiLCAKIktpYXRwb25nc2FuLCAyMDA2IiwgIktvLCAyMDA2IiwgIk1vbnNvbmVnbywgMjAwNiIsICJNb3NzLCAyMDA2IiwgCiJTZWx2YWdnaSwgMjAwNiIsICJXcmlnaHQsIDIwMDYiLCAiQ3VzY2hpZXJpLCAyMDA3IiwgIlJvbmNvLCAyMDA3IiwgCiJZb3UsIDIwMDciKSwgYXV0aG9yID0gYygiTWFub3MiLCAiQmVyZ2Vyb24iLCAiTHl0d3luIiwgIlNobGF5IiwgCiJNb3JpbiIsICJSZWJlbGxvIiwgIlNvbG9tb24iLCAiWmllbGluc2tpIiwgIkt1bGFzaW5nYW0iLCAiUHJldG9yaXVzIiwgCiJDdXppY2siLCAiR3V5b3QiLCAiTG9ua3kiLCAiV2Vuc3ZlZW4iLCAiQnJ1bmVyIiwgIlJvd2UiLCAiQW5kZXJzc29uIiwgCiJQYWxtYSIsICJHaW92YW5uZWxsaSIsICJLZW5kYWxsIiwgIk5pZWgiLCAiQmVyZ2Vyb24iLCAiS2VsbHkiLCAKIktpYXRwb25nc2FuIiwgIktvIiwgIk1vbnNvbmVnbyIsICJNb3NzIiwgIlNlbHZhZ2dpIiwgIldyaWdodCIsIAoiQ3VzY2hpZXJpIiwgIlJvbmNvIiwgIllvdSIpLCB5ZWFyID0gYygxOTk5TCwgMjAwMEwsIDIwMDBMLCAyMDAwTCwgCjIwMDFMLCAyMDAxTCwgMjAwMUwsIDIwMDFMLCAyMDAyTCwgMjAwMkwsIDIwMDNMLCAyMDAzTCwgMjAwM0wsIAoyMDAzTCwgMjAwNEwsIDIwMDRMLCAyMDA1TCwgMjAwNUwsIDIwMDVMLCAyMDA1TCwgMjAwNUwsIDIwMDZMLCAKMjAwNkwsIDIwMDZMLCAyMDA2TCwgMjAwNkwsIDIwMDZMLCAyMDA2TCwgMjAwNkwsIDIwMDdMLCAyMDA3TCwgCjIwMDdMKSwgdGdyb3VwID0gc3RydWN0dXJlKGMoMUwsIDFMLCAxTCwgMUwsIDFMLCA5TCwgMUwsIDlMLCAKMUwsIDFMLCA5TCwgOUwsIDFMLCAxTCwgNkwsIDFMLCAxTCwgMUwsIDFMLCAxTCwgMUwsIDFMLCA2TCwgMUwsIAo2TCwgMUwsIDlMLCA2TCwgNkwsIDlMLCAxTCwgNkwpLCAuTGFiZWwgPSBjKCJBU0NVUyIsICJMU0lMIiwgCiJBU0NVUyBvciBTSUwiLCAiQVNDLVIiLCAiQVNDLVIvVVMiLCAiQVNDLVVTIiwgIkFTQy1IIiwgIkFHQy9BR1VTIiwgCiJCT1JERVJMSU5FIERZU0tBUllPU0lTIiksIGNsYXNzID0gImZhY3RvciIpLCBudW0gPSBjKDM4NCwgNDgsIAoyMywgNjEsIDEwNSwgMzEsIDEzMDYsIDc0LCAxMzgsIDMwNiwgMzIsIDEyLCAxMjgsIDY3LCAyNSwgMTIxLCAKMjMsIDEwOSwgMjEsIDI1MDEsIDQ5LCA4MzUsIDM3LCAzNSwgOTMwLCAzNCwgMTY4MCwgMjY2LCA0MzgsIAoxMTUsIDIzOCwgNTQyKSwgZGVub20gPSBjKDk3MywgMTExLCA1NywgMTk1LCAzNjAsIDc1LCAyMzAxLCAyMTMsIAoyNzAsIDk0OSwgMTIzLCAyMywgMjc4LCAxNDgsIDkzLCAyNzUsIDUyLCAxNTYsIDkyLCA3MzM0LCA2NiwgCjE4ODAsIDUxLCA5MCwgMjMxOSwgNzEsIDM2ODEsIDY3MiwgMTI4NSwgMTkwLCA3NTcsIDExNzEpLCBmcmFjID0gYygwLjM5NDY5OTk5MDc0OTM1OSwgCjAuNDMyMzk5OTg4MTc0NDM4LCAwLjQwMzQ5OTk5MDcwMTY3NSwgMC4zMTI3OTk5OTAxNzcxNTUsIDAuMjkxNzAwMDA1NTMxMzExLCAKMC40MTMzMDAwMDc1ODE3MTEsIDAuNTY3NjAwMDExODI1NTYyLCAwLjM0NzQwMDAwOTYzMjExMSwgMC41MTEwOTk5OTQxODI1ODcsIAowLjMyMjQwMDAwMzY3MTY0NiwgMC4yNjAxOTk5OTM4NDg4MDEsIDAuNTIxNzAwMDI0NjA0Nzk3LCAwLjQ2MDM5OTk4NTMxMzQxNiwgCjAuNDUyNjk5OTg5MDgwNDI5LCAwLjI2ODc5OTk5MDQxNTU3MywgMC40Mzk5OTk5OTc2MTU4MTQsIDAuNDQyMjk5OTkxODQ2MDg1LCAKMC42OTg3MDAwMTA3NzY1MiwgMC4yMjgzMDAwMDUxOTc1MjUsIDAuMzQwOTk5OTkwNzAxNjc1LCAwLjc0MjM5OTk5MDU1ODYyNCwgCjAuNDQ0MDk5OTkyNTEzNjU3LCAwLjcyNTQ5OTk4NzYwMjIzNCwgMC4zODg5MDAwMTE3Nzc4NzgsIDAuNDAwOTk5OTkzMDg1ODYxLCAKMC40Nzg4OTk5ODU1NTE4MzQsIDAuNDU2NDAwMDA3MDA5NTA2LCAwLjM5NTc5OTk5NDQ2ODY4OSwgMC4zNDA4NTYwNDU0ODQ1NDMsIAowLjYwNTMwMDAwOTI1MDY0MSwgMC4zMTQzOTk5ODc0NTkxODMsIDAuNDYyOTAwMDEyNzMxNTUyKSwgc2UgPSBjKDAuMDE1Njk5OTk5NDA2OTMzOCwgCjAuMDQ2OTk5OTk4MzkwNjc0NiwgMC4wNjQ5OTk5OTc2MTU4MTQyLCAwLjAzMzE5OTk5OTQ4MTQzOTYsIDAuMDI0MDAwMDAwMjA4NjE2MywgCjAuMDU2ODk5OTk4MzM3MDMwNCwgMC4wMTAzMDAwMDAxOTgxODU0LCAwLjAzMjYwMDAwMDUwMDY3OSwgMC4wMzA0MDAwMDA1MTI1OTk5LCAKMC4wMTUyMDAwMDAyNTYzLCAwLjAzOTU5OTk5OTc4NTQyMzMsIDAuMTA0MTk5OTk4MDgwNzMsIDAuMDI5ODk5OTk5NDk5MzIxLCAKMC4wNDA4OTk5OTk0Mzk3MTYzLCAwLjA0NjAwMDAwMDA4OTQwNywgMC4wMjk4OTk5OTk0OTkzMjEsIDAuMDY4ODk5OTk2NTc4NjkzNCwgCjAuMDM2Njk5OTk5MTIzODExNywgMC4wNDM4MDAwMDAxMDEzMjc5LCAwLjAwNTQ5OTk5OTk3MDE5NzY4LCAKMC4wNTM4MDAwMDE3NDA0NTU2LCAwLjAxMTUwMDAwMDAyMjM1MTcsIDAuMDYyNSwgMC4wNTEzOTk5OTgzNjY4MzI3LCAKMC4wMTAyMDAwMDAzNjgwNTg3LCAwLjA1OTMwMDAwMTcxMDY1MzMsIDAuMDA4MjAwMDAwMDQwMjMzMTQsIAowLjAxODg5OTk5OTU1ODkyNTYsIDAuMDEzMjIyODE5MTk0MTk3NywgMC4wMzU1MDAwMDExNjIyOTA2LCAwLjAxNjg5OTk5OTIzMTEwMDEsIAowLjAxNDYwMDAwMDM0NDIxNjgpLCB1cCA9IGMoMC40MjYxNjIxODMyODQ3NiwgMC41Mjk4NDM2ODgwMTExNjksIAowLjU0MTc4NjYxMTA4MDE3LCAwLjM4Mjk1MjU3MDkxNTIyMiwgMC4zNDE1ODk2NTk0NTI0MzgsIDAuNTMyOTcyODcyMjU3MjMzLCAKMC41ODc5NDE3NjU3ODUyMTcsIDAuNDE1NDkyOTUxODY5OTY1LCAwLjU3MjE3ODYwMjIxODYyOCwgMC4zNTMyMjY0ODI4NjgxOTUsIAowLjM0Njk3OTUyODY2NTU0MywgMC43MzE4MDM4MzQ0MzgzMjQsIDAuNTIwOTc1MzUxMzMzNjE4LCAwLjUzNjUyNTAxMTA2MjYyMiwgCjAuMzcwNzU4MzU0NjYzODQ5LCAwLjUwMDg2NTI4MDYyODIwNCwgMC41ODY3MjQ0NjAxMjQ5NjksIDAuNzY5NDk5ODk3OTU2ODQ4LCAKMC4zMjc1MTA0MTY1MDc3MjEsIDAuMzUxOTkzNDcxMzg0MDQ4LCAwLjg0MjIzMzU5ODIzMjI2OSwgMC40NjY5NDc1MjU3Mzk2NywgCjAuODQxMDcyNzM4MTcwNjI0LCAwLjQ5NzQ0MjkwMTEzNDQ5MSwgMC40MjEzMTI4Mzg3OTI4MDEsIDAuNjAwNzg0ODM4MTk5NjE1LCAKMC40NzI2NTM2MjczOTU2MywgMC40MzM5NDI5MTQwMDkwOTQsIDAuMzY3NTAyNzE5MTYzODk1LCAwLjY3NTI1NzU2MzU5MTAwMywgCjAuMzQ4ODA4NjQ2MjAyMDg3LCAwLjQ5MTkwMDk1MDY3MDI0MiksIGxvID0gYygwLjM2Mzc4ODc4MzU1MDI2MiwgCjAuMzM4NzE3MzExNjIwNzEyLCAwLjI3NTYxMjcxMTkwNjQzMywgMC4yNDg0ODQ5NTQyMzc5MzgsIDAuMjQ1MjA4NzU1MTM1NTM2LCAKMC4zMDA3NTM2MjMyNDcxNDcsIDAuNTQ3MDQ0NTE1NjA5NzQxLCAwLjI4MzY1NzMxMjM5MzE4OCwgMC40NDk3OTcwOTM4NjgyNTYsIAowLjI5Mjc2OTQzMjA2Nzg3MSwgMC4xODUyNDkwNzUyOTM1NDEsIDAuMzA1ODc4MDEzMzcyNDIxLCAwLjQwMDc0MDM1NTI1MzIyLCAKMC4zNzA4MTE4Nzk2MzQ4NTcsIDAuMTgyMTE3NTk2MjY4NjU0LCAwLjM4MDQ0MTcyNTI1NDA1OSwgMC4zMDQ2OTU2MzYwMzQwMTIsIAowLjYyMDIxMTQyMjQ0MzM5LCAwLjE0NzE5MjgwNjAwNTQ3OCwgMC4zMzAxNjE5MjkxMzA1NTQsIDAuNjE5OTM4NzMxMTkzNTQyLCAKMC40MjE1MjQ4NTI1MTQyNjcsIDAuNTgyNTUyNDkyNjE4NTYxLCAwLjI4Nzg2MjMwMDg3MjgwMywgMC4zODEwMDc0MzI5Mzc2MjIsIAowLjM1ODc3OTE5MTk3MDgyNSwgMC40NDAyMTExMTcyNjc2MDksIDAuMzU4NjQyNzU2OTM4OTM0LCAwLjMxNDkzOTU4ODMwODMzNCwgCjAuNTMxOTMwMDI5MzkyMjQyLCAwLjI4MTQ0Mjg4MDYzMDQ5MywgMC40MzM5OTA1OTc3MjQ5MTUpKSwgZGF0YWxhYmVsID0gIiIsIHRpbWUuc3RhbXAgPSAiMTUgSmFuIDIwMTQgMTQ6MDgiLCAuTmFtZXMgPSBjKCJzdHVkeSIsIAoiYXV0aG9yIiwgInllYXIiLCAidGdyb3VwIiwgIm51bSIsICJkZW5vbSIsICJmcmFjIiwgInNlIiwgInVwIiwgCiJsbyIpLCBmb3JtYXRzID0gYygiJTIwcyIsICIlMTRzIiwgIiU4LjBnIiwgIiUyMi4wZyIsICIlOS4wZyIsIAoiJTkuMGciLCAiJTkuMGciLCAiJTkuMGciLCAiJTkuMGciLCAiJTkuMGciKSwgdHlwZXMgPSBjKDIwTCwgCjE0TCwgMjUyTCwgMjUxTCwgMjU0TCwgMjU0TCwgMjU0TCwgMjU0TCwgMjU0TCwgMjU0TCksIHZhbC5sYWJlbHMgPSBjKCIiLCAKIiIsICIiLCAidGdyb3VwIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiksIHZhci5sYWJlbHMgPSBjKCIiLCAKIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICJVcHBlciBsaW1pdCIsICJMb3dlciBsaW1pdCIpLCByb3cubmFtZXMgPSBjKCIxIiwgCiIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiMTAiLCAiMTEiLCAiMTIiLCAiMTMiLCAKIjE0IiwgIjE1IiwgIjE2IiwgIjE3IiwgIjE4IiwgIjE5IiwgIjIwIiwgIjIxIiwgIjIyIiwgIjIzIiwgIjI0IiwgCiIyNSIsICIyNiIsICIyNyIsICIyOCIsICIyOSIsICIzMCIsICIzMSIsICIzMiIpLCB2ZXJzaW9uID0gMTJMLCBsYWJlbC50YWJsZSA9IHN0cnVjdHVyZShsaXN0KAogICAgdGdyb3VwID0gc3RydWN0dXJlKGMoMUwsIDJMLCAzTCwgMTFMLCAxMkwsIDEzTCwgMTRMLCAxNUwsIAogICAgMTZMKSwgLk5hbWVzID0gYygiQVNDVVMiLCAiTFNJTCIsICJBU0NVUyBvciBTSUwiLCAiQVNDLVIiLCAKICAgICJBU0MtUi9VUyIsICJBU0MtVVMiLCAiQVNDLUgiLCAiQUdDL0FHVVMiLCAiQk9SREVSTElORSBEWVNLQVJZT1NJUyIKICAgICkpKSwgLk5hbWVzID0gInRncm91cCIpLCBjbGFzcyA9ICJkYXRhLmZyYW1lIikKYGBgCgpgYGB7cn0KaGVhZChkZikKYGBgCgpgYGB7cn0KZGYgPC0gZGYgJT4lIAogIHNlbGVjdChzdHVkeTpkZW5vbSkKYGBgCgoKYGBge3J9CigKICBtdHByb3AgPC0KICAgIG1ldGE6Om1ldGFwcm9wKAogICAgICBldmVudCA9IG51bSwKICAgICAgbiA9IGRlbm9tLAogICAgICBzdHVkbGFiID0gc3R1ZHksCiAgICAgIGJ5dmFyID0gZHJvcGxldmVscyh0Z3JvdXApLAogICAgICBkYXRhID0gZGYKICAgICkKKQpgYGAKYGBge3J9Cm1ldGE6OmZvcmVzdChtdHByb3ApCmBgYAoKCiMgU2Vjb25kIHRyeQpgYGB7cn0KZGF0YShPbGtpbjk1KQpPbGtpbjk1ICU+JSAKICBzZWxlY3QoYXV0aG9yOm4uZSkKCmBgYAoKYGBge3J9CihtZXRhIDwtIG1ldGE6Om1ldGFwcm9wKGV2ZW50ID0gZXZlbnQuZSwKICAgICAgICAgICAgIG4gPSBuLmUsIHN0dWRsYWIgPSBwYXN0ZShhdXRob3IsIHllYXIpLAogICAgICAgICAgICAgYnl2YXIgPSBjdXQoeWVhciwgMyksCiAgICAgICAgICAgICBkYXRhID0gT2xraW45NVsxOjIwLF0pKQoKYGBgCgpgYGB7cn0KZm9yZXN0KG1ldGEsIGNvbWIuZml4ZWQgPSBGQUxTRSwgCiAgIGJ5bGFiID0gIlllYXJzIHN1Ymdyb3VwIiwgCiAgIGhldGxhYiA9ICIiLCBwcmludC50YXUyID0gRkFMU0UsCiAgIGxheW91dCA9ICJSZXZNYW4iLAogICBjb2wuc3F1YXJlID0gImJsYWNrIiwKICAgY29sLnNxdWFyZS5saW5lcyA9ICJibGFjayIpCmBgYAoK