0.1 Data Description

First few records in the data set
X Date Day HighTemp LowTemp Precipitation WilliamsburgBridge Total
1 42826 42826 46.0 37 0.00 1915 5397
2 42827 42827 62.1 41 0.00 4207 13033
3 42828 42828 63.0 50 0.03 5178 16325
4 42829 42829 51.1 46 1.18 2279 6581
5 42830 42830 63.0 46 0.00 5711 17991
6 42831 42831 48.9 41 0.73 1739 4896

0.2 Research Question

In this assignment we are looking at how many cyclists are entering and leaving Queens, Manhattan, and Brooklyn via the East River Bridges on a 24 hour basis. We are specifically looking at the Williamsburg Bridge.

0.3 Poisson Regression on Bike Count

We first build a Poisson frequency regression model.

The Poisson regression model for the Williamsburg Bridge counts of bikes versus predictor variables.
Estimate Std. Error z value Pr(>|z|)
(Intercept) 92.5585282 15.8473148 5.840644 0e+00
Date -0.0019898 0.0003702 -5.375607 1e-07
HighTemp 0.0124176 0.0005280 23.516474 0e+00
LowTemp 0.0090757 0.0007776 11.671588 0e+00
Precipitation -0.8475197 0.0153209 -55.317891 0e+00

The above inferential table about the regression coefficients indicates all variables are significant. This means, if we look at Williamsburg bridge bike count across all predictor variables, there is statistical evidence to support the potential discrepancy across the variables.

0.4 Poisson Regression on Rates

The following model assesses the potential relationship between Williamsburg bridge bike count rates of people entering and leaving the bridge. This is the primary interest of the model.

Poisson regression on the rate of the the Williamsburg Bridge bikers leaving and entering from this bridge.
Estimate Std. Error z value Pr(>|z|)
(Intercept) 16.2190289 15.7531962 1.029571 0.3032116
Date -0.0004033 0.0003679 -1.096057 0.2730539
HighTemp -0.0016855 0.0005412 -3.114497 0.0018426
LowTemp 0.0010453 0.0007805 1.339286 0.1804777
Precipitation 0.0473201 0.0147457 3.209079 0.0013316

The above table indicates that the log of Williamsburg bridge rates is not identical across date, temps, and precipitation. The log rates of precipitation were higher than all the other predictor variables. LowTemp has the lowest log rate. The regression coefficients represent the change of log rate between the count of bikes passing on the bridge each day.

FALSE 
FALSE Call:
FALSE glm(formula = WilliamsburgBridge ~ Date + HighTemp + LowTemp + 
FALSE     Precipitation, family = quasipoisson, data = bikes, offset = log(Total))
FALSE 
FALSE Coefficients:
FALSE                 Estimate Std. Error t value Pr(>|t|)
FALSE (Intercept)   16.2190289 31.5869867   0.513    0.612
FALSE Date          -0.0004033  0.0007377  -0.547    0.589
FALSE HighTemp      -0.0016855  0.0010851  -1.553    0.133
FALSE LowTemp        0.0010453  0.0015650   0.668    0.510
FALSE Precipitation  0.0473201  0.0295668   1.600    0.122
FALSE 
FALSE (Dispersion parameter for quasipoisson family taken to be 4.02049)
FALSE 
FALSE     Null deviance: 151.051  on 29  degrees of freedom
FALSE Residual deviance:  99.642  on 25  degrees of freedom
FALSE AIC: NA
FALSE 
FALSE Number of Fisher Scoring iterations: 3

0.5 Discussions and Conclusions

The regression model based on the bike count is appropriate since the information on the total count is an important variable. Including the temperature of the days will decrease the significance of the other variables so we will not put the temperature variables in the final model. See the following output of the fitted Poisson regression model of count adjusted by total count.

The Poisson regression model for the counts of bikers onnthe Williamsburg Bridge cases versus the date, precipitation, and total biker count.
Estimate Std. Error z value Pr(>|z|)
(Intercept) 21.9017937 15.8197149 1.3844620 0.1662170
Date -0.0005253 0.0003692 -1.4225474 0.1548674
HighTemp -0.0009698 0.0005706 -1.6995988 0.0892064
LowTemp 0.0014775 0.0007879 1.8753115 0.0607499
Precipitation -0.0014458 0.0193091 -0.0748743 0.9403148
log(Total) 0.9459994 0.0137645 68.7272667 0.0000000

We can see from the above output the adding total count to the model changes the p-values associated with all predictor variables. There is a strong correlation between the total bike count and the Williamsburg bridge count. On the other hand, adding the total has increased some of the other variables p-values like precipitation.

Looking at the final model, it would be best to take precipitation out since it has a very high p-value and could be brining other variables p-values up with it.

This is a small data set with limited information. All conclusions in this report are only based on the given data set.

LS0tCnRpdGxlOiAiV2VlayA5IEhXIFNUQSAzMjEiCmF1dGhvcjogIlJ5YW4gTGVibyIKZGF0ZTogIjIwMjQtMTAtMjIiCm91dHB1dDogCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogeWVzCiAgICB0b2NfZGVwdGg6IDQKICAgIHRvY19mbG9hdDogeWVzCiAgICBmaWdfd2lkdGg6IDQKICAgIGZpZ19jYXB0aW9uOiB5ZXMKICAgIG51bWJlcl9zZWN0aW9uczogeWVzCiAgICB0b2NfY29sbGFwc2VkOiB5ZXMKICAgIGNvZGVfZm9sZGluZzogaGlkZQogICAgY29kZV9kb3dubG9hZDogeWVzCiAgICBzbW9vdGhfc2Nyb2xsOiB5ZXMKICAgIHRoZW1lOiBsdW1lbgogIHdvcmRfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwogICAgdG9jX2RlcHRoOiA0CiAgICBmaWdfY2FwdGlvbjogeWVzCiAgICBrZWVwX21kOiB5ZXMKICBwZGZfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwogICAgdG9jX2RlcHRoOiA0CiAgICBmaWdfY2FwdGlvbjogeWVzCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcwogICAgZmlnX3dpZHRoOiAzCiAgICBmaWdfaGVpZ2h0OiAzCmVkaXRvcl9vcHRpb25zOgogIGNodW5rX291dHB1dF90eXBlOiBpbmxpbmUKc2x3YXlzX2FsbG93X2h0bWw6IHRydWUKLS0tCgpgYGB7PWh0bWx9Cgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoKLyogQ2FzY2FkaW5nIFN0eWxlIFNoZWV0cyAoQ1NTKSBpcyBhIHN0eWxlc2hlZXQgbGFuZ3VhZ2UgdXNlZCB0byBkZXNjcmliZSB0aGUgcHJlc2VudGF0aW9uIG9mIGEgZG9jdW1lbnQgd3JpdHRlbiBpbiBIVE1MIG9yIFhNTC4gaXQgaXMgYSBzaW1wbGUgbWVjaGFuaXNtIGZvciBhZGRpbmcgc3R5bGUgKGUuZy4sIGZvbnRzLCBjb2xvcnMsIHNwYWNpbmcpIHRvIFdlYiBkb2N1bWVudHMuICovCgpoMS50aXRsZSB7ICAvKiBUaXRsZSAtIGZvbnQgc3BlY2lmaWNhdGlvbnMgb2YgdGhlIHJlcG9ydCB0aXRsZSAqLwogIGZvbnQtc2l6ZTogMjRweDsKICBjb2xvcjogRGFya1JlZDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC1mYW1pbHk6ICJHaWxsIFNhbnMiLCBzYW5zLXNlcmlmOwp9Cmg0LmF1dGhvciB7IC8qIEhlYWRlciA0IC0gZm9udCBzcGVjaWZpY2F0aW9ucyBmb3IgYXV0aG9ycyAgKi8KICBmb250LXNpemU6IDIwcHg7CiAgZm9udC1mYW1pbHk6IHN5c3RlbS11aTsKICBjb2xvcjogRGFya1JlZDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KaDQuZGF0ZSB7IC8qIEhlYWRlciA0IC0gZm9udCBzcGVjaWZpY2F0aW9ucyBmb3IgdGhlIGRhdGUgICovCiAgZm9udC1zaXplOiAxOHB4OwogIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWk7CiAgY29sb3I6IERhcmtCbHVlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQpoMSB7IC8qIEhlYWRlciAxIC0gZm9udCBzcGVjaWZpY2F0aW9ucyBmb3IgbGV2ZWwgMSBzZWN0aW9uIHRpdGxlICAqLwogICAgZm9udC1zaXplOiAyMnB4OwogICAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7CiAgICBjb2xvcjogbmF2eTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQpoMiB7IC8qIEhlYWRlciAyIC0gZm9udCBzcGVjaWZpY2F0aW9ucyBmb3IgbGV2ZWwgMiBzZWN0aW9uIHRpdGxlICovCiAgICBmb250LXNpemU6IDIwcHg7CiAgICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsKICAgIGNvbG9yOiBuYXZ5OwogICAgdGV4dC1hbGlnbjogbGVmdDsKfQoKaDMgeyAvKiBIZWFkZXIgMyAtIGZvbnQgc3BlY2lmaWNhdGlvbnMgb2YgbGV2ZWwgMyBzZWN0aW9uIHRpdGxlICAqLwogICAgZm9udC1zaXplOiAxOHB4OwogICAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7CiAgICBjb2xvcjogbmF2eTsKICAgIHRleHQtYWxpZ246IGxlZnQ7Cn0KCmg0IHsgLyogSGVhZGVyIDQgLSBmb250IHNwZWNpZmljYXRpb25zIG9mIGxldmVsIDQgc2VjdGlvbiB0aXRsZSAgKi8KICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOwogICAgY29sb3I6IGRhcmtyZWQ7CiAgICB0ZXh0LWFsaWduOiBsZWZ0Owp9Cgpib2R5IHsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgfQoKLmhpZ2hsaWdodG1lIHsgYmFja2dyb3VuZC1jb2xvcjp5ZWxsb3c7IH0KCnAgeyBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyB9Cgo8L3N0eWxlPgpgYGAKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CiMgRGV0ZWN0LCBpbnN0YWxsLCBhbmQgbG9hZCBwYWNrYWdlcyBpZiBuZWVkZWQuCmlmICghcmVxdWlyZSgia25pdHIiKSkgewogICBpbnN0YWxsLnBhY2thZ2VzKCJrbml0ciIpCiAgIGxpYnJhcnkoa25pdHIpCn0KaWYgKCFyZXF1aXJlKCJsZWFmbGV0IikpIHsKICAgaW5zdGFsbC5wYWNrYWdlcygibGVhZmxldCIpCiAgIGxpYnJhcnkobGVhZmxldCkKfQppZiAoIXJlcXVpcmUoIkVudlN0YXRzIikpIHsKICAgaW5zdGFsbC5wYWNrYWdlcygiRW52U3RhdHMiKQogICBsaWJyYXJ5KEVudlN0YXRzKQp9CmlmICghcmVxdWlyZSgiTUFTUyIpKSB7CiAgIGluc3RhbGwucGFja2FnZXMoIk1BU1MiKQogICBsaWJyYXJ5KE1BU1MpCn0KaWYgKCFyZXF1aXJlKCJwaHl0b29scyIpKSB7CiAgIGluc3RhbGwucGFja2FnZXMoInBoeXRvb2xzIikKICAgbGlicmFyeShwaHl0b29scykKfQppZiAoIXJlcXVpcmUoIm1sYmVuY2giKSkgewogICBpbnN0YWxsLnBhY2thZ2VzKCJtbGJlbmNoIikKICAgbGlicmFyeShtbGJlbmNoKQp9CmlmICghcmVxdWlyZSgicGFuZGVyIikpIHsKICAgaW5zdGFsbC5wYWNrYWdlcygicGFuZGVyIikKICAgbGlicmFyeShwYW5kZXIpCn0KCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gRkFMU0UsICAKICAgICAgICAgICAgICAgICAgIHdhcm5pbmcgPSBGQUxTRSwgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gRkFMU0UsICAKICAgICAgICAgICAgICAgICAgIHJlc3VsdHMgPSBUUlVFLCAgCiAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gRkFMU0UgICAKICAgICAgICAgICAgICAgICAgICAgICkgICAKYGBgCgoKYGBge3J9CmJpa2VzIDwtIHJlYWQuY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vUnlhbkxlYm8vU1RBLTMyMS9yZWZzL2hlYWRzL21haW4vRGF0YSUyMGZpbGVXaWxsaWFtc2J1cmdCcmlkZ2UuY3N2IiwgaGVhZGVyID0gVFJVRSkKYGBgCgojIyBEYXRhIERlc2NyaXB0aW9uCgpgYGB7cn0KZGF0YShiaWtlcykKa2FibGUoaGVhZChiaWtlcyksIGNhcHRpb24gPSAiRmlyc3QgZmV3IHJlY29yZHMgaW4gdGhlIGRhdGEgc2V0IikgCgpgYGAKCgojIyBSZXNlYXJjaCBRdWVzdGlvbgpJbiB0aGlzIGFzc2lnbm1lbnQgd2UgYXJlIGxvb2tpbmcgYXQgaG93IG1hbnkgY3ljbGlzdHMgYXJlIGVudGVyaW5nIGFuZCBsZWF2aW5nIFF1ZWVucywgTWFuaGF0dGFuLCBhbmQgQnJvb2tseW4gdmlhIHRoZSBFYXN0IFJpdmVyIEJyaWRnZXMgb24gYSAyNCBob3VyIGJhc2lzLiBXZSBhcmUgc3BlY2lmaWNhbGx5IGxvb2tpbmcgYXQgdGhlIFdpbGxpYW1zYnVyZyBCcmlkZ2UuCgoKIyMgUG9pc3NvbiBSZWdyZXNzaW9uIG9uIEJpa2UgQ291bnQKCldlIGZpcnN0IGJ1aWxkIGEgUG9pc3NvbiBmcmVxdWVuY3kgcmVncmVzc2lvbiBtb2RlbC4KCmBgYHtyfQptb2RlbC5mcmVxIDwtIGdsbShXaWxsaWFtc2J1cmdCcmlkZ2UgfiBEYXRlKyBIaWdoVGVtcCsgTG93VGVtcCsgUHJlY2lwaXRhdGlvbiAsIGZhbWlseSA9IHBvaXNzb24obGluayA9ICJsb2ciKSwgZGF0YSA9IGJpa2VzKQoKcG9pcy5jb3VudC5jb2VmID0gc3VtbWFyeShtb2RlbC5mcmVxKSRjb2VmCmthYmxlKHBvaXMuY291bnQuY29lZiwgY2FwdGlvbiA9ICJUaGUgUG9pc3NvbiByZWdyZXNzaW9uIG1vZGVsIGZvciB0aGUgV2lsbGlhbXNidXJnIEJyaWRnZSBjb3VudHMgb2YgYmlrZXMgdmVyc3VzIHByZWRpY3RvciB2YXJpYWJsZXMuIikKCmBgYAoKVGhlIGFib3ZlIGluZmVyZW50aWFsIHRhYmxlIGFib3V0IHRoZSByZWdyZXNzaW9uIGNvZWZmaWNpZW50cyBpbmRpY2F0ZXMgYWxsIHZhcmlhYmxlcyBhcmUgc2lnbmlmaWNhbnQuIFRoaXMgbWVhbnMsIGlmIHdlIGxvb2sgYXQgV2lsbGlhbXNidXJnIGJyaWRnZSBiaWtlIGNvdW50IGFjcm9zcyBhbGwgcHJlZGljdG9yIHZhcmlhYmxlcywgdGhlcmUgaXMgc3RhdGlzdGljYWwgZXZpZGVuY2UgdG8gc3VwcG9ydCB0aGUgcG90ZW50aWFsIGRpc2NyZXBhbmN5IGFjcm9zcyB0aGUgdmFyaWFibGVzLiAKCgojIyBQb2lzc29uIFJlZ3Jlc3Npb24gb24gUmF0ZXMKClRoZSBmb2xsb3dpbmcgbW9kZWwgYXNzZXNzZXMgdGhlIHBvdGVudGlhbCByZWxhdGlvbnNoaXAgYmV0d2VlbiBXaWxsaWFtc2J1cmcgYnJpZGdlIGJpa2UgY291bnQgcmF0ZXMgb2YgcGVvcGxlIGVudGVyaW5nIGFuZCBsZWF2aW5nIHRoZSBicmlkZ2UuIFRoaXMgaXMgdGhlIHByaW1hcnkgaW50ZXJlc3Qgb2YgdGhlIG1vZGVsLgoKYGBge3J9Cm1vZGVsLnJhdGVzIDwtIGdsbShXaWxsaWFtc2J1cmdCcmlkZ2UgfiBEYXRlKyBIaWdoVGVtcCsgTG93VGVtcCsgUHJlY2lwaXRhdGlvbiwgb2Zmc2V0ID0gbG9nKFRvdGFsKSwgCiAgICAgICAgICAgICAgICAgICBmYW1pbHkgPSBwb2lzc29uKGxpbmsgPSAibG9nIiksIGRhdGEgPSBiaWtlcykKa2FibGUoc3VtbWFyeShtb2RlbC5yYXRlcykkY29lZiwgY2FwdGlvbiA9ICJQb2lzc29uIHJlZ3Jlc3Npb24gb24gdGhlIHJhdGUgb2YgdGhlIAogICAgICB0aGUgV2lsbGlhbXNidXJnIEJyaWRnZSBiaWtlcnMgbGVhdmluZyBhbmQgZW50ZXJpbmcgZnJvbSB0aGlzIGJyaWRnZS4iKQpgYGAKClRoZSBhYm92ZSB0YWJsZSBpbmRpY2F0ZXMgdGhhdCB0aGUgbG9nIG9mIFdpbGxpYW1zYnVyZyBicmlkZ2UgcmF0ZXMgaXMgbm90IGlkZW50aWNhbCBhY3Jvc3MgZGF0ZSwgdGVtcHMsIGFuZCBwcmVjaXBpdGF0aW9uLiBUaGUgbG9nIHJhdGVzIG9mIHByZWNpcGl0YXRpb24gd2VyZSBoaWdoZXIgdGhhbiBhbGwgdGhlIG90aGVyIHByZWRpY3RvciB2YXJpYWJsZXMuIExvd1RlbXAgaGFzIHRoZSBsb3dlc3QgbG9nIHJhdGUuIFRoZSByZWdyZXNzaW9uIGNvZWZmaWNpZW50cyByZXByZXNlbnQgdGhlIGNoYW5nZSBvZiBsb2cgcmF0ZSBiZXR3ZWVuIHRoZSBjb3VudCBvZiBiaWtlcyBwYXNzaW5nIG9uIHRoZSBicmlkZ2UgZWFjaCBkYXkuCgpgYGB7cn0KbW9kZWwucmF0ZXMgPC0gZ2xtKFdpbGxpYW1zYnVyZ0JyaWRnZSB+IERhdGUrIEhpZ2hUZW1wKyBMb3dUZW1wKyBQcmVjaXBpdGF0aW9uLCBvZmZzZXQgPSBsb2coVG90YWwpLCAKICAgICAgICAgICAgICAgICAgIGZhbWlseSA9IHF1YXNpcG9pc3NvbiwgZGF0YSA9IGJpa2VzKQpzdW1tYXJ5KG1vZGVsLnJhdGVzKQoKYGBgCgojIyBEaXNjdXNzaW9ucyBhbmQgQ29uY2x1c2lvbnMKClRoZSByZWdyZXNzaW9uIG1vZGVsIGJhc2VkIG9uIHRoZSBiaWtlIGNvdW50IGlzIGFwcHJvcHJpYXRlIHNpbmNlIHRoZSBpbmZvcm1hdGlvbiBvbiB0aGUgdG90YWwgY291bnQgaXMgYW4gaW1wb3J0YW50IHZhcmlhYmxlLiBJbmNsdWRpbmcgdGhlIHRlbXBlcmF0dXJlIG9mIHRoZSBkYXlzIHdpbGwgZGVjcmVhc2UgdGhlIHNpZ25pZmljYW5jZSBvZiB0aGUgb3RoZXIgdmFyaWFibGVzIHNvIHdlIHdpbGwgbm90IHB1dCB0aGUgdGVtcGVyYXR1cmUgdmFyaWFibGVzIGluIHRoZSBmaW5hbCBtb2RlbC4gU2VlIHRoZSBmb2xsb3dpbmcgb3V0cHV0IG9mIHRoZSBmaXR0ZWQgUG9pc3NvbiByZWdyZXNzaW9uIG1vZGVsIG9mIGNvdW50IGFkanVzdGVkIGJ5IHRvdGFsIGNvdW50LgoKYGBge3J9Cm1vZGVsLmZyZXEucG9wIDwtIGdsbShXaWxsaWFtc2J1cmdCcmlkZ2UgfiBEYXRlK0hpZ2hUZW1wKyBMb3dUZW1wKyBQcmVjaXBpdGF0aW9uKyBsb2coVG90YWwpLCBmYW1pbHkgPSBwb2lzc29uKGxpbmsgPSAibG9nIiksIGRhdGEgPSBiaWtlcykKIyMKcG9pcy5jb3VudC5jb2VmLnBvcCA9IHN1bW1hcnkobW9kZWwuZnJlcS5wb3ApJGNvZWYKa2FibGUocG9pcy5jb3VudC5jb2VmLnBvcCwgY2FwdGlvbiA9ICJUaGUgUG9pc3NvbiByZWdyZXNzaW9uIG1vZGVsIGZvciAKICAgICAgICAgdGhlIGNvdW50cyBvZiBiaWtlcnMgb25udGhlIFdpbGxpYW1zYnVyZyBCcmlkZ2UgY2FzZXMgdmVyc3VzIHRoZSBkYXRlLAogICAgICAgICBwcmVjaXBpdGF0aW9uLCBhbmQgdG90YWwgYmlrZXIgY291bnQuIikKYGBgCgpXZSBjYW4gc2VlIGZyb20gdGhlIGFib3ZlIG91dHB1dCB0aGUgYWRkaW5nIHRvdGFsIGNvdW50IHRvIHRoZSBtb2RlbCBjaGFuZ2VzIHRoZSBwLXZhbHVlcyBhc3NvY2lhdGVkIHdpdGggYWxsIHByZWRpY3RvciB2YXJpYWJsZXMuIFRoZXJlIGlzIGEgc3Ryb25nIGNvcnJlbGF0aW9uIGJldHdlZW4gdGhlIHRvdGFsIGJpa2UgY291bnQgYW5kIHRoZSBXaWxsaWFtc2J1cmcgYnJpZGdlIGNvdW50LiBPbiB0aGUgb3RoZXIgaGFuZCwgYWRkaW5nIHRoZSB0b3RhbCBoYXMgaW5jcmVhc2VkIHNvbWUgb2YgdGhlIG90aGVyIHZhcmlhYmxlcyBwLXZhbHVlcyBsaWtlIHByZWNpcGl0YXRpb24uIAoKTG9va2luZyBhdCB0aGUgZmluYWwgbW9kZWwsIGl0IHdvdWxkIGJlIGJlc3QgdG8gdGFrZSBwcmVjaXBpdGF0aW9uIG91dCBzaW5jZSBpdCBoYXMgYSB2ZXJ5IGhpZ2ggcC12YWx1ZSBhbmQgY291bGQgYmUgYnJpbmluZyBvdGhlciB2YXJpYWJsZXMgcC12YWx1ZXMgdXAgd2l0aCBpdC4KClRoaXMgaXMgYSBzbWFsbCBkYXRhIHNldCB3aXRoIGxpbWl0ZWQgaW5mb3JtYXRpb24uIEFsbCBjb25jbHVzaW9ucyBpbiB0aGlzIHJlcG9ydCBhcmUgb25seSBiYXNlZCBvbiB0aGUgZ2l2ZW4gZGF0YSBzZXQuCgo=