ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggNmE3Yzg3OS4uZjIwMTA0NSAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTYgKzEsMTUgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDA1MDgzMCBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDUwOTMwIG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA1MDgzMDogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gQSBsb3QgbW9yZSB0aGVtaW5nIHN1cHBvcnQuCi0gICAgICAgIC0gTWFueSBpbXByb3ZlbWVudHMgdG8gdGhlIHZhcmlvdXMgY3J5cHRvIGRsbHMuCi0gICAgICAgIC0gTW9yZSBMREFQIHN1cHBvcnQuCi0gICAgICAgIC0gQmVnaW5uaW5ncyBvZiBhbiBNU1hNTCBpbXBsZW1lbnRhdGlvbi4KLSAgICAgICAgLSBCZXR0ZXIgTVNIVE1MIHN1cHBvcnQuCi0gICAgICAgIC0gRW11bGF0ZWQgdmVyc2lvbiBub3cgc2V0IHRvIFdpbmRvd3MgMjAwMCBieSBkZWZhdWx0LgotICAgICAgICAtIERpcmVjdDNEIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMuCitXSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA1MDkzMDogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCisgICAgICAgIC0gSm95c3RpY2sgZm9yY2UgZmVlZGJhY2sgc3VwcG9ydC4KKyAgICAgICAgLSBCZWdpbm5pbmdzIG9mIFdpbjY0IHN1cHBvcnQuCisgICAgICAgIC0gTWFueSBNU0kgZml4ZXMgYW5kIGNsZWFudXBzLgorICAgICAgICAtIEZvbnQgbGlua2luZyBzdXBwb3J0LgorICAgICAgICAtIFNldmVyYWwgT0xFIGZpeGVzLgorICAgICAgICAtIFNvbWUgZml4ZXMgZm9yIE1hY09TL3g4Ni4KICAgICAgICAgLSBMb3RzIG9mIGJ1ZyBmaXhlcy4KIAogU2VlIHRoZSBSRUFETUUgZmlsZSBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zLgpAQCAtMTksOCArMTgsOCBAQAogdGhlIHJlbGVhc2UgaXMgYXZhaWxhYmxlIGF0IHRoZSBmdHAgc2l0ZXMuICBUaGUgc291cmNlcyB3aWxsIGJlIGF2YWlsYWJsZQogZnJvbSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKIAotICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwNTA4MzAudGFyLmd6Ci0gIGh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2luZS9XaW5lLTIwMDUwODMwLnRhci5negorICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwNTA5MzAudGFyLmd6CisgIGh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2luZS9XaW5lLTIwMDUwOTMwLnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgb3RoZXIgc2l0ZSB0aGF0IG1pcnJvcnMgaWJpYmxpby5vcmcuCiBUaGVzZSBsb2NhdGlvbnMgYWxzbyBob2xkIHByZS1idWlsdCBkb2N1bWVudGF0aW9uIHBhY2thZ2VzIGluIHZhcmlvdXMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkNTg3NzE3Li5kZDM0MzgxIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsMjczNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwNS0wOS0zMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jcnlwdDMyL2VuY29kZS5jLCBkbGxzL2NyeXB0MzIvdGVzdHMvZW5jb2RlLmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCU1ha2UgQ3J5cHRJbXBvcnQvRXhwb3J0UHVibGljS2V5SW5mb0V4IGJlaGF2ZSB0aGUgd2F5IE1TRE4gZGVzY3JpYmVzCisJdGhlbSwgYW5kIGEgY291cGxlIG9mIHRlc3RzLgorCisJKiBpbmNsdWRlL3dpbmNyeXB0Lmg6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlBZGQgZGVmaW5lcyBuZWVkZWQgZm9yIGluc3RhbGxhYmxlIE9JRCBmdW5jdGlvbnMuCisKKwkqIGluY2x1ZGUvZHBsYXk4Lmg6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgbWlzc2luZyBlcnJvciBjb2RlLgorCisJKiBkbGxzL3dpbmVkb3MvZG9zdm0uYzogR2VyYWxkIFBmZWlmZXIgPGdlcmFsZEBwZmVpZmVyLmNvbT4KKwlXZSBvbmx5IG5lZWQgdGhlIHJlbGF5IGRlYnVnIGNoYW5uZWwgb24gTVpfU1VQUE9SVEVEIHBsYXRmb3Jtcy4KKworCSogZGxscy91cmxtb24vc2VjX21nci5jLCBkbGxzL3VybG1vbi90ZXN0cy9taXNjLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBHZXRab25lQWN0aW9uUG9saWN5IGltcGxlbWVudGF0aW9uLgorCisJKiBwcm9ncmFtcy91bmluc3RhbGxlci9GaS5yYywgcHJvZ3JhbXMvdW5pbnN0YWxsZXIvcnNyYy5yYzoKKwlLaW1tbyBNeWxseXZpcnRhIDxraW1tby5teWxseXZpcnRhQGdtYWlsLmNvbT4KKwlGaW5uaXNoIHJlc291cmNlcyBmb3IgdW5pbnN0YWxsZXIuCisKKwkqIGRsbHMvbnRkbGwvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9udGRsbC90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbnRkbGwvdGVzdHMvb20uYzoKKwlWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlBZGQgYSBmZXcgdGVzdHMgZm9yIG9iamVjdCBtYW5hZ2VyLgorCisJKiBkbGxzL2tlcm5lbC9zeW5jLmMsIGRsbHMva2VybmVsL3ZpcnR1YWwuYzoKKwlWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlBZGQgYnJhY2tldHMgYXJvdW5kIChhKT9iOmMgY29uc3RydWN0LgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvaGVscGVycy5jLCBkbGxzL21zaS9tc2kuYywKKwkgIGRsbHMvbXNpL21zaXByaXYuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUmVuYW1lIEFDVElPTl9Eb1RvcExldmVsSU5TVEFMTCB0byBNU0lfSW5zdGFsbFBhY2thZ2UsIHJlbW92ZSBpdHMKKwlkdXBsaWNhdGUgNHRoIHBhcmFtZXRlci4KKwlTcGxpdCB0aGUgY29kZSB0byBjb3B5IGEgcGFja2FnZSBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24uCisKKzIwMDUtMDktMjkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLCB0b29scy93aW5lYnVpbGQvbWFpbi5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3BhcnNlci5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmMsCisJICB0b29scy93aW5lYnVpbGQvd2luZWJ1aWxkLm1hbi5pbjoKKwlHZXQgcmlkIG9mIHRoZSBkZWJ1ZyBjaGFubmVscyBzdXBwb3J0LgorCisJKiBkbGxzL3VzZXIvZGVmd25kLmMsIGRsbHMvdXNlci90ZXN0cy93aW4uYzoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAZWRtZWFkZXMubWUudWs+CisJQWx3YXlzIHJldHVybiBNQV9BQ1RJVkFURSBmb3IgV01fTU9VU0VBQ1RJVkFURSBpbiBEZWZXaW5kb3dQcm9jLgorCisJKiBkbGxzL3dpbnNwb29sL2luZm8uYywgZGxscy93bGRhcDMyL2Jlci5jOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUZpeCB3YXJuaW5ncyBpbiA2NGJpdC4KKworCSogZGxscy93aW5pbmV0L2ludGVybmV0LmM6IERlbmlzIEx1a2lhbm92IDxkZW5pc0B2b3hlbHNvZnQuY29tPgorCVVzZSBJQ1VfQlJPV1NFUl9NT0RFIGluIEludGVybmV0Q2Fub25pY2FsaXplVXJsLgorCisJKiBpbmNsdWRlL3dpbmUvZGVidWcuaCwgbGlicy93aW5lL2RlYnVnLmMsIGxpYnMvd2luZS93aW5lLmRlZiwKKwkgIGxpYnMvd2luZS93aW5lLm1hcDoKKwlFeHBvcnQgdGhlIGdldF9jaGFubmVsX2ZsYWdzIGZ1bmN0aW9uIGF2b2lkIHdhcm5pbmdzIHdoZW4gcGFzc2luZyBhCisJTlVMTCBmb3JtYXQgdG8gd2luZV9kYmdfbG9nLgorCVJlbW92ZWQgYSBmZXcgbm8gbG9uZ2VyIHVzZWQgZnVuY3Rpb25zLgorCisJKiBkbGxzL21zaS9kaWFsb2cuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUF2b2lkIFVwZGF0ZVdpbmRvdywgaXQgY2F1c2VzIHRyb3VibGUgd2l0aCBXU19FWF9UUkFOU1BBUkVOVC4KKworCSogZGxscy93aW5lZDNkL2RldmljZS5jOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJRG9uJ3QgZGVmaW5lIHNvbWUgZnVuY3Rpb25zL3ZhcmlhYmxlcyBpZiB0aGV5IHdvbid0IGJlIHVzZWQgYWZ0ZXIgaW4KKwl3aW5lZDNkLgorCisJKiB0b29scy93aW5lbWFrZXI6IFJlbW92ZWQgcnVsZXMgZm9yIC5kYmcuYyBmaWxlcy4KKworCSogZGxscy9hY3RpdmVkcy8uY3ZzaWdub3JlLCBkbGxzL2FkdmFwaTMyLy5jdnNpZ25vcmUsCisJICBkbGxzL2FkdnBhY2svLmN2c2lnbm9yZSwgZGxscy9hbXN0cmVhbS8uY3ZzaWdub3JlLAorCSAgZGxscy9hdGwvLmN2c2lnbm9yZSwgZGxscy9hdmljYXAzMi8uY3ZzaWdub3JlLAorCSAgZGxscy9hdmlmaWwzMi8uY3ZzaWdub3JlLCBkbGxzL2NhYmluZXQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvY2FwaTIwMzIvLmN2c2lnbm9yZSwgZGxscy9jYXJkcy8uY3ZzaWdub3JlLAorCSAgZGxscy9jZmdtZ3IzMi8uY3ZzaWdub3JlLCBkbGxzL2NvbWNhdC8uY3ZzaWdub3JlLAorCSAgZGxscy9jb21jdGwzMi8uY3ZzaWdub3JlLCBkbGxzL2NvbW1kbGcvLmN2c2lnbm9yZSwKKwkgIGRsbHMvY3J0ZGxsLy5jdnNpZ25vcmUsIGRsbHMvY3J5cHQzMi8uY3ZzaWdub3JlLAorCSAgZGxscy9jcnlwdGRsbC8uY3ZzaWdub3JlLCBkbGxzL2N0bDNkLy5jdnNpZ25vcmUsCisJICBkbGxzL2QzZDgvLmN2c2lnbm9yZSwgZGxscy9kM2Q5Ly5jdnNpZ25vcmUsIGRsbHMvZDNkaW0vLmN2c2lnbm9yZSwKKwkgIGRsbHMvZDNkcm0vLmN2c2lnbm9yZSwgZGxscy9kM2R4OC8uY3ZzaWdub3JlLCBkbGxzL2QzZHhvZi8uY3ZzaWdub3JlLAorCSAgZGxscy9kYmdoZWxwLy5jdnNpZ25vcmUsIGRsbHMvZGNpbWFuMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZGRyYXcvLmN2c2lnbm9yZSwgZGxscy9kZXZlbnVtLy5jdnNpZ25vcmUsCisJICBkbGxzL2RpbnB1dC8uY3ZzaWdub3JlLCBkbGxzL2RpbnB1dDgvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZG1iYW5kLy5jdnNpZ25vcmUsIGRsbHMvZG1jb21wb3MvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZG1pbWUvLmN2c2lnbm9yZSwgZGxscy9kbWxvYWRlci8uY3ZzaWdub3JlLAorCSAgZGxscy9kbXNjcmlwdC8uY3ZzaWdub3JlLCBkbGxzL2Rtc3R5bGUvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZG1zeW50aC8uY3ZzaWdub3JlLCBkbGxzL2RtdXNpYy8uY3ZzaWdub3JlLAorCSAgZGxscy9kbXVzaWMzMi8uY3ZzaWdub3JlLCBkbGxzL2RwbGF5Ly5jdnNpZ25vcmUsCisJICBkbGxzL2RwbGF5eC8uY3ZzaWdub3JlLCBkbGxzL2RwbmV0Ly5jdnNpZ25vcmUsCisJICBkbGxzL2RwbmhwYXN0Ly5jdnNpZ25vcmUsIGRsbHMvZHNvdW5kLy5jdnNpZ25vcmUsCisJICBkbGxzL2Rzd2F2ZS8uY3ZzaWdub3JlLCBkbGxzL2R4ZGlhZ24vLmN2c2lnbm9yZSwKKwkgIGRsbHMvZHhlcnI4Ly5jdnNpZ25vcmUsIGRsbHMvZHhlcnI5Ly5jdnNpZ25vcmUsIGRsbHMvZ2RpLy5jdnNpZ25vcmUsCisJICBkbGxzL2dsdTMyLy5jdnNpZ25vcmUsIGRsbHMvZ2x1dDMyLy5jdnNpZ25vcmUsCisJICBkbGxzL2hoY3RybC5vY3gvLmN2c2lnbm9yZSwgZGxscy9pY2N2aWQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvaWNtcC8uY3ZzaWdub3JlLCBkbGxzL2lmc21nci52eGQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvaW1hZ2VobHAvLmN2c2lnbm9yZSwgZGxscy9pbW0zMi8uY3ZzaWdub3JlLAorCSAgZGxscy9pcGhscGFwaS8uY3ZzaWdub3JlLCBkbGxzL2l0c3MvLmN2c2lnbm9yZSwKKwkgIGRsbHMva2VybmVsLy5jdnNpZ25vcmUsIGRsbHMvbHpleHBhbmQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbWFwaTMyLy5jdnNpZ25vcmUsIGRsbHMvbWNpYXZpMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbWNpY2RhLy5jdnNpZ25vcmUsIGRsbHMvbWNpc2VxLy5jdnNpZ25vcmUsCisJICBkbGxzL21pZGltYXAvLmN2c2lnbm9yZSwgZGxscy9tbGFuZy8uY3ZzaWdub3JlLAorCSAgZGxscy9tbWRldmxkci52eGQvLmN2c2lnbm9yZSwgZGxscy9tb25vZGViZy52eGQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbXByLy5jdnNpZ25vcmUsIGRsbHMvbXNhY20vLmN2c2lnbm9yZSwKKwkgIGRsbHMvbXNhY20vaW1hYWRwMzIvLmN2c2lnbm9yZSwgZGxscy9tc2FjbS9tc2FkcDMyLy5jdnNpZ25vcmUsCisJICBkbGxzL21zYWNtL21zZzcxMS8uY3ZzaWdub3JlLCBkbGxzL21zYWNtL3dpbmVtcDMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbXNjbXMvLmN2c2lnbm9yZSwgZGxscy9tc2Rtby8uY3ZzaWdub3JlLCBkbGxzL21zaHRtbC8uY3ZzaWdub3JlLAorCSAgZGxscy9tc2kvLmN2c2lnbm9yZSwgZGxscy9tc2ltZzMyLy5jdnNpZ25vcmUsIGRsbHMvbXNpc3lzLy5jdnNpZ25vcmUsCisJICBkbGxzL21zbmV0MzIvLmN2c2lnbm9yZSwgZGxscy9tc3JsZTMyLy5jdnNpZ25vcmUsCisJICBkbGxzL21zdmNydC8uY3ZzaWdub3JlLCBkbGxzL21zdmNydDIwLy5jdnNpZ25vcmUsCisJICBkbGxzL21zdmNydDQwLy5jdnNpZ25vcmUsIGRsbHMvbXN2Y3J0ZC8uY3ZzaWdub3JlLAorCSAgZGxscy9tc3ZpZGMzMi8uY3ZzaWdub3JlLCBkbGxzL21zdmlkZW8vLmN2c2lnbm9yZSwKKwkgIGRsbHMvbXN3c29jay8uY3ZzaWdub3JlLCBkbGxzL21zeG1sMy8uY3ZzaWdub3JlLAorCSAgZGxscy9uZXRhcGkzMi8uY3ZzaWdub3JlLCBkbGxzL25ld2Rldi8uY3ZzaWdub3JlLAorCSAgZGxscy9udGRsbC8uY3ZzaWdub3JlLCBkbGxzL29ianNlbC8uY3ZzaWdub3JlLAorCSAgZGxscy9vZGJjMzIvLmN2c2lnbm9yZSwgZGxscy9vZGJjY3AzMi8uY3ZzaWdub3JlLAorCSAgZGxscy9vbGUzMi8uY3ZzaWdub3JlLCBkbGxzL29sZWFjYy8uY3ZzaWdub3JlLAorCSAgZGxscy9vbGVhdXQzMi8uY3ZzaWdub3JlLCBkbGxzL29sZWNsaS8uY3ZzaWdub3JlLAorCSAgZGxscy9vbGVkbGcvLmN2c2lnbm9yZSwgZGxscy9vbGVwcm8zMi8uY3ZzaWdub3JlLAorCSAgZGxscy9vbGVzdnIvLmN2c2lnbm9yZSwgZGxscy9vcGVuZ2wzMi8uY3ZzaWdub3JlLAorCSAgZGxscy9wb3dycHJvZi8uY3ZzaWdub3JlLCBkbGxzL3BzYXBpLy5jdnNpZ25vcmUsCisJICBkbGxzL3FjYXAvLmN2c2lnbm9yZSwgZGxscy9xdWFydHovLmN2c2lnbm9yZSwKKwkgIGRsbHMvcmFzYXBpMzIvLmN2c2lnbm9yZSwgZGxscy9yaWNoZWQyMC8uY3ZzaWdub3JlLAorCSAgZGxscy9yaWNoZWRpdC8uY3ZzaWdub3JlLCBkbGxzL3JwY3J0NC8uY3ZzaWdub3JlLAorCSAgZGxscy9yc2FiYXNlLy5jdnNpZ25vcmUsIGRsbHMvcnNhZW5oLy5jdnNpZ25vcmUsCisJICBkbGxzL3NlY3VyMzIvLmN2c2lnbm9yZSwgZGxscy9zZW5zYXBpLy5jdnNpZ25vcmUsCisJICBkbGxzL3NlcmlhbHVpLy5jdnNpZ25vcmUsIGRsbHMvc2V0dXBhcGkvLmN2c2lnbm9yZSwKKwkgIGRsbHMvc2hkb2N2dy8uY3ZzaWdub3JlLCBkbGxzL3NoZWxsMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvc2hmb2xkZXIvLmN2c2lnbm9yZSwgZGxscy9zaGx3YXBpLy5jdnNpZ25vcmUsCisJICBkbGxzL3NubXBhcGkvLmN2c2lnbm9yZSwgZGxscy9zdGRvbGUyLnRsYi8uY3ZzaWdub3JlLAorCSAgZGxscy9zdGRvbGUzMi50bGIvLmN2c2lnbm9yZSwgZGxscy9zdGkvLmN2c2lnbm9yZSwKKwkgIGRsbHMvdGFwaTMyLy5jdnNpZ25vcmUsIGRsbHMvdHR5ZHJ2Ly5jdnNpZ25vcmUsCisJICBkbGxzL3R3YWluLy5jdnNpZ25vcmUsIGRsbHMvdW5pY293cy8uY3ZzaWdub3JlLCBkbGxzL3VybC8uY3ZzaWdub3JlLAorCSAgZGxscy91cmxtb24vLmN2c2lnbm9yZSwgZGxscy91c2VyLy5jdnNpZ25vcmUsIGRsbHMvdXNwMTAvLmN2c2lnbm9yZSwKKwkgIGRsbHMvdXh0aGVtZS8uY3ZzaWdub3JlLCBkbGxzL3ZkaGNwLnZ4ZC8uY3ZzaWdub3JlLAorCSAgZGxscy92ZG1kYmcvLmN2c2lnbm9yZSwgZGxscy92ZXJzaW9uLy5jdnNpZ25vcmUsCisJICBkbGxzL3ZtbS52eGQvLmN2c2lnbm9yZSwgZGxscy92bmJ0LnZ4ZC8uY3ZzaWdub3JlLAorCSAgZGxscy92bmV0Ymlvcy52eGQvLmN2c2lnbm9yZSwgZGxscy92dGRhcGkudnhkLy5jdnNpZ25vcmUsCisJICBkbGxzL3Z3aW4zMi52eGQvLmN2c2lnbm9yZSwgZGxscy93aW4zMnMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvd2luYXNwaS8uY3ZzaWdub3JlLCBkbGxzL3dpbmVkM2QvLmN2c2lnbm9yZSwKKwkgIGRsbHMvd2luZWRvcy8uY3ZzaWdub3JlLCBkbGxzL3dpbmVwcy8uY3ZzaWdub3JlLAorCSAgZGxscy93aW5pbmV0Ly5jdnNpZ25vcmUsIGRsbHMvd2lubW0vLmN2c2lnbm9yZSwKKwkgIGRsbHMvd2lubW0vam95c3RpY2svLmN2c2lnbm9yZSwgZGxscy93aW5tbS9tY2l3YXZlLy5jdnNpZ25vcmUsCisJICBkbGxzL3dpbm1tL3dhdmVtYXAvLmN2c2lnbm9yZSwgZGxscy93aW5tbS93aW5lYWxzYS8uY3ZzaWdub3JlLAorCSAgZGxscy93aW5tbS93aW5lYXJ0cy8uY3ZzaWdub3JlLCBkbGxzL3dpbm1tL3dpbmVhdWRpb2lvLy5jdnNpZ25vcmUsCisJICBkbGxzL3dpbm1tL3dpbmVlc2QvLmN2c2lnbm9yZSwgZGxscy93aW5tbS93aW5lamFjay8uY3ZzaWdub3JlLAorCSAgZGxscy93aW5tbS93aW5lbmFzLy5jdnNpZ25vcmUsIGRsbHMvd2lubW0vd2luZW9zcy8uY3ZzaWdub3JlLAorCSAgZGxscy93aW5ubHMvLmN2c2lnbm9yZSwgZGxscy93aW5zb2NrLy5jdnNpZ25vcmUsCisJICBkbGxzL3dpbnNwb29sLy5jdnNpZ25vcmUsIGRsbHMvd2ludGFiMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvd2ludHJ1c3QvLmN2c2lnbm9yZSwgZGxscy93bGRhcDMyLy5jdnNpZ25vcmUsCisJICBkbGxzL3dvdzMyLy5jdnNpZ25vcmUsIGRsbHMvd3NvY2szMi8uY3ZzaWdub3JlLAorCSAgZGxscy93dHNhcGkzMi8uY3ZzaWdub3JlLCBkbGxzL3gxMWRydi8uY3ZzaWdub3JlLAorCSAgcHJvZ3JhbXMvY2xvY2svLmN2c2lnbm9yZSwgcHJvZ3JhbXMvY21kbGd0c3QvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL2NvbnRyb2wvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvZXhwYW5kLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy9oaC8uY3ZzaWdub3JlLCBwcm9ncmFtcy9tc2lleGVjLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy9ub3RlcGFkLy5jdnNpZ25vcmUsIHByb2dyYW1zL3Byb2dtYW4vLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3JlZ2VkaXQvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvcmVnc3ZyMzIvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3JwY3NzLy5jdnNpZ25vcmUsIHByb2dyYW1zL3J1bmRsbDMyLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy9zdGFydC8uY3ZzaWdub3JlLCBwcm9ncmFtcy90YXNrbWdyLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy91bmluc3RhbGxlci8uY3ZzaWdub3JlLCBwcm9ncmFtcy92aWV3Ly5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy93Y21kLy5jdnNpZ25vcmUsIHByb2dyYW1zL3dpbmVib290Ly5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy93aW5lYnJvd3Nlci8uY3ZzaWdub3JlLCBwcm9ncmFtcy93aW5lY2ZnLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS8uY3ZzaWdub3JlLCBwcm9ncmFtcy93aW5lZGJnLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy93aW5lZmlsZS8uY3ZzaWdub3JlLCBwcm9ncmFtcy93aW5lbWVudWJ1aWxkZXIvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3dpbmVtaW5lLy5jdnNpZ25vcmUsIHByb2dyYW1zL3dpbmVwYXRoLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy93aW5ldGVzdC8uY3ZzaWdub3JlLCBwcm9ncmFtcy93aW5ldmRtLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy93aW5oZWxwLy5jdnNpZ25vcmUsIHByb2dyYW1zL3dpbnZlci8uY3ZzaWdub3JlOgorCVdlIGFyZSBubyBsb25nZXIgZ2VuZXJhdGluZyAuZGJnLmMgZmlsZXMuCisKKwkqIGRsbHMvY29tbWRsZy9jZGxnX0ZpLnJjOgorCUtpbW1vIE15bGx5dmlydGEgPGtpbW1vLm15bGx5dmlydGFAZ21haWwuY29tPgorCUJyaW5nIEZpbm5pc2ggcmVzb3VyY2VzIHVwIHRvIGRhdGUuCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvdHJlZXZpZXcuYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJUmVtb3ZlIHVudXNlZCBmdW5jdGlvbiBmcm9tIHJlZ2VkaXQvdHJlZXZpZXcuYy4KKworCSogZGxscy93aW5pbmV0L3Rlc3RzL2h0dHAuYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQ2FzdCB0aGUgcmVzdWx0IG9mIHN0cmxlbigpIHRvIERXT1JEIGFuZCBwcmludCBpdCB2aWEgJWxkIHRvIGdldCByaWQKKwlvZiB3YXJuaW5ncyB3aXRoIGdjYyAzLjIuCisKKwkqIHRvb2xzL3dpbmFwaS93aW5hcGlfY2hlY2s6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVVwZGF0ZSB3aW5hcGlfY2hlY2sgZm9yICJmYWxzZSIgSEFWRV8qIG1hY3Jvcy4KKworCSogdG9vbHMvd2luYXBpL3dpbjMyLmFwaTogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVVwZGF0ZSB3aW4zMi5hcGkgdG8gY3VycmVudCBDVlMuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQ3JlYXRlIGEgZnVuY3Rpb24gdG8gcmVhZCBhIHByb3BlcnR5IGFzIGFuIGludGVnZXIuCisKKwkqIGRsbHMvd2luZWQzZC9zdXJmYWNlLmM6IE9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlBZGRlZCBzdXBwb3J0IGZvciBiYWNrYnVmZmVyIHdpdGggdGhlIGZvcm1hdHMgQTFSNUc1QjUgYW5kIFgxUjVHNUI1LgorCisJKiBkbGxzL2QzZDgvc3VyZmFjZS5jLCBkbGxzL2QzZDgvdXRpbHMuYzoKKwlILiBWZXJiZWV0IDxodmVyYmVldEBnbWFpbC5jb20+CisJRml4IERYVDIgJiBEWFQ0IHN1cHBvcnQgZm9yIGQzZDguCisKKwkqIGRsbHMvcmljaGVkMjAvZWRpdG9yLmMsIGRsbHMvcmljaGVkMjAvZWRpdG9yLmgsCisJICBkbGxzL3JpY2hlZDIwL2VkaXRzdHIuaCwgZGxscy9yaWNoZWQyMC9yb3cuYzoKKwlLcnp5c3p0b2YgRm9sdG1hbiA8d2RldkBmb2x0bWFuLmNvbT4KKwktIFJlaW1wbGVtZW50YXRpb24gb2YgRU1fTElORUxFTkdUSC4KKwktIFNvbWUgYXR0ZW1wdCBhdCBkb2N1bWVudGF0aW9uIG9mIGRvdWJsZS1saW5rZWQgbGlzdCBvZgorCSAgTUVfRGlzcGxheUl0ZW0ncy4KKworCSogZGxscy91cmxtb24vdXJsbW9uLmluZjogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlSZWdpc3RlciB6b25lcy4KKworCSogZGxscy91cmxtb24vc2VjX21nci5jLCBkbGxzL3VybG1vbi90ZXN0cy9taXNjLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBNYXBVcmxUb1pvbmUgaW1wbGVtZW50YXRpb24uCisKKwkqIGRsbHMvb2xlMzIvZGVmYXVsdGhhbmRsZXIuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIHN0dWJiZWQgb3V0IGltcGxlbWVudGF0aW9uIG9mIElBZHZpc2VTaW5rIGFuZCBhZHZpc2UgdGhlCisJZGVsZWdhdGUgb2JqZWN0IHRvIHVzZSBpdC4KKworMjAwNS0wOS0yOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogTWFrZS5ydWxlcy5pbiwgTWFrZWZpbGUuaW4sIGRsbHMvTWFrZWRsbC5ydWxlcy5pbiwKKwkgIGRsbHMvZHhlcnI4L01ha2VmaWxlLmluLCBkbGxzL2R4ZXJyOS9NYWtlZmlsZS5pbiwKKwkgIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9udGRsbC9kZWJ1Z3Rvb2xzLmMsIGluY2x1ZGUvd2luZS9kZWJ1Zy5oLAorCSAgcHJvZ3JhbXMvTWFrZXByb2cucnVsZXMuaW46CisJRGVjbGFyZSBkZWJ1ZyBjaGFubmVscyBhcyBzdGF0aWMgdmFyaWFibGVzIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0bworCWdlbmVyYXRlIGFuIGV4dGVybmFsIC5kYmcuYyBmaWxlIHRvIGRlZmluZSB0aGVtLgorCisJKiBkbGxzL29sZTMyL2RlZmF1bHRoYW5kbGVyLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIE1ha2UgdGhlIGludGVyZmFjZXMgdGhhdCBzaG91bGQgYmUgc3VwcG9ydGVkIGJ5IHRoZSBkYXRhIGNhY2hlCisJICBleHBsaWNpdCBzbyB0aGVpciBpcyBubyBjb25mdXNpb24gaW4gdGhpcyBmaWxlIGFzIHRvIHdoYXQgaXQgc2hvdWxkCisJICBiZSBpbXBsZW1lbnRpbmcgYW5kIHdoYXQgdGhpcyBvYmplY3Qgc2hvdWxkIGltcGxlbWVudC4KKwktIERlbGVnYXRlIHNvbWUgSU9sZU9iamVjdCBtZXRob2RzIHRvIHRoZSBzZXJ2ZXIgSU9sZU9iamVjdCBpZiBpdCBpcworCSAgcnVubmluZy4KKworCSogZGxscy9udGRsbC9jcml0c2VjdGlvbi5jOgorCVVzZSBMaW51eCBmdXRleGVzIGluc3RlYWQgb2Ygc2VtYXBob3JlcyBpZiBwb3NzaWJsZSBmb3IgY3JpdGljYWwKKwlzZWN0aW9uIHdhaXRzLgorCisJKiBNYWtlLnJ1bGVzLmluLCBsaWJzL3dwcC8uY3ZzaWdub3JlLCBsaWJzL3dwcC9NYWtlZmlsZS5pbiwKKwkgIGxpYnMvd3BwL3BwbC5sLCBwcm9ncmFtcy93aW5lZGJnLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy93aW5lZGJnL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5lZGJnL2RlYnVnLmwsCisJICB0b29scy9tYWtlZGVwLmMsIHRvb2xzL3dpZGwvLmN2c2lnbm9yZSwgdG9vbHMvd2lkbC9NYWtlZmlsZS5pbiwKKwkgIHRvb2xzL3dpZGwvcGFyc2VyLmwsIHRvb2xzL3dtYy8uY3ZzaWdub3JlLCB0b29scy93bWMvTWFrZWZpbGUuaW4sCisJICB0b29scy93bWMvbWNsLmMsIHRvb2xzL3dyYy8uY3ZzaWdub3JlLCB0b29scy93cmMvTWFrZWZpbGUuaW4sCisJICB0b29scy93cmMvcGFyc2VyLmw6CisJTm93IHRoYXQgd2UgYXJlIHJlcXVpcmluZyBiaXNvbiBhbnl3YXksIG1ha2UgdGhlIC50YWIuYyBmaWxlIHVzZSB0aGUKKwlzYW1lIGJhc2UgbmFtZSBhcyB0aGUgLnkgZmlsZSwgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgY29ycmVjdAorCWRlcGVuZGVuY2llcyBpbiBhbGwgY2FzZXMuCisKKwkqIGRsbHMvb2xlMzIvZGF0YWNhY2hlLmM6CisJQWxleCBWaWxsYWPtcyBMYXNzbyA8YV92aWxsYWNpc0BwYWxvc2FudG8uY29tPgorCUFkZCBOVUxMIGNoZWNrIGZvciBzaW5rSW50ZXJmYWNlIGluIERhdGFDYWNoZV9HZXRBZHZpc2UuCisKKwkqIGRsbHMvb2xlMzIvZGVmYXVsdGhhbmRsZXIuYzoKKwlBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJQWRkIG1pc3NpbmcgISB0byBmaXggYSByZXZlcnNlZCBjb25kaXRpb24gY2hlY2sgaW4KKwlPbGVDcmVhdGVEZWZhdWx0SGFuZGxlciwgaW4gb3JkZXIgdG8gbWF0Y2ggaW50ZW50IGluIGNvbW1lbnQuCisKKwkqIGRsbHMvY3J5cHQzMi9lbmNvZGUuYywgZGxscy9jcnlwdDMyL3Rlc3RzL2VuY29kZS5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlFbmNvZGUgUlNBIHB1YmxpYyBrZXkgbW9kdWx1cyBhcyB1bnNpZ25lZCBpbnRlZ2VyLCB3aXRoIHRlc3RzLgorCisJKiBkbGxzL2QzZDgvZDNkOF9wcml2YXRlLmgsIGRsbHMvb3BlbmdsMzIvb3BlbmdsX2V4dC5oLAorCSAgaW5jbHVkZS93aW5lL3dpbmVkM2RfZ2wuaDoKKwlILiBWZXJiZWV0IDxodmVyYmVldEBnbWFpbC5jb20+CisJRml4IG1pc3NpbmcgcHJvdG90eXBlcyB3aGVuIHVzaW5nIG5WaWRpYSBPcGVuR0wgaGVhZGVycy4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUV4cGxpY2l0bHkgaWdub3JlIFdNX0dFVElDT04gbWVzc2FnZSBpbiB0aGUgbWVzc2FnZSB0ZXN0cy4KKworCSogZGxscy94MTFkcnYvb3BlbmdsLmM6IEdlcmFsZCBQZmVpZmVyIDxnZXJhbGRAcGZlaWZlci5jb20+CisJVXNlIDAgaW5zdGVhZCBvZiBOVUxMIGluIGNyZWF0ZV9nbHhwaXhtYXAoKS4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc29tZSBtb3JlIGFjdGlvbiBzdHVicywgcmVtb3ZlIGZvcndhcmQgZGVjbGFyYXRpb25zLgorCisJKiBpbmNsdWRlL3dpbmUvZGVidWcuaCwgbGlicy93aW5lL2RlYnVnLmMsIGxpYnMvd2luZS9sb2FkZXIuYywKKwkgIGxpYnMvd2luZS93aW5lLmRlZiwgbGlicy93aW5lL3dpbmUubWFwLCBwcm9ncmFtcy90YXNrbWdyL2RiZ2NobmwuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvaW5mby5jOgorCU5ldyBzY2hlbWUgZm9yIGtlZXBpbmcgdHJhY2sgb2YgZGVidWcgY2hhbm5lbHMgdGhhdCBkb2Vzbid0IHJlcXVpcmUKKwltYWludGFpbmluZyBhIGxpc3Qgb2YgYWxsIGxvYWRlZCBkbGxzLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmMsIGRsbHMveDExZHJ2L3dpbnBvcy5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBEcmF3TWVudUJhciBhbmQgU2V0TWVudSB0ZXN0cyBwYXNzIHVuZGVyIFdpbmUuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU3BsaXQgY29tbWFuZCBsaW5lIHBhcnNpbmcgZnJvbSBNU0lfSW5zdGFsbFBhY2thZ2UgaW50byBhIHNlcGFyYXRlCisJZnVuY3Rpb24uCisKKwkqIGRsbHMvbXNpL2RpYWxvZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIHRoZSBwcm9ncmVzcyBjb250cm9sLgorCisJKiBzZXJ2ZXIvb2JqZWN0LmM6IFZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtZGV2ZWxAa2lldmluZm8uY29tPgorCUZpeCByZWZjb3VudCBsZWFrIGFuZCByZXR1cm4gY29ycmVjdCBlcnJvciBpbiBjcmVhdGVfbmFtZWRfb2JqZWN0LgorCisJKiBkbGxzL21zaS9tc2lwcml2LmgsIGRsbHMvbXNpL21zaXF1ZXJ5LmMsIGRsbHMvbXNpL3NxbC55LAorCSAgZGxscy9tc2kvdGFibGUuYywgZGxscy9tc2kvdGVzdHMvZGIuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGFuZCB0ZXN0IE1zaVZpZXdHZXRDb2x1bW5JbmZvIGFuZCBiaW5hcnkgZmllbGRzLgorCisJKiBkbGxzL21zaS9jdXN0b20uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURvbid0IHF1b3RlIG51bWJlcnMgaW4gYSBxdWVyeSwgYXMgaXQgZG9lc24ndCBwYXJzZSBjb3JyZWN0bHkuCisKKwkqIGRsbHMvYWR2YXBpMzIvY3J5cHQuYywgZGxscy9hZHZhcGkzMi90ZXN0cy9jcnlwdC5jOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlSZW1vdmUgc29tZSBVbmljb2RlLT5BTlNJIGNyb3NzLWNhbGxzIGluIGNyeXB0IGZ1bmN0aW9ucy4KKworCSogZGxscy9tbGFuZy9tbGFuZy5jLCBkbGxzL21sYW5nL3Rlc3RzL21sYW5nLmM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgYSBiYXNpYyBiZWdpbm5pbmcgZm9yIGZuSU1MYW5nRm9udExpbmtfQ29kZVBhZ2VUb0NvZGVQYWdlcywKKwlmbklNTGFuZ0ZvbnRMaW5rX0NvZGVQYWdlc1RvQ29kZVBhZ2UgYW5kCisJZm5JTUxhbmdGb250TGlua19HZXRGb250Q29kZVBhZ2VzLgorCUFsc28gc29tZSB0ZXN0cyBmb3IgdGhlIG5ldyBmdW5jdGlvbnMuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2F0b20uYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJQWRkZWQgYSBidW5jaCBvZiB0ZXN0IGNhc2VzIGZvciBhdG9tcy4KKworCSogZGxscy91c2VyL21pc2MuYywgZGxscy91c2VyL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL3VzZXIvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci90ZXN0cy9tb25pdG9yLmMsCisJICBpbmNsdWRlL3dpbnVzZXIuaDoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUVudW1EaXNwbGF5RGV2aWNlcyBhbmQgR2V0TW9uaXRvckluZm8gc2hvdWxkIHJldHVybiB0aGUgc2FtZSBkZXZpY2UKKwluYW1lIGZvciB0aGUgcHJpbWFyeSBkZXZpY2UuCisJTWFrZSBib3RoIEVudW1EaXNwbGF5RGV2aWNlc0EgYW5kIEdldE1vbml0b3JJbmZvQSBjYWxsIHRoZWlyIHVuaWNvZGUKKwljb3VudGVycGFydHMuCisJVXBkYXRlIHByb3RvdHlwZSBvZiBFbnVtRGlzcGxheURldmljZXMuCisJQWRkIHNvbWUgdGVzdHMuCisKKwkqIGRsbHMvc2V0dXBhcGkvU3YucmMsIGRsbHMvc2V0dXBhcGkvc2V0dXBhcGkucmM6CisJQW5kZXJzIEJlcmdoIDxhbmRlcnMxQGdtYWlsLmNvbT4KKwlBZGRlZCBTd2VkaXNoIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL2hoY3RybC5vY3gvaGVscC5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwktIFN0b3JlIHRoZSBISEluZm8gc3RydWN0IGluIHRoZSBTaXplQmFyIGh3bmQuCisJLSBTZXQgdGhlIGRlZmF1bHQgbmF2aWdhdGlvbiBwYW5lIHdpZHRoIGlmIG5vIHdpZHRoIHByb3ZpZGVkLgorCS0gSGFuZGxlIGRyYWdnaW5nIG9mIHRoZSBTaXplQmFyLgorCisJKiB0b29scy93aW5hcGkvd2luYXBpX2NoZWNrOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlEb24ndCB0cmVhdCBhYnNlbmNlIG9mIGNvbmRpdGlvbmFsIGFzIGNvbmZpZy5oIGJlaW5nIHVzZWxlc3MgaWYKKwl3aW5lL3BvcnQuaCBpcyBpbmNsdWRlZCwgYXMgaXQncyBuZWNlc3NhcnkgaW4gdGhhdCBjYXNlLgorCisJKiBkbGxzL2NyeXB0MzIvY3J5cHQzMi5zcGVjLCBkbGxzL2NyeXB0MzIvZW5jb2RlLmMsCisJICBkbGxzL2NyeXB0MzIvdGVzdHMvZW5jb2RlLmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUltcGxlbWVudCBDcnlwdEltcG9ydC9FeHBvcnRQdWJsaWNLZXlJbmZvLgorCisJKiBpbmNsdWRlL3dpbmNyeXB0Lmg6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlBZGQgYSBmZXcgbW9yZSBtaXNzaW5nIHByb3RvdHlwZXMuCisKKwkqIGRsbHMvZ2RpL2ZvbnQuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEcmF3IHVuZGVybGluZSBhbmQgc3RyaWtlb3V0IGZvciBFeHRUZXh0T3V0IG9uIGFuIG9wZW4gcGF0aCB1c2luZworCVBvbHlnb24gdG8gbW9yZSBjbG9zZWx5IG1pbWljIHdoYXQgV2luZG93cyBkb2VzLgorCisJKiBkbGxzL01ha2VkbGwucnVsZXMuaW46IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIHN1cmUgdG8gYnVpbGQgdGhlIGRlZiBmaWxlIGFmdGVyIGEgbWFrZSBjbGVhbiBpbiBhIG1vZHVsZQorCXN1YmRpci4KKworCSogZGxscy9tc2kvY3VzdG9tLmMsIGRsbHMvbXNpL2hhbmRsZS5jLCBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpcHJpdi5oOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCBjcmVhdGUgTVNJIGhhbmRsZXMgdW5sZXNzIHdlIGhhdmUgdG8gcGFzcyBvbmUgdGhyb3VnaCB0aGUgQVBJLgorCisJKiBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9zdGF0ZWJsb2NrLmMsCisJICBkbGxzL3dpbmVkM2Qvd2luZWQzZF9wcml2YXRlLmg6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUltcGxlbWVudCBzdGF0ZSB0cmFja2luZyBmb3IgcGl4ZWwgc2hhZGVyIGNvbnN0YW50cy4KKworMjAwNS0wOS0yNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvbmVfc2VnbWVudC5jOgorCURvbid0IGFwcGx5IHJlbG9jYXRpb25zIGEgc2Vjb25kIHRpbWUgdG8gc2VsZiBsb2FkZWQgc2VnbWVudHMuCisJRml4ZWQgbWVzc2VkIHVwIGluZGVudGF0aW9uIGluIE5FX0ZpeHVwU2VnbWVudFByb2xvZ3MuCisKKwkqIHNlcnZlci8uY3ZzaWdub3JlLCBzZXJ2ZXIvTWFrZWZpbGUuaW4sIHNlcnZlci93aW5lc2VydmVyLm1hbi5pbjoKKwlJbml0aWFsIHZlcnNpb24gb2YgYSB3aW5lc2VydmVyIG1hbiBwYWdlLgorCisJKiBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYywgZGxscy9tc3ZjcnQvdGltZS5jLCBpbmNsdWRlL21zdmNydC90aW1lLmg6CisJQWRkZWQgaW1wbGVtZW50YXRpb24gb2YgX2RzdGJpYXMgYW5kICBfX3BfX2RzdGJpYXMuCisJQWRkZWQgbWFjcm9zIGZvciBfZHN0YmlhcywgX2RheWxpZ2h0LCBfdGltZXpvbmUgYW5kIF90em5hbWUuCisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9udGRsbC9wcm9jZXNzLmMsIGluY2x1ZGUvd2luYmFzZS5oLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvcHJvY2Vzcy5jLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3RyYWNlLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJSW1wbGVtZW50ZWQga2VybmVsMzIgcHJvY2VzcyBhZmZpbml0eSBoYW5kbGluZyBvbiB0b3Agb24gbnRkbGwuCisKKwkqIGRsbHMvd2luZWQzZC9kcmF3cHJpbS5jLCBkbGxzL3dpbmVkM2Qvc3VyZmFjZS5jOgorCU9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlDaGFuZ2UgdGhlIGZvcm1hdCBvZiBzdXJmYWNlX1NhdmVTbmFwc2hvdCB0byBUR0EgZnJvbSBQUE0gYW5kIGFkZAorCXN1cHBvcnQgZm9yIGNvbXByZXNzZWQgdGV4dHVyZXMgYW5kIGFuIGFscGhhIGNoYW5uZWwuCisKKwkqIHNlcnZlci9oYW5kbGUuYzoKKwlVc2UgdGhlIHByb3BlciBmb3JtYXQgdG8gcHJpbnQgaGFuZGxlcyBpbiBoYW5kbGVfdGFibGVfZHVtcC4KKworCSogZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jOiBGaXhlZCBleGNlcHRpb24gaGFuZGxpbmcgb24gTWFjT1MuCisKKwkqIGRsbHMvZGRyYXcvY2xpcHBlci5jOgorCVRoZSBjbGlwIGxpc3QgaXMgaW4gc2NyZWVuIGNvb3JkaW5hdGVzIHNvIHdlIG5lZWQgdG8gbWFwIHRoZSByZXN1bHQgb2YKKwlHZXRSYW5kb21SZ24gaWYgdGhlIFdpbmRvd3MgdmVyc2lvbiBpcyB3aW45eC4KKworCSogcHJvZ3JhbXMvd2luZWRiZy9tZW1vcnkuYzoKKwlGaXhlZCBkaXNhc3NlbWJsaW5nIGZ1bmN0aW9ucyB0byBoYW5kbGUgMTYtYml0IGNvZGUgc2VnbWVudHMgcHJvcGVybHkuCisKKwkqIGRsbHMvbXN2aWRlby9tc3ZpZGVvMTYuYywgZGxscy9vbGUzMi9vbGUybmxzLmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVVzZSB0aGUgcHJvcGVyIGNhbGxpbmcgY29udmVudGlvbiBmb3IgMiAxNi1iaXQgZnVuY3Rpb25zLgorCisJKiBkbGxzL3dpbmVkM2Qvc3VyZmFjZS5jOiBPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJQ29ycmVjdCBhIHByb2JsZW0gd2l0aCBsb2NraW5nIG5vbnBvd2VyIDIgYmFjayBhbmQgZnJvbnQgYnVmZmVycy4KKworCSogZGxscy9rZXJuZWwvY29tbS5jOiBBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJVG9sZXJhdGUgaW9jdGwgZmFpbHVyZSBpbiBHZXRDb21tU3RhdGUoKSBpbiBvcmRlciB0byBiZSBjYXBhYmxlIHRvIHVzZQorCXNvZnRtb2RlbXMuCisKKzIwMDUtMDktMjYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvdXNlci90ZXN0cy93aW4uYzoKKwlBZGRlZCBhIHRlc3QgdG8gY29uZmlybSB0aGUgYmVoYXZpb3Igb2YgR2V0UmFuZG9tUmduLgorCisJKiBkbGxzL250ZGxsL2RlYnVndG9vbHMuYywgaW5jbHVkZS93aW5lL2RlYnVnLmgsIGxpYnMvd2luZS9kZWJ1Zy5jOgorCUV4cG9ydCB0aGUgdGVtcCBidWZmZXIgZnVuY3Rpb25hbGl0eSBpbiB0aGUgZGVidWcgZnVuY3Rpb25zIGludGVyZmFjZQorCXRvIGFsbG93IHNoYXJpbmcgbW9yZSBjb2RlIGJldHdlZW4gbGlid2luZSBhbmQgbnRkbGwuCisKKwkqIGRsbHMvYWN0aXZlZHMvYWN0aXZlZHMuc3BlYywgZGxscy9hY3RpdmVkcy9hY3RpdmVkc19tYWluLmMsCisJICBpbmNsdWRlLy5jdnNpZ25vcmUsIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvYWRzaGxwLmgsCisJICBpbmNsdWRlL2lhZHMuaWRsLCB0b29scy93aW5hcGkvd2luMzIuYXBpOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCBpYWRzLmlkbCB0byBkZWZpbmUgdGhlIElBRHNDb250YWluZXIgaW50ZXJmYWNlLgorCUFkZCBhZHNobHAuaCB0byBkZWNsYXJlIHRoZSBBRHMqIGZ1bmN0aW9ucy4KKwlGaXggdGhlIEFEc09wZW5PYmplY3QoKSBwcm90b3R5cGUuCisJVXBkYXRlIHdpbjMyLmFwaSB0byBtYXRjaC4KKworCSogZGxscy9yaWNoZWQyMC9lZGl0b3IuYzogUmVpbiBLbGF6ZXMgPHdpam5Ad2FuYWRvby5ubD4KKwlXaGVuIHNjcm9sbGluZywgZmlyc3QgdXBkYXRlIHRoZSBuZXcgcG9zaXRpb24gb2YgdGhlIGNvbnRyb2wgYmVmb3JlCisJY2FsbGluZyBVcGRhdGVXaW5kb3coKS4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9EZS5yYzogSGVubmluZyBHZXJoYXJkdCA8aGVubmluZy5nZXJoYXJkdEB3ZWIuZGU+CisJVXBkYXRlIEdlcm1hbiByZWdlZGl0IHJlc291cmNlIGZpbGUuCisKKwkqIGRsbHMvZDNkeG9mL2QzZHhvZi5zcGVjOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlFeHBvcnQgdGhlIERsbChVbilSZWdpc3RlclNlcnZlcigpIGZ1bmN0aW9ucyB0byBtYWtlIGQzZHhvZi5kbGwgYQorCXNlbGYtcmVnaXN0ZXJpbmcgZGxsLgorCisJKiBkbGxzL2R4Z3VpZC9keGd1aWQuYywgaW5jbHVkZS9kM2RybS5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCURlZmluZSB0aGUgRGlyZWN0M0RSTSBHVUlEcyBpbiBkM2RybS5oLgorCUluY2x1ZGUgZDNkcm0uaCBpbiBkeGd1aWQuCisKKwkqIGRsbHMva2VybmVsL3N5bmMuYywgZGxscy9udGRsbC9jcml0c2VjdGlvbi5jLCBpbmNsdWRlL3dpbmUvcG9ydC5oLAorCSAgbGlicy9wb3J0L2ludGVybG9ja2VkLmMsIGxpYnMvd2luZS9kZWJ1Zy5jLCBsb2FkZXIva3RocmVhZC5jLAorCSAgc2VydmVyL2NoYW5nZS5jOgorCVVzZSBpbnQgaW5zdGVhZCBvZiBsb25nIGluIGludGVybG9ja2VkXyogZnVuY3Rpb25zIGZvciA2NC1iaXQKKwljb21wYXRpYmlsaXR5LgorCisJKiBkbGxzL2tlcm5lbC9wYXRoLmM6CisJVXNlIGEgbGFyZ2VyIGJ1ZmZlciBpbiBDb3B5RmlsZVcgbm93IHRoYXQgdGhlIGZpbGUgaGFuZGxlIG1heSBub3QKKwlhbHdheXMgYmUgY2FjaGVkLgorCisJKiBkbGxzL21zaS90YWJsZS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQ3JlYXRlIGEgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSB0YWJsZSdzIHJvdyBzaXplIGFuZCB1c2UgaXQuCisJRml4IGEgbWVtb3J5IGxlYWsgaW4gdGhlIHRhYmxlIGNvZGUuCisKKwkqIHRvb2xzL3dpbmFwaS9jX3BhcnNlci5wbTogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJdm9sYXRpbGUgaXMgdmFsaWQgZXZlcnl3aGVyZSBjb25zdCBpcyB2YWxpZC4KKworCSogcHJvZ3JhbXMvd2NtZC9Oby5yYywgcHJvZ3JhbXMvd2NtZC93Y21kcmMucmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9Oby5yYywKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlX3Jlcy5yYzoKKwlBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KKwlOb3J3ZWdpYW4gdHJhbnNsYXRpb24gb2Ygd2NtZCBhbmQgd2luZWNvbnNvbGUuCisKKwkqIGRsbHMveDExZHJ2L2JpdG1hcC5jLCBkbGxzL3gxMWRydi9pbml0LmMsIGRsbHMveDExZHJ2L29wZW5nbC5jLAorCSAgZGxscy94MTFkcnYveDExZHJ2Lmg6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgYW4geDExZHJ2IGVzY2FwZSB0aGF0IHJldHVybnMgYSBnbHggZHJhd2FibGUuCisKKwkqIHByb2dyYW1zL2NtZGxndHN0L05vLnJjLCBwcm9ncmFtcy9jbWRsZ3RzdC9jbWRsZ3IucmMsCisJICBwcm9ncmFtcy9wcm9nbWFuL05vLnJjLCBwcm9ncmFtcy9wcm9nbWFuL3JzcmMucmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L05vLnJjLCBwcm9ncmFtcy9yZWdlZGl0L3JzcmMucmMsCisJICBwcm9ncmFtcy9zdGFydC9Oby5yYywgcHJvZ3JhbXMvc3RhcnQvcnNyYy5yYywgcHJvZ3JhbXMvdmlldy9Oby5yYywKKwkgIHByb2dyYW1zL3ZpZXcvdmlld3JjLnJjOgorCUFsZXhhbmRlciBOLiBT+HJuZXMgPGFsZXhAdGhlaGFuZG9mYWdvbnkuY29tPgorCUFkZGVkIE5vcndlZ2lhbiB0cmFuc2xhdGlvbiBvZiBzb21lIHByb2dyYW1zLgorCisJKiBkbGxzL2tlcm5lbC9zeW5jLmMsIGRsbHMvbnRkbGwvZmlsZS5jLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvbmFtZWRfcGlwZS5jLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3RyYWNlLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJLSBub3cgcGFzc2luZyBhY2Nlc3MgcmlnaHRzIHdoZW4gY3JlYXRpbmcgYSBuYW1lZCBwaXBlIGluIE5URExMCisJLSByZWltcGxlbWVudGVkIEtlcm5lbDMyLkNyZWF0ZVBpcGUgcHVyZWx5IG9uIHRvcCBvZiBOVERMTCBBUElzCisJLSBhbm9ueW1vdXMgcGlwZSBoYW5kbGVzIHNob3VsZCBoYXZlIHRoZSBTWU5DSFJPTklaRSBiaXQgc2V0CisKKwkqIGRsbHMvbnRkbGwvaGVhcC5jLCBkbGxzL29sZTMyL2RlZmF1bHRoYW5kbGVyLmMsCisJICBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC92ZXJ0ZXhzaGFkZXIuYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlBc3NvcnRlZCBzcGVsbGluZyBmaXhlcy4KKworCSogZGxscy9tcHIvbXByLnJjLCBkbGxzL21wci9tcHJfTm8ucmMsIGRsbHMvbXNhY20vbXNhY20ucmMsCisJICBkbGxzL21zYWNtL21zYWNtX05vLnJjLCBkbGxzL21zcmxlMzIvbXNybGVfTm8ucmMsCisJICBkbGxzL21zcmxlMzIvcnNyYy5yYywgZGxscy9vbGVkbGcvb2xlZGxnX05vLnJjLCBkbGxzL29sZWRsZy9yc3JjLnJjLAorCSAgZGxscy9zaGRvY3Z3L05vLnJjLCBkbGxzL3NoZG9jdncvc2hkb2N2dy5yYywgZGxscy9zaGx3YXBpL3NobHdhcGkucmMsCisJICBkbGxzL3NobHdhcGkvc2hsd2FwaV9Oby5yYywgZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfTm8ucmMsCisJICBkbGxzL3dpbmVwcy9yc3JjLnJjLCBkbGxzL3dpbmVwcy93cHNfTm8ucmMsIGRsbHMvd2luaW5ldC9yc3JjLnJjLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXRfTm8ucmMsIGRsbHMvd2lubW0vd2lubW1fTm8ucmMsCisJICBkbGxzL3dpbm1tL3dpbm1tX3Jlcy5yYywgZGxscy93bGRhcDMyL3dsZGFwMzIucmMsCisJICBkbGxzL3dsZGFwMzIvd2xkYXAzMl9Oby5yYzoKKwlBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KKwlBZGRlZCBOb3J3ZWdpYW4gdHJhbnNsYXRpb25zLgorCisJKiBkbGxzL21zaS9wYWNrYWdlLmMsIGRsbHMvbXNpL3NlbGVjdC5jLCBkbGxzL21zaS9zcWwueSwKKwkgIGRsbHMvbXNpL3VwZGF0ZS5jLCBkbGxzL21zaS93aGVyZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggdmFyaW91cyBxdWVyeSByZWxhdGVkIG1lbW9yeSBsZWFrcy4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvRGUucmM6IEhlbm5pbmcgR2VyaGFyZHQgPGhlbm5pbmcuZ2VyaGFyZHRAd2ViLmRlPgorCVVwZGF0ZSBHZXJtYW4gcmVzb3VyY2UgZmlsZS4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9Fbi5yYywgcHJvZ3JhbXMvcmVnZWRpdC9ObC5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvUGwucmMsIHByb2dyYW1zL3JlZ2VkaXQvUHQucmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L2NoaWxkd25kLmMsIHByb2dyYW1zL3JlZ2VkaXQvZnJhbWV3bmQuYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvbWFpbi5oLCBwcm9ncmFtcy9yZWdlZGl0L3Jlc291cmNlLmgsCisJICBwcm9ncmFtcy9yZWdlZGl0L3RyZWV2aWV3LmM6CisJS3J6eXN6dG9mIEZvbHRtYW4gPHdkZXZAZm9sdG1hbi5jb20+CisJLSBDb3B5IGtleSBuYW1lIHdvcmtzLgorCS0gRmF2b3JpdGVzIChhZGRpbmcsIHJlbW92aW5nLCBnb2luZyB0bykgd29yay4KKwktIEFkZGVkIGNvbnRleHQgc2Vuc2l0aXZlIGdyYXlpbmcgdG8gc29tZSBtZW51IG9wdGlvbnMuCisJLSBDbGVhbnVwIG9mIHN0YXR1cyBiYXIgdXBkYXRlLgorCisJKiBkbGxzL250ZGxsL3ZpcnR1YWwuYywgZGxscy91c2VyL21lbnUuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlSZXBsYWNlIHRoZSAnaWYgKCFjb25kKSA7IGVsc2UgY29kZScgY29uc3RydWN0IHdpdGggdGhlIHN0YW5kYXJkICdkbyB7CisJY29kZSB9IHdoaWxlICgwKScgY29uc3RydWN0IGNvbWJpbmVkIHdpdGggYSByZWd1bGFyICdpZicuCisKKwkqIGRsbHMvb2xlMzIvb2xlMi5zcGVjLCBkbGxzL29sZTMyL3N0b3JhZ2Uuc3BlYywKKwkgIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzIuc3BlYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggLnNwZWMgZGVjbGFyYXRpb25zIGZvciBmdW5jdGlub3Mgd2l0aCA2NGJpdCBhcmd1bWVudHMgKHJlcG9ydGVkIGJ5CisJd2luYXBpX2NoZWNrKS4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIGEgbWFjcm8gZnVuY3Rpb24gZm9yIHVuaW1wbGVtZW50ZWQgYWN0aW9ucy4KKwlBZGQgc29tZSBtb3JlIHVuaW1wbGVtZW50ZWQgYWN0aW9uIHN0dWJzLgorCisJKiBkbGxzL250ZGxsL3RpbWUuYzogVmlqYXkgS2lyYW4gS2FtdWp1IDxpbmZ5cXVlc3RAZ21haWwuY29tPgorCUFkZCBNWVQgKE1hbGF5c2lhbiBUaW1lKSBhbmQgTk9WU1QgKE5vdm9zaWJpcnNrIFN1bW1lciBUaW1lKS4KKworCSogZGxscy9tc2kvbXNpcXVlcnkuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpbGwgb3V0IHRoZSBzdHVicyBmb3IgTXNpQXBwbHlUcmFuc2Zvcm1BL1cgYSBiaXQgbW9yZS4KKworCSogZGxscy91c2VyL3Rlc3RzL2RkZS5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUNhbGxpbmcgRGRlVW5pbml0aWFsaXplIGhhbmdzIERERSB0ZXN0IG9uIFhQIFNQMSwgc28gcmVtb3ZlIHRoYXQgY2FsbCwKKwlhbmQgYWRkIGEgY29tbWVudCBleHBsYWluaW5nIGl0LgorCisJKiBkbGxzL21zaS90ZXN0cy9mb3JtYXQuYywgZGxscy9tc2kvdGVzdHMvcGFja2FnZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggaGFuZGxlIGxlYWtzIGluIHRoZSB0ZXN0IGNhc2VzLgorCisJKiBkbGxzL21zaS9zdHJpbmcuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCU1ha2Ugc3VyZSB0byBzZXQgdGhlIG1pbmltdW0gc2l6ZSBiZWZvcmUgYWxsb2NhdGluZyBzdHJpbmcgdGFibGUKKwltZW1vcnkuCisKKwkqIGRsbHMvbXN2Y3J0L2ZpbGUuYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJTWFrZSBpdCBjbGVhciB0aGUgZW1wdHkgYm9keSBzZWN0aW9ucyBhcmUgbm90IGFjY2lkZW50YWwuCisKKwkqIHRvb2xzL3dpbmFwaS93aW4xNi5hcGk6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUhPTEVNRU5VIGlzIGEgJ2xvbmcnIGFzIGZhciBhcyB3aW5hcGlfY2hlY2sgaXMgY29uY2VybmVkLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMl9GaS5yYzoKKwlLaW1tbyBNeWxseXZpcnRhIDxraW1tby5teWxseXZpcnRhQGdtYWlsLmNvbT4KKwlVcGRhdGUgRmlubmlzaCByZXNvdXJjZXMuCisKKwkqIGRsbHMvcmljaGVkMjAvcmVhZGVyLmM6IEtyenlzenRvZiBGb2x0bWFuIDx3ZGV2QGZvbHRtYW4uY29tPgorCS0gT3B0aW9uYWwgZGVzdGluYXRpb25zIGluIHN0eWxlc2hlZXRzIGFyZSBub3cgc2tpcHBlZCBwcm9wZXJseSAoYW5kCisJICBub3QgdHJlYXRlZCBhcyB0aGUgInByb3BlciIgc3R5bGVzIGFzIHRoZXkgd2VyZSBiZWZvcmUpLgorCS0gRU9GIGNvbmRpdGlvbiBpbiB0aGUgbWlkZGxlIG9mIHRoZSBzdHlsZXNoZWV0IGlzIG5vIGxvbmdlciBwdXR0aW5nCisJICB0aGUgcmVhZGVyIGludG8gaW5maW5pdGUgbG9vcCwKKwktIEhhbGYtZnVsbCBpbnB1dCBidWZmZXJzIGRvbid0IHRyaWdnZXIgRU9GIGFueW1vcmUgKGFsdGhvdWdoIGl0CisJICBjb3VsZCwgaW4gdGhlb3J5LCBicmVhayBzb21lIGFwcHMsIEkgZmluZCBpdCB1bmxpa2VseSAtIGFuZCB0aGUKKwkgIGNoYW5nZSBtYWtlcyBPdXQgZnJvbSBCb25ldmlsbGUgaW5zdGFsbGVyIGRpc3BsYXkgbGljZW5zZSBwcm9wZXJseSkuCisKKwkqIHRvb2xzL3dpbmFwaS93aW4zMi5hcGk6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVVwZGF0ZSB3aW4zMi5hcGkgdG8gbWF0Y2ggdGhlIGN1cnJlbnQgc291cmNlcy4KKwlGaXggdGhlIHVzcDEwLmRsbCBuYW1lLgorCUZpeCBQQkVSVkFMIGFscGhhYmV0aWNhbCBvcmRlci4KKworCSogZGxscy9kM2Q4L3NoYWRlci5jLCBkbGxzL2QzZDkvZDNkOV9tYWluLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRG9jdW1lbnRhdGlvbiB0d2Vha3MgdG8gbWFrZSB3aW5hcGlfY2hlY2sgaGFwcHkuCisKKwkqIGluY2x1ZGUvdmZ3Lmg6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCBBVklTVFJFQU1SRUFEX0NPTlZFTklFTlQuCisKKwkqIGRsbHMvb2xlYXV0MzIvdGVzdHMvb2xlZm9udC5jLCBkbGxzL3NlY3VyMzIvdGVzdHMvbWFpbi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCB0cmFpbGluZyAnXG4ncyB0byBvaygpIGNhbGxzLgorCisJKiB0b29scy93aW5hcGkvd2luYXBpX2Z1bmN0aW9uLnBtLCB0b29scy93aW5hcGkvd2luYXBpX2xvY2FsLnBtOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVVwZGF0ZSB3aW5hcGlfY2hlY2sgc28gaXQgY29uc2lkZXJzICdsb25nbG9uZycgKHdpbiouYXBpIGZpbGVzKSBhcworCWNvbXBhdGlibGUgd2l0aCAnZG91YmxlJyAoc3BlYyBmaWxlcykuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcveDExZHJ2ZGxnLmM6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCVNjcmVlbiBkZXB0aCBjYW5ub3QgYmUgc2VsZWN0ZWQgd2hlbiBkb3VibGUgYnVmZmVyaW5nIGlzIGVuYWJsZWQuCisJRGlzYWJsZSBkZXB0aCBzZWxlY3Rpb24gd2hlbiBpdCdzIHRoZSBjYXNlLgorCisyMDA1LTA5LTI1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9pbnN0ci5jLCBkbGxzL2tlcm5lbC9sb2NhbDE2LmMsIGRsbHMva2VybmVsL25lX21vZHVsZS5jLAorCSAgZGxscy9rZXJuZWwvdmVyc2lvbi5jLCBkbGxzL21zdmNydC9jcHBleGNlcHQuYywgZGxscy9udGRsbC92aXJ0dWFsLmMsCisJICBkbGxzL29wZW5nbDMyL3dnbC5jLCBkbGxzL3F1YXJ0ei9kc291bmRyZW5kZXIuYywKKwkgIGRsbHMvcXVhcnR6L3RyYW5zZm9ybS5jLCBkbGxzL3F1YXJ0ei92aWRlb3JlbmRlcmVyLmMsCisJICBkbGxzL3VzZXIvbWVudS5jLCBkbGxzL3gxMWRydi9vcGVuZ2wuYzoKKwlSZXBsYWNlIERQUklOVEYgYnkgVFJBQ0UgaW4gYSBmZXcgcGxhY2VzLgorCisJKiBkbGxzL21zaHRtbC9Oby5yYywgZGxscy9tc2h0bWwvcnNyYy5yYzoKKwlBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KKwlOb3J3ZWdpYW4gdHJhbnNsYXRpb24gb2YgbXNodG1sLgorCisJKiBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfTm8ucmMsIGRsbHMvYXZpZmlsMzIvcnNyYy5yYywKKwkgIGRsbHMvaGhjdHJsLm9jeC9Oby5yYywgZGxscy9oaGN0cmwub2N4L2hoY3RybC5yYywKKwkgIGRsbHMvc2VyaWFsdWkvTm8ucmMsIGRsbHMvc2VyaWFsdWkvc2VyaWFsdWlfcmMucmMsCisJICBkbGxzL3NldHVwYXBpL05vLnJjLCBkbGxzL3NldHVwYXBpL3NldHVwYXBpLnJjOgorCUFsZXhhbmRlciBOLiBT+HJuZXMgPGFsZXhAdGhlaGFuZG9mYWdvbnkuY29tPgorCUFkZGVkIE5vcndlZ2lhbiB0cmFuc2xhdGlvbnMuCisKKwkqIGRsbHMvZGRyYXcvZDNkX3ByaXZhdGUuaCwgZGxscy9kZHJhdy9kZXZpY2VfbWFpbi5jLAorCSAgZGxscy9kZHJhdy9kZXZpY2Vfb3BlbmdsLmM6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUltcGxlbWVudCBCZWdpbi9WZXJ0ZXgvRW5kIHJlbmRlcmluZyBmdW5jdGlvbnMuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9oZWxwLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUNvcnJlY3RseSByZXNpemUgdGhlIGNoaWxkIHdpbmRvd3MuCisKKwkqIGRsbHMvcXVhcnR6L2ZpbHRlcmdyYXBoLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlGaXggZnVuY3Rpb24gbmFtZXMuCisKKwkqIGRsbHMvb2xlMzIvYmluZGN0eC5jLCBkbGxzL29sZTMyL2NsaXBib2FyZC5jLCBkbGxzL29sZTMyL2NvbXBvYmouYywKKwkgIGRsbHMvb2xlMzIvbW9uaWtlci5jLCBkbGxzL29sZTMyL29sZTE2LmMsIGRsbHMvb2xlMzIvb2xlMi5jLAorCSAgZGxscy9vbGUzMi9vbGUyXzE2LmMsIGRsbHMvb2xlMzIvb2xlMnN0dWJzLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCU1vdmUgYWxsIDE2LWJpdCBmdW5jdGlvbnMgdG8gYW4gYXBwcm9wcmlhdGUgMTYtYml0IGZpbGUuCisKKwkqIHByb2dyYW1zL3dpbmVmaWxlL05vLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9yc3JjLnJjLAorCSAgcHJvZ3JhbXMvd2luaGVscC9Oby5yYywgcHJvZ3JhbXMvd2luaGVscC9yc3JjLnJjOgorCUFsZXhhbmRlciBOLiBT+HJuZXMgPGFsZXhAdGhlaGFuZG9mYWdvbnkuY29tPgorCUFkZGVkIE5vcndlZ2lhbiB0cmFuc2xhdGlvbnMuCisKKwkqIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX0ZpLnJjLCBkbGxzL3dpbmluZXQvcnNyYy5yYywKKwkgIGRsbHMvd2luaW5ldC93aW5pbmV0X0ZpLnJjOgorCUtpbW1vIE15bGx5dmlydGEgPGtpbW1vLm15bGx5dmlydGFAZ21haWwuY29tPgorCVVwZGF0ZSBGaW5uaXNoIHJlc291cmNlcy4KKworCSogZGxscy9tc2kvbXNpLmMsIGRsbHMvbXNpL3BhY2thZ2UuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSGFuZGxlIGNvcHlpbmcgb2YgdGhlIGluc3RhbGwgcGFja2FnZSB0byBhIHRlbXBvcmFyeSBmaWxlIGluIG9uZSBwbGFjZQorCW9ubHkuCisKKwkqIGRsbHMvbXNpL2ZpbGVzLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggYW5vdGhlciBtZW1vcnkgbGVhay4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTdHViIGltcGxlbWVudGF0aW9uIG9mIHRoZSBJc29sYXRlQ29tcG9uZW50cyBhY3Rpb24uCisKKzIwMDUtMDktMjMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvZGRrL3dkbS5oOgorCUl2YW4gTGVvIFB1b3RpIDxpdmFubGVvQGdtYWlsLmNvbT4KKwlBZGRlZCBkZGsvd2RtLmguCisKKwkqIGRsbHMvbXNpL2N1c3RvbS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGEgbWVtb3J5IGxlYWsuCisKKwkqIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2F2ZXJzLmNvbT4KKwlNb3ZlIGRlc2t0b3BfdmkgaW5zaWRlIHByb2Nlc3NfYXR0YWNoIGFuZCByZW1lbWJlciB0byBmcmVlIGl0LgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIHN0dWIgaW1wbGVtZW50YXRpb24gb2YgdGhlIEJpbmRJbWFnZSBhY3Rpb24uCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYywgZGxscy93aW5lZDNkL3N1cmZhY2UuYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX21haW4uYywgZGxscy93aW5lZDNkL3dpbmVkM2RfcHJpdmF0ZS5oOgorCU9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlPcHRpb25hbGx5IHJlcGFjayBub25wb3dlciAyIHRleHR1cmVzIHRvIHRoZSBleHBlY3RlZCBzcGFuIGxlbmd0aCB3aGVuCisJYSB0ZXh0dXJlcyBpcyBsb2NrZWQuIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciBidWdneSBnYW1lcyBsaWtlIFdhcmhhbW1lcgorCTQwayB0aGF0IGRvbid0IHdvcmsgd2l0aCB0aGUgb2RkIHNwYW4gc2l6ZXMgcHJvZHVjZSBieSBkZWZhdWx0CisJbm9ucG93ZXIgMiBzdXBwb3J0LgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVN0dWIgaW1wbGVtZW50YXRpb24gb2YgdGhlIFBhdGNoRmlsZXMgYWN0aW9uLgorCisJKiBkbGxzL250ZGxsL2RlYnVndG9vbHMuYywgaW5jbHVkZS93aW5lL2RlYnVnLmgsCisJICBpbmNsdWRlL3dpbmUvbGlicmFyeS5oLCBsaWJzL3dpbmUvZGVidWcuYywgbGlicy93aW5lL3dpbmUuZGVmLAorCSAgbGlicy93aW5lL3dpbmUubWFwLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmM6CisJRGVmaW5lZCBhIHByb3BlciBzdHJ1Y3R1cmUgZm9yIGRlYnVnIGNoYW5uZWxzLgorCUFsc28gcHV0IGFsbCB0aGUgZnVuY3Rpb24gcG9pbnRlcnMgaW5zaWRlIGEgc3RydWN0dXJlIGFuZCBhZGRlZAorCV9fd2luZV9kYmdfc2V0X2Z1bmN0aW9ucyB0byBjaGFuZ2UgdGhlbSBpbnN0ZWFkIG9mIGV4cG9ydGluZyB0aGUKKwlwb2ludGVycyBkaXJlY3RseS4KKworCSogZGxscy9tc2kvbXNpLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgTXNpR2V0U2hvcnRjdXRUYXJnZXRBLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVN0dWIgaW1wbGVtZW50YXRpb24gb2YgdGhlIE1vdmVGaWxlcyBhY3Rpb24uCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYzogT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUVuYWJsZSBkeHQyIGFuZCBkeHQ0IGNvbXByZXNzZWQgdGV4dHVyZXMgdG8gYmUgY3JlYXRlZCB2aWEKKwlEZXZpY2VfQ3JlYXRlU3VyZmFjZS4KKworCSogZGxscy9tc2kvZGlhbG9nLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQ09MT1JfM0RGQUNFIGlzIGEgYmV0dGVyIGNob2ljZSBmb3IgdGhlIGRpYWxvZyBiYWNrZ3JvdW5kLgorCisJKiBkbGxzL3NldHVwYXBpL3N0cmluZ3RhYmxlLmMsIGRsbHMvc2V0dXBhcGkvdGVzdHMvc3RyaW5ndGFibGUuYzoKKwlFcmljIEtvaGwgPGVyaWMua29obEB0LW9ubGluZS5kZT4KKwktIFN0cmluZyBpZCAwIGJlY29tZXMgYSByZXNlcnZlZCAoaW52YWxpZCkgaWQuCisJLSBTdHJpbmdUYWJsZVN0cmluZ0Zyb21JZCByZXR1cm5zIGEgcG9pbnRlciB0byBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlCisJICBzdHJpbmcgaWQgaXMgaW52YWxpZC4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvRW4ucmM6IFN0ZXZlbiBFZHdhcmRzIDx3aW5laGFja2VyQGdtYWlsLmNvbT4KKwlTZXQgdGV4dCBvZiBoZWxwIG1lbnUgdG8gSGVscC4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTdHViIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZW1vdmVJbmlWYWx1ZXMgYWN0aW9uLgorCisJKiBpbmNsdWRlL2RpbnB1dC5oLCBpbmNsdWRlL3Zmd21zZ3MuaDogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGQgc29tZSBtaXNzaW5nIGVycm9yIGNvZGVzLgorCisJKiBkbGxzL2R4ZXJyOC9lcnJvcnMuYXdrLCBkbGxzL2R4ZXJyOS9lcnJvcnMuYXdrOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRml4IGR4ZXJyIGF3ayBzY3JpcHRzIHRvIG91dHB1dCBzaW5nbGUgcXVvdGVzIHByb3Blcmx5LgorCisJKiBkbGxzL29sZTMyL2RlZmF1bHRoYW5kbGVyLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgc29tZSBJUnVubmluZ09iamVjdCBmdW5jdGlvbnMgdGhhdCBhY3R1YWxseSBzdGFydCB0aGUgc2VydmVyCisJYW5kIGluaXRpYWxpemUgaXQuCisKKwkqIGRsbHMvb2xlMzIvb2xlMi5jLCBkbGxzL29sZTMyL29sZTJzdHVicy5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgT2xlUmVnRW51bVZlcmJzLgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCURvbid0IGZhaWwgaW4gQ29SZWdpc3RlckNsYXNzT2JqZWN0IGlmIHRoZSBjbGFzcyBhbHJlYWR5IGV4aXN0cyBhbmQKKwl0aGUgUkVHQ0xTX01VTFRJUExFVVNFIGZsYWcgaXMgc3BlY2lmaWVkLgorCisJKiBpbmNsdWRlL3dpbnZlci5oOiBEZXRsZWYgUmlla2VuYmVyZyA8d2luZS5kZXZAd2ViLmRlPgorCURlZmluaXRpb24gYWRkZWQgZm9yIFZGVDJfRFJWX1ZFUlNJT05FRF9QUklOVEVSLgorCisJKiBkbGxzL3dpbmVkM2QvZGV2aWNlLmM6IE9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlDbGVhbiB1cCBhbGwgdGhlIG9iamVjdHMgYm91bmQgdG8gdGhlIGRldmljZSB3aGVuIHRoZSBkZXZpY2UgaXMKKwlkZXN0cm95ZWQgYXMgYSByZXN1bHQgb2YgaXRzIHJlZiBjb3VudCByZWFjaGluZyB6ZXJvLgorCisJKiBkbGxzL21zdmNydC9oZWFwLmMsIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjLCBpbmNsdWRlL21zdmNydC9tYWxsb2MuaDoKKwlWaWpheSBLaXJhbiBLYW11anUgPGluZnlxdWVzdEBnbWFpbC5jb20+CisJSW1wbGVtZW50YXRpb24gb2YgX2dldF9zYmhfdGhyZXNob2xkIGFuZCBfc2V0X3NiaF90aHJlc2hvbGQKKwlmdW5jdGlvbnMuCisKKwkqIGRsbHMveDExZHJ2L3hyZW5kZXIuYzogUmljaGFyZCBDb2hlbiA8cmljaGFyZEBkYWlqb2J1LmNvLnVrPgorCUZpeCBjb21waWxlIHdpdGhvdXQgWFJlbmRlci4KKworCSogZGxscy9kc291bmQvdGVzdHMvY2FwdHVyZS5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUZpeCBjYXB0dXJlIHRlc3QgdG8gbm90IGZhaWwgd2hlbiBJRGlyZWN0U291bmRDYXB0dXJlIGNsYXNzIGlzIG5vdAorCXJlZ2lzdGVyZWQuCisKKwkqIGRsbHMvbXNpL2RpYWxvZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIG1zaV9nZXRfZGVmb3JtYXR0ZWRfZmllbGQgZnVuY3Rpb24gdG8gc2ltcGxpZnkKKwlzb21lIGNvZGUuCisKKwkqIGRsbHMvbXNpL2ZpbGVzLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBdm9pZCB1c2luZyBzdGF0aWMgdmFyaWFibGVzIGluIHRoZSBJbnN0YWxsRmlsZXMgYWN0aW9uLgorCisyMDA1LTA5LTIyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL2Jhc2V0c2QuaCwgaW5jbHVkZS93aW5kZWYuaCwgaW5jbHVkZS93aW5udC5oOgorCURlZmluZSBkYXRhIHR5cGVzIHRvIHRoZSBjb3JyZWN0IHNpemUgb24gNjQtYml0IHBsYXRmb3Jtcy4KKworCSogZGxscy9tc2kvYWN0aW9uLmMsIGRsbHMvbXNpL2NvbmQueSwgZGxscy9tc2kvY3VzdG9tLmMsCisJICBkbGxzL21zaS9maWxlcy5jLCBkbGxzL21zaS9oZWxwZXJzLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCB2YXJpb3VzIG1lbW9yeSBsZWFrcy4KKworCSogZGxscy9tc2kvZGlhbG9nLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTa2lwIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYSBmb250IGlkZW50aWZpZXIgaWYgaXQncyBcIG9yICYuCisKKwkqIHByb2dyYW1zL3dpbmhlbHAvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvd2luaGVscC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmhlbHAvaGxwMnNnbWwuYzoKKwlHZXQgcmlkIG9mIHRoZSBobHAyc2dtbCBoYWNrLgorCisJKiB0b29scy93aW5laW5zdGFsbDoKKwlMZWF2ZSBjcmVhdGlvbiBvZiB0aGUgZHJpdmUgc3ltbGlua3MgdG8gd2luZXByZWZpeGNyZWF0ZS4KKworCSogZGxscy9tc2kvZGlhbG9nLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggYW4gZXJyb3IgaW50cm9kdWNlZCB3aGVuIGNvbnZlcnRpbmcgZGlhbG9nIGxpc3RzIHRvIHN0YW5kYXJkCisJbGlzdHMuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU2ltcGxpZnkgdGhlIFByb2Nlc3NDb21wb25lbnRzIGFjdGlvbiBhIGxpdHRsZS4KKworCSogZGxscy9vbGVhdXQzMi92YXJ0eXBlLmM6CisJQWxleCBWaWxsYWPtcyBMYXNzbyA8YV92aWxsYWNpc0BwYWxvc2FudG8uY29tPgorCUZpeCBhIHNjYWxpbmcgZXJyb3IgaW4gVmFyUjRGcm9tRGVjKCkgYW5kIFZhclI4RnJvbURlYygpIHRoYXQKKwlpbmNvcnJlY3RseSBtdWx0aXBsaWVzIHRoZSBoaWdoIDMyIGJpdHMgb2YgdGhlIERFQ0lNQUwgYnkgMWU2NCBpbnN0ZWFkCisJb2YgdGhlIGNvcnJlY3QgMl42NC4KKworCSogZGxscy9kbWNvbXBvcy9jaG9yZG1hcHRyYWNrLmMsIGRsbHMvZG1jb21wb3Mvc2lnbnBvc3R0cmFjay5jLAorCSAgZGxscy9kbWltZS9kbWltZV9tYWluLmMsIGRsbHMvZG1pbWUvbHlyaWNzdHJhY2suYywKKwkgIGRsbHMvZG1pbWUvbWFya2VydHJhY2suYywgZGxscy9kbWltZS9wYXJhbWNvbnRyb2x0cmFjay5jLAorCSAgZGxscy9kbWltZS9zZXF0cmFjay5jLCBkbGxzL2RtaW1lL3N5c2V4dHJhY2suYywKKwkgIGRsbHMvZG1pbWUvdGltZXNpZ3RyYWNrLmMsIGRsbHMvZG1pbWUvd2F2ZXRyYWNrLmMsCisJICBkbGxzL2Rtc2NyaXB0L3NjcmlwdHRyYWNrLmMsIGRsbHMvZG1zdHlsZS9hdWRpdGlvbnRyYWNrLmMsCisJICBkbGxzL2Rtc3R5bGUvbW90aWZ0cmFjay5jLCBkbGxzL2Rtc3R5bGUvbXV0ZXRyYWNrLmMsCisJICBkbGxzL2tlcm5lbC9tb2R1bGUuYywgZGxscy9rZXJuZWwvdGFzay5jLCBkbGxzL29sZTMyL29sZTJfMTYuYywKKwkgIGRsbHMvb2xlYXV0MzIvZGlzcGF0Y2guYywgZGxscy9zaGVsbDMyL3NoZWxsLmMsCisJICBkbGxzL3VzZXIvbm9uY2xpZW50LmMsIGRsbHMvdXNlci93aW4uYywgZGxscy93aW5lZDNkL2RldmljZS5jLAorCSAgZGxscy94MTFkcnYvZGliLmMsIGRsbHMveDExZHJ2L3dpbnRhYi5jOgorCVJlbW92ZWQgdW51c2VkIGRlYnVnIGNoYW5uZWxzLgorCisJKiBkbGxzL29sZWF1dDMyL3ZhcmlhbnQuYzoKKwlBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJTW9kaWZ5IFZhckRpdigpIGFuZCBWYXJTdWIoKSB0byB1c2UgdGhlIGV4aXN0aW5nIFZhckRlY1N1YigpIGFuZAorCVZhckRlY0RpdigpIGZvciBERUNJTUFMLgorCisJKiBkb2N1bWVudGF0aW9uL1JFQURNRS5ubzoKKwlBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KKwlOb3J3ZWdpYW4gdHJhbnNsYXRpb24gb2YgcmVhZG1lIGZpbGUuCisKKwkqIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEluaXRpYWxpemUgb3V0IHBvaW50ZXIgdG8gTlVMTCBiZWZvcmUgYWNjZXNzIGNoZWNrIGluCisJICBJU3RvcmFnZV9DcmVhdGVTdG9yYWdlLgorCS0gV3JpdGVDbGFzc1N0ZyBzaG91bGQgcmV0dXJuIEVfSU5WQUxJREFSRyBpZiBwc3RnIGlzIE5VTEwgaW5zdGVhZCBvZgorCSAgYXNzZXJ0aW5nLgorCS0gUmVhZENsYXNzU3RnIHNob3VsZCByZXR1cm4gRV9JTlZBTElEQVJHIGlmIHBzdGcgaXMgTlVMTCBpbnN0ZWFkIG9mCisJICBjcmFzaGluZyBhbmQgYSBOVUxMIHBjbHNpZCBzaG91bGQgY2F1c2UgaXQgdG8gcmV0dXJuIHRoZSBzYW1lCisJICB2YWx1ZS4KKworCSogZGxscy9tc2kvdGFibGUuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUxvYWQgYSB0YWJsZSdzIGNvbHVtbiBpbmZvcm1hdGlvbiBzZXBhcmF0ZWx5IGZyb20gdGhlIHRhYmxlIGl0c2VsZi4KKworCSogZGxscy9tc2kvYWN0aW9uLmMsIGRsbHMvbXNpL2FjdGlvbi5oLCBkbGxzL21zaS9jbGFzc2VzLmMsCisJICBkbGxzL21zaS9oZWxwZXJzLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCU1ha2UgYnVpbGRfaWNvbl9wYXRoIHJldHVybiB0aGUgcGF0aCBkaXJlY3RseS4KKworMjAwNS0wOS0yMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9hdmlmaWwzMi8uY3ZzaWdub3JlLCBkbGxzL2NvbW1kbGcvLmN2c2lnbm9yZSwKKwkgIGRsbHMvY3RsM2QvLmN2c2lnbm9yZSwgZGxscy9nZGkvLmN2c2lnbm9yZSwgZGxscy9pbW0zMi8uY3ZzaWdub3JlLAorCSAgZGxscy9rZXJuZWwvLmN2c2lnbm9yZSwgZGxscy9semV4cGFuZC8uY3ZzaWdub3JlLAorCSAgZGxscy9tc2FjbS8uY3ZzaWdub3JlLCBkbGxzL21zdmlkZW8vLmN2c2lnbm9yZSwKKwkgIGRsbHMvbnRkbGwvLmN2c2lnbm9yZSwgZGxscy9vbGUzMi8uY3ZzaWdub3JlLAorCSAgZGxscy9vbGVhdXQzMi8uY3ZzaWdub3JlLCBkbGxzL29sZWNsaS8uY3ZzaWdub3JlLAorCSAgZGxscy9vbGVzdnIvLmN2c2lnbm9yZSwgZGxscy9yYXNhcGkzMi8uY3ZzaWdub3JlLAorCSAgZGxscy9zZXR1cGFwaS8uY3ZzaWdub3JlLCBkbGxzL3NoZWxsMzIvLmN2c2lnbm9yZSwKKwkgIGRsbHMvdHdhaW4vLmN2c2lnbm9yZSwgZGxscy91c2VyLy5jdnNpZ25vcmUsIGRsbHMvdmVyc2lvbi8uY3ZzaWdub3JlLAorCSAgZGxscy93aW4zMnMvLmN2c2lnbm9yZSwgZGxscy93aW5hc3BpLy5jdnNpZ25vcmUsCisJICBkbGxzL3dpbmVkb3MvLmN2c2lnbm9yZSwgZGxscy93aW5lcHMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvd2lubW0vLmN2c2lnbm9yZSwgZGxscy93aW5ubHMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvd2luc29jay8uY3ZzaWdub3JlLCBkbGxzL3dpbnRhYjMyLy5jdnNpZ25vcmU6CisJV2UgYXJlIG5vIGxvbmdlciBnZW5lcmF0aW5nIC5zcGVjLmMgZmlsZXMuCisKKwkqIE1ha2UucnVsZXMuaW4sIE1ha2VmaWxlLmluLCBkbGxzL01ha2VkbGwucnVsZXMuaW4sCisJICBkbGxzL2dkaS9NYWtlZmlsZS5pbiwgZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sCisJICBkbGxzL250ZGxsL01ha2VmaWxlLmluLCBkbGxzL3NoZWxsMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLAorCSAgdG9vbHMvd2luZWJ1aWxkL3JlczE2LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYzoKKwlHZW5lcmF0ZSAxNi1iaXQgc3BlYyBmaWxlcyBhcyBhc3NlbWJseSBjb2RlIHRvby4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvc2V0dXBhcGkvdGVzdHMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvc2V0dXBhcGkvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvc2V0dXBhcGkvdGVzdHMvc3RyaW5ndGFibGUuYzoKKwlTdGV2ZW4gRWR3YXJkcyA8d2luZWhhY2tlckBnbWFpbC5jb20+CisJQWRkZWQgc3RyaW5ndGFibGUgcmVncmVzc2lvbiB0ZXN0LgorCisJKiBpbmNsdWRlL3NldHVwYXBpLmgsIGRsbHMvc2V0dXBhcGkvTWFrZWZpbGUuaW4sCisJICBkbGxzL3NldHVwYXBpL3NldHVwYXBpLnNwZWMsIGRsbHMvc2V0dXBhcGkvc3RyaW5ndGFibGUuYzoKKwlFcmljIEtvaGwgPGVyaWMua29obEB0LW9ubGluZS5kZT4KKwlJbXBsZW1lbnQgc2V0dXBhcGkgc3RyaW5ndGFibGUgZnVuY3Rpb25zLgorCisJKiB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3JlbGF5LmMsIHRvb2xzL3dpbmVidWlsZC9yZXMzMi5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3V0aWxzLmM6CisJRmFjdG9yIG91dCBhIGNvdXBsZSBvZiB1c2VmdWwgaGVscGVyIGZ1bmN0aW9ucy4KKworCSogZGxscy9zZWN1cjMyL01ha2VmaWxlLmluLCBkbGxzL3NlY3VyMzIvYmFzZTY0X2NvZGVjLmMsCisJICBkbGxzL3NlY3VyMzIvc2VjdXIzMl9wcml2Lmg6CisJS2FpIEJsaW4gPGJsaW5AZ214Lm5ldD4KKwlBZGRlZCBiYXNlNjQgY29kZWMgZm9yIGNvbW11bmljYXRpb24gd2l0aCBudGxtX2F1dGguCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsX05vLnJjLCBkbGxzL2NvbWN0bDMyL3JzcmMucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Oby5yYzoKKwlBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KKwlBZGRlZCBOb3J3ZWdpYW4gdHJhbnNsYXRpb24gb2YgY29tY3RsMzIgYW5kIHNoZWxsMzIuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9oZWxwLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUFkZCB0aGUgU2l6ZUJhci4KKworCSogZGxscy9rZXJuZWwvc3luYy5jLCBkbGxzL2tlcm5lbC92aXJ0dWFsLmM6CisJVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJU3BlY2lmeSBmbGFnIE9CSl9DQVNFX0lOU0VOU0lUSVZFIHdoZW4gY2FsbGluZyBhcHByb3ByaWF0ZSBOdHh4CisJZnVuY3Rpb25zIGNyZWF0aW5nL29wZW5pbmcgbmFtZWQgb2JqZWN0cy4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYzoKKwlNYWtlIHN1cmUgdGhhdCB2YWx1ZXMgb2YgYWJzb2x1dGUgc3ltYm9scyBmaXQgaW4gMTYgYml0cy4KKworCSogdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJTGV0IHdpbmVidWlsZCB0YWtlIGNhcmUgb2YgY2FsbGluZyB0aGUgYXNzZW1ibGVyLgorCVBhc3MgLXYgYW5kIC1zYXZlLXRlbXBzIG9wdGlvbnMgdGhyb3VnaCB0byB3aW5lYnVpbGQgdG9vLgorCisJKiB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jLCB0b29scy93aW5lYnVpbGQvdXRpbHMuYzoKKwlNb3ZlZCBzdHViIGZ1bmN0aW9uIGdlbmVyYXRpb24gdG8gaW1wb3J0LmMuIEFkZGVkIGEgZ2V0X3N0dWJfbmFtZQorCWZ1bmN0aW9uIHRvIGVuc3VyZSBuYW1pbmcgY29uc2lzdGVuY3kuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jLCBkbGxzL21zaS9pbnN0YWxsLmMsIGRsbHMvbXNpL21zaXByaXYuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IE1zaVNlcXVlbmNlQS9XLgorCisJKiBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9kaXJlY3R4LmMsCisJICBkbGxzL3dpbmVkM2Qvd2luZWQzZF9wcml2YXRlLmg6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCVN0YXJ0IHRvIGltcGxlbWVudCBUZXN0Q29vcGVyYXRpdmVMZXZlbC4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC91dGlscy5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3dpbmVidWlsZC5tYW4uaW46CisJTm93IHRoYXQgd2UgaGF2ZSB0byBiZSBhYmxlIHRvIHJ1biB0aGUgYXNzZW1ibGVyIGZyb20gd2luZWJ1aWxkLCBhZGRlZAorCWFuIG9wdGlvbiB0byBnZW5lcmF0ZSBhIC5zcGVjLm8gZmlsZSBpbiBhIHNpbmdsZSBzdGVwLgorCUFkZGVkIC0tc2F2ZS10ZW1wcyBhbmQgLS12ZXJib3NlIG9wdGlvbnMgZm9yIGVhc2llciBkZWJ1Z2dpbmcuCisKKwkqIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvdGFibGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRG9uJ3QgcmVmY291bnQgdGFibGVzLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvbXNpcXVlcnkuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU2ltcGxpZnkgdGhlIEluc3RhbGxWYWxpZGF0ZSBhY3Rpb24gYSBsaXR0bGUuCisKKwkqIGRsbHMvbXNpL2RpYWxvZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBzdXJlIG5vdCB0byBmcmVlIGEgYSBwb2ludGVyIHRoYXQgaGFzIGJlZW4gbW9kaWZpZWQuCisJQ2hlY2sgdGhhdCB0aGUgdGV4dCBpZGVudGlmaWVyIGRvZXNuJ3QgY29udGFpbiBpbnZhbGlkIGNoYXJhY3RlcnMuCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYywgZGxscy93aW5lZDNkL3N0YXRlYmxvY2suYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJQWRkZWQgc3VwcG9ydCBmb3Igc3RhdGUgbWFuYWdlbWVudCBvZiB2ZXJ0ZXggc2hhZGVyIGNvbnN0YW50cyB2aWEKKwlzdGF0ZWJsb2Nrcy4KKworCSogZGxscy9udGRsbC92aXJ0dWFsLmM6IElnbm9yZSByZWxvY2F0aW9ucyBmb3IgdW5tYXBwZWQgcGFnZXMuCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jLCBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYywgZGxscy91c2VyL3RleHQuYywKKwkgIHByb2dyYW1zL3dpbmVtZW51YnVpbGRlci93aW5lbWVudWJ1aWxkZXIuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4ICJlbXB0eSBib2R5IGluIGFuIGlmL2Vsc2Utc3RhdGVtZW50IiB3YXJuaW5ncy4KKworCSogZGxscy9jb21jdGwzMi9jb21ib2V4LmM6IEphc29uIEVkbWVhZGVzIDx1c0BlZG1lYWRlcy5tZS51az4KKwlGaXggc29tZSBvZmYgYnkgb25lIGNhbGN1bGF0aW9ucyBpbiB0aGUgY29tYm9ib3hleCBmdW5jdGlvbnMsIGFuZAorCWhhbmRsZSBhbiBvdXQgb2YgcmFuZ2UgcG9zaXRpdmUgaW5kZXggdGhlIHNhbWUgYXMgd2luZG93cyArIHVuaXQgdGVzdAorCWNhc2UuCisKKwkqIGRsbHMvbXNpL2NyZWF0ZS5jLCBkbGxzL21zaS9kaWFsb2cuYywgZGxscy9tc2kvZm9ybWF0LmMsCisJICBkbGxzL21zaS9oZWxwZXJzLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBzb21lIHNpbXBsZSBtZW1vcnkgbGVha3MuCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYywgZGxscy93aW5lZDNkL2RpcmVjdHguYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaCwgaW5jbHVkZS93aW5lL3dpbmVkM2RfZ2wuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJSW1wbGVtZW50ZWQgb2NjbHVzaW9uIHF1ZXJpZXMgdXNpbmcgZWl0aGVyIEdMX0FSQl9vY2NsdXNpb25fcXVlcnkgb3IKKwlHTF9OVl9vY2NsdXNpb25fcXVlcnkuCisKKwkqIGRsbHMvZDNkOC9kM2Q4LnNwZWMsIGRsbHMvZDNkOC9zaGFkZXIuYzoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJQ29ycmVjdCB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgKGFuZCBwYXJ0bHkgdGhlaXIgbmFtZXMpIGZvciB0aGUKKwl1bmRvY3VtZW50ZWQgZnVuY3Rpb25zIFZhbGlkYXRlUGl4ZWxTaGFkZXIgYW5kIFZhbGlkYXRlVmVydGV4U2hhZGVyLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvY29tY3RsMzIvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL2NvbWN0bDMyL3Rlc3RzL2NvbWJvZXguYzoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAZWRtZWFkZXMubWUudWs+CisJRml4IHNvbWUgb2ZmIGJ5IG9uZSBjYWxjdWxhdGlvbnMgaW4gdGhlIGNvbWJvYm94ZXggZnVuY3Rpb25zLCBhbmQKKwloYW5kbGUgYW4gb3V0IG9mIHJhbmdlIHBvc2l0aXZlIGluZGV4IHRoZSBzYW1lIGFzIHdpbmRvd3MgKyB1bml0IHRlc3QKKwljYXNlLgorCisJKiBpbmNsdWRlL3dzMnRjcGlwLmg6IFZpamF5IEtpcmFuIEthbXVqdSA8aW5meXF1ZXN0QGdtYWlsLmNvbT4KKwlBZGRlZCBhZGRyaW5mbyBzdHJ1Y3R1cmVzLgorCisJKiBkbGxzL2dkaS9mb250LmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJUmVsZWFzZSB0aGUgZGMgYmVmb3JlIGRyYXdpbmcgdGhlIHVuZGVybGluZSBhbmQgc3RyaWtlb3V0IGxpbmVzLgorCisyMDA1LTA5LTIwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL21zaS9kaWFsb2cuYywgZGxscy9zaGx3YXBpL29yZGluYWwuYywgcHJvZ3JhbXMvbm90ZXBhZC9tYWluLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggdGhlIHVzYWdlIG9mIENPTE9SX3h4eCBjb25zdGFudHMgaW4gdGhlIHBsYWNlIG9mIHRoZSB3aW5kb3cncworCWNsYXNzIGhickJhY2tncm91bmQuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9oZWxwLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUNvcnJlY3RseSBkcmF3IHRoZSBuYXZpZ2F0aW9uIHBhbmUuCisKKwkqIHByb2dyYW1zL2Nsb2NrL05vLnJjLCBwcm9ncmFtcy9jbG9jay9yc3JjLnJjLCBwcm9ncmFtcy90YXNrbWdyL05vLnJjLAorCSAgcHJvZ3JhbXMvdGFza21nci90YXNrbWdyLnJjOgorCUFsZXhhbmRlciBOLiBT+HJuZXMgPGFsZXhAdGhlaGFuZG9mYWdvbnkuY29tPgorCUFkZGVkIE5vcndlZ2lhbiB0cmFuc2xhdGlvbnMuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jLCBkbGxzL21zaS9hcHBzZWFyY2guYywgZGxscy9tc2kvY2xhc3Nlcy5jLAorCSAgZGxscy9tc2kvY29uZC55LCBkbGxzL21zaS9jdXN0b20uYywgZGxscy9tc2kvZGF0YWJhc2UuYywKKwkgIGRsbHMvbXNpL2RpYWxvZy5jLCBkbGxzL21zaS9maWxlcy5jLCBkbGxzL21zaS9mb3JtYXQuYywKKwkgIGRsbHMvbXNpL2hlbHBlcnMuYywgZGxscy9tc2kvaW5zdGFsbC5jLCBkbGxzL21zaS9tc2kuYywKKwkgIGRsbHMvbXNpL21zaXF1ZXJ5LmMsIGRsbHMvbXNpL3RhYmxlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIG1lbW9yeSBhbGxvY2F0aW9uIGlubGluZSBmdW5jdGlvbnMgKHBhcnQgMikuCisKKwkqIGRsbHMvbXNpL2NyZWF0ZS5jLCBkbGxzL21zaS9kZWxldGUuYywgZGxscy9tc2kvZGlzdGluY3QuYywKKwkgIGRsbHMvbXNpL2V2ZW50cy5jLCBkbGxzL21zaS9oYW5kbGUuYywgZGxscy9tc2kvaW5zZXJ0LmMsCisJICBkbGxzL21zaS9tc2lwcml2LmgsIGRsbHMvbXNpL29yZGVyLmMsIGRsbHMvbXNpL3BhY2thZ2UuYywKKwkgIGRsbHMvbXNpL3ByZXZpZXcuYywgZGxscy9tc2kvcmVjb3JkLmMsIGRsbHMvbXNpL3JlZ2lzdHJ5LmMsCisJICBkbGxzL21zaS9zZWxlY3QuYywgZGxscy9tc2kvc291cmNlLmMsIGRsbHMvbXNpL3NxbC55LAorCSAgZGxscy9tc2kvc3RyaW5nLmMsIGRsbHMvbXNpL3N1bWluZm8uYywgZGxscy9tc2kvdXBkYXRlLmMsCisJICBkbGxzL21zaS91cGdyYWRlLmMsIGRsbHMvbXNpL3doZXJlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIG1lbW9yeSBhbGxvY2F0aW9uIGlubGluZSBmdW5jdGlvbnMgKHBhcnQgMSkuCisKKwkqIGRsbHMvdW5pY293cy9NYWtlZmlsZS5pbiwgZGxscy91bmljb3dzL21haW4uYzoKKwlFeHBvcnRlZCBzeW1ib2xzIG5vdyBnZXQgcmVzb2x2ZWQgcHJvcGVybHkgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdGhlCisJbGlzdCBvZiBkdW1teSByZWZlcmVuY2VzLgorCisJKiBkbGxzL3VzZXIvZGRlX21pc2MuYywgZGxscy91c2VyL2RkZV9wcml2YXRlLmg6CisJQWRkZWQgYSBtYWdpYyBudW1iZXIgdG8gdGhlIFdETUxfQ09OViBzdHJ1Y3R1cmUgdG8gZml4IHNvbWUgZmFpbGluZworCXRlc3RzLgorCisJKiB0b29scy93aW5lYnVpbGQvcmVsYXkuYzogRml4ZWQgc3RhY2sgb2Zmc2V0IG9mICVlYXggcmVnaXN0ZXIuCisKKwkqIGRsbHMvY29tY3RsMzIvcmViYXIuYywgZGxscy9tc2kvY3VzdG9tLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBpZidzIHRoYXQgYXJlIGZvbGxvd2VkIGJ5IHNlbWljb2xvbnMuCisKKwkqIGRsbHMvbXNpL2luc3RhbGwuYywgZGxscy9tc2kvbXNpLnNwZWMsIGluY2x1ZGUvbXNpcXVlcnkuaDoKKwlKYW4gVmFuIEJ1Z2dlbmhvdXQgPENoaXB6ekBVTFlTU0lTLk9yZz4KKwlpbXBsZW1lbnQgc3R1YnMgZm9yIE1zaVNlcXVlbmNlW0FXXS4KKworCSogaW5jbHVkZS9tc2kuaDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZCBJTlNUQUxMU1RBVEVfTk9UVVNFRCB0byB0aGUgSU5TVEFMTFNUQVRFIGVudW1lcmF0aW9uLgorCisJKiBkbGxzL29sZTMyL29sZTIuYywgZGxscy9vbGUzMi9vbGUyc3R1YnMuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IE9sZUlzUnVubmluZy4KKworCSogZGxscy9vbGUzMi9tYXJzaGFsLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEZpeCBhIHRyYWNlIHRvIHJlZmVyIHRvIHRoZSBvYmplY3QgSUQgcmF0aGVyIHRoYW4gdGhlIGxlZ2FjeSBNSUQuCisJLSBGaXggdGhlIGVycm9yIGNhc2Ugb2YgQ29NYXJzaGFsSW50ZXJUaHJlYWRJbnRlcmZhY2UgdG8gcmVsZWFzZSB0aGUKKwkgIHN0cmVhbS4KKworMjAwNS0wOS0xOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYywgdG9vbHMvd2luZWJ1aWxkL3dpbmVidWlsZC5tYW4uaW4sCisJICB0b29scy93aW5lZ2NjL3dpbmVnY2MuYzoKKwlDcmVhdGUgYW4gYXNzZW1ibHkgZmlsZSB3aXRoIGFsbCB1bmRlZmluZWQgc3ltYm9scyBhbmQgYWRkIGl0IHRvIHRoZQorCWxpbmsgY29tbWFuZCBzbyB0aGF0IHRoZSBzeW1ib2xzIHNob3cgdXAgaW4gdGhlIGZpbmFsIHVuZGVmaW5lZCBsaXN0LgorCVVzZSB0aGF0IGxpc3QgdG8gY3JlYXRlIHRodW5rcyBmb3IgYWxsIGV4cG9ydGVkIGJ1dCB1bmRlZmluZWQgc3ltYm9scywKKwl0byBtYWtlIHN1cmUgYWxsIGV4cG9ydCBSVkFzIHBvaW50IHNvbWV3aGVyZSBpbnNpZGUgdGhlIG1vZHVsZS4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGxfQmcucmMsIGRsbHMvY29tY3RsMzIvcnNyYy5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX0JnLnJjLCBkbGxzL2NvbW1kbGcvcnNyYy5yYywgZGxscy9tcHIvbXByLnJjLAorCSAgZGxscy9tcHIvbXByX0JnLnJjLCBkbGxzL21zaHRtbC9CZy5yYywgZGxscy9tc2h0bWwvcnNyYy5yYywKKwkgIGRsbHMvbXNpL21zaS5yYywgZGxscy9tc2kvbXNpX0JnLnJjLCBkbGxzL21zcmxlMzIvbXNybGVfQmcucmMsCisJICBkbGxzL21zcmxlMzIvcnNyYy5yYywgZGxscy9vbGVhdXQzMi9vbGVhdXQzMi5yYywKKwkgIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzJfQmcucmMsIGRsbHMvc2VyaWFsdWkvQmcucmMsCisJICBkbGxzL3NlcmlhbHVpL3NlcmlhbHVpX3JjLnJjLCBkbGxzL3NldHVwYXBpL0JnLnJjLAorCSAgZGxscy9zZXR1cGFwaS9zZXR1cGFwaS5yYywgZGxscy9zaGRvY3Z3L0JnLnJjLAorCSAgZGxscy9zaGRvY3Z3L3NoZG9jdncucmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0JnLnJjLAorCSAgZGxscy9zaGVsbDMyL3NocmVzLnJjLCBkbGxzL3VzZXIvcmVzb3VyY2VzL3VzZXIzMi5yYywKKwkgIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX0JnLnJjLCBkbGxzL3dpbmVwcy9yc3JjLnJjLAorCSAgZGxscy93aW5lcHMvd3BzX0JnLnJjLCBkbGxzL3dpbmluZXQvcnNyYy5yYywKKwkgIGRsbHMvd2luaW5ldC93aW5pbmV0X0JnLnJjLCBkbGxzL3dpbnNwb29sL0JnLnJjLAorCSAgZGxscy93aW5zcG9vbC93aW5zcG9vbC5yYywgcHJvZ3JhbXMvbm90ZXBhZC9CZy5yYywKKwkgIHByb2dyYW1zL25vdGVwYWQvcnNyYy5yYywgcHJvZ3JhbXMvcmVnZWRpdC9CZy5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvcnNyYy5yYywgcHJvZ3JhbXMvdW5pbnN0YWxsZXIvQmcucmMsCisJICBwcm9ncmFtcy91bmluc3RhbGxlci9yc3JjLnJjLCBwcm9ncmFtcy93aW5lY2ZnL0JnLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLnJjLCBwcm9ncmFtcy93aW5oZWxwL0JnLnJjLAorCSAgcHJvZ3JhbXMvd2luaGVscC9yc3JjLnJjOgorCU1pbGtvIEtyYWNob3Vub3YgPG1pbGtvQDNtaHoubmV0PgorCUJ1bGdhcmlhbiByZXNvdXJjZXMgZm9yIG1wciwgbXNpLCB1c2VyLCBjb21tZGxnLCBvbGVhdXQzMiwgc2hkb2N2dywKKwlzaGVsbDMyLCBjb21jdGwzMiwgbXNybGUzMiwgbXNodG1sLCB3aW5zcG9vbCwgd2luZXBzLCBzZXJpYWx1aSwKKwlzZXR1cGFwaSwgd2luaW5ldCwgcmVnZWRpdCwgdW5pbnN0YWxsZXIsIG5vdGVwYWQsIHdpbmVjZmcgYW5kCisJd2luaGVscC4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJVXNlIHRoZSBldmVudCdzIHdpZHRoIGFuZCBoZWlnaHQgbm90IHRoZSB0cmFuc2xhdGVkIHdpbmRvdyByZWN0IHRvCisJcmVjb2duaXplIGEgemVybyBzaXplZCB3aW5kb3cgaW4gdGhlIENvbmZpZ3VyZU5vdGlmeSBoYW5kbGVyLgorCisJKiBpbmNsdWRlL2hsaW5rLmlkbDogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgdGhlIElIbGlua0ZyYW1lIGludGVyZmFjZSB0byBobGluay5pZGwuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9oZWxwLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUFkZCBpbml0aWFsIHRvb2xiYXIgYnV0dG9uIGhhbmRsaW5nLgorCisJKiBkbGxzL3dpbmVkM2QvZGlyZWN0eC5jOiBPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJUmV0dXJuIHRoZSBhZGFwdG9yIG1vZGUgYXMgWDhSOEc4Qjggd2hlbiBCUFAgaXMgMjQgb3IgMzIgYml0cy4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywKKwkgIHRvb2xzL3dpbmVidWlsZC91dGlscy5jOgorCURvbid0IHJlbW92ZSBpZ25vcmVkIHN5bWJvbHMgZnJvbSB0aGUgdW5kZWZpbmVkIGxpc3QsIHNpbXBseSBza2lwIHRoZW0KKwl3aGVuIHJlc29sdmluZyBpbXBvcnRzLgorCUFkZGVkIGdldF90ZW1wX2ZpbGVfbmFtZSB1dGlsaXR5IGZ1bmN0aW9uLgorCisJKiBpbmNsdWRlL3dpbnNvY2syLmg6CisJVXNlIHRoZSBkZWZhdWx0IHN0cnVjdHVyZSBwYWNraW5nIGxpa2UgV2luZG93cyBkb2VzLgorCisJKiBpbmNsdWRlL3RocmVhZC5oOgorCUZpeGVkIHRoZSBzdHJ1Y3R1cmUgbGF5b3V0IHRvIGJlIGlkZW50aWNhbCB0byB0aGUgcHVibGljIG9uZSBhbHNvIG9uCisJNjQtYml0IHBsYXRmb3Jtcy4KKworCSogbGlicy93aW5lL2xkdC5jOiBSZW1vdmVkIHN5c2k4NiBwcm90b3R5cGUgdGhhdCBpcyBjYXVzaW5nIGNvbmZsaWN0cy4KKworCSogZGxscy9zaGRvY3Z3L3NoZG9jdncuc3BlYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYywKKwkgIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYzoKKwlUYWtlIGludG8gYWNjb3VudCAtbm9uYW1lIGZ1bmN0aW9ucyB3aGVuIGNoZWNraW5nIGZvciBkdXBsaWNhdGUgZXhwb3J0CisJbmFtZXMuIEZpeGVkIGEgY291cGxlIG9mIGlzc3VlcyBmb3VuZCBieSB0aGUgc3RyaWN0ZXIgY2hlY2suCisKKwkqIGRsbHMvb2xlMzIvZGVmYXVsdGhhbmRsZXIuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gUmVtb3ZlIHJlZHVuYW50IGJyYWNlcy4KKwktIENvbXBhY3QgbXVsdGktbGluZSBjb21tZW50cyB0aGF0IGZpdCBpbnRvIG9uZSBsaW5lLgorCS0gUmVtb3ZlIGNvbW1lbnRzIHRoYXQgc3RhdGUgdGhlIG9idmlvdXMuCisJLSBSZW1vdmUgZXh0cmEgYnJhY2tldHMgdGhhdCBhcmUgcmVkdW5kYW50IGJlY2F1c2UgdGhlIC0+IG9wZXJhdG9yCisJICBiaW5kcyB0aWdodGVyIHRoYW4gJi4KKwktIENoYW5nZSAidGhpcyIgdG8gIlRoaXMiIHRvIG1ha2UgY29kZSBtb3JlIGxpa2Ugb3RoZXIgaW50ZXJmYWNlCisJICBpbXBsZW1lbnRhdGlvbnMuCisJLSBSZW1vdmUgcmVkdW5kYW50IGNvbXBhcmlzb25zIHdpdGggTlVMTCBmb3IgcG9pbnRlcnMuCisKKwkqIGRsbHMvbXN2Y3J0L2hlYXAuYywgZGxscy9tc3ZjcnQvbXN2Y3J0LnNwZWMsIGluY2x1ZGUvbXN2Y3J0L21hbGxvYy5oOgorCVZpamF5IEtpcmFuIEthbXVqdSA8aW5meXF1ZXN0QGdtYWlsLmNvbT4KKwlBZGRlZCBfX3BfX2FtYmxrc2l6IGltcGxlbWVudGF0aW9uLgorCisJKiBkbGxzL3gxMWRydi94cmVuZGVyLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCURvbid0IGZyZWUgYSBtb2RpZmllZCBwb2ludGVyLgorCisJKiBkbGxzL2dkaS9mb250LmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJRml4IGEgcHJvYmxlbSB3aXRoIGhhbmRsaW5nIEVUT19HTFBZSF9JTkRFWC4gIFNwb3R0ZWQgYnkgUm9iCisJU2hlYXJtYW4uCisKKwkqIGRsbHMvb2xlMzIvbWFyc2hhbC5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJRml4IHRoZSByZXR1cm4gY29kZXMgZHVyaW5nIHVubWFyc2hhbGluZyBzbyB0aGF0IGl0IHJldHVybnMgZmFpbHVyZQorCWNvZGVzIGluc3RlYWQgb2YgU19GQUxTRSByZXR1cm5lZCBmcm9tIElTdHJlYW1fUmVhZC4KKworCSogZGxscy9oaGN0cmwub2N4L2hlbHAuYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJQ2hlY2sgZm9yIGFuIGVtcHR5IHN0cmluZyBub3QgYSBOVUxMIHBvaW50ZXIuCisKKwkqIGRsbHMvbWNpYXZpMzIvbW1vdXRwdXQuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEaXJlY3RseSBjb3B5IERJQiBiaXRzIGludG8gZGVzdGluYXRpb24gREMuCisKKwkqIGRsbHMvd2luZWQzZC9kaXJlY3R4LmM6IE9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlQcmV2ZW50IENoZWNrRGVwdGhTdGVuY2lsTWF0Y2ggZnJvbSBjYXVzaW5nIHByb2JsZW1zIGlmIHRoZXJlIGlzIGEKKwljdXJyZW50IGFjdGl2ZSBPcGVuR0wgY29udGV4dC4KKworCSogZGxscy93aW5lZDNkL2RldmljZS5jLCBkbGxzL3dpbmVkM2Qvc3RhdGVibG9jay5jOgorCU9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlTdG9wIHZlcnRleCBzaGFkZXIgY29uc3RhbnRzIGZyb20gYmVpbmcgc2V0IGF0IHRoZSBzYW1lIHRpbWUgYXMgdGhlCisJdmVydGV4IHNoYWRlciB3aGVuIGEgc3RhdGVibG9jayBpcyBhcHBsaWVkLgorCisJKiBkbGxzL21zaHRtbC9GaS5yYywgZGxscy9tc2h0bWwvcnNyYy5yYywgZGxscy9tc2kvbXNpLnJjLAorCSAgZGxscy9tc2kvbXNpX0ZpLnJjOgorCUtpbW1vIE15bGx5dmlydGEgPGtpbW1vLm15bGx5dmlydGFAZ21haWwuY29tPgorCUFkZGVkIEZpbm5pc2ggcmVzb3VyY2VzLgorCisJKiBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJU3VwcG9ydCBtb3JlIGFyZ3VtZW50cyBpbiBfaW52b2tlKCkuCisKKwkqIGRsbHMvdXJsbW9uL3Nlc3Npb24uYywgaW5jbHVkZS91cmxtb24uaWRsOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJLSBBZGRlZCBJSHR0cE5lZ290aWF0ZTIgaW50ZXJmYWNlLgorCS0gVXBkYXRlIEJJTkRTVFJJTkcgYW5kIElJbnRlcm5ldFNlc3Npb24uCisKKzIwMDUtMDktMTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvaGVhZGVyLmM6IEdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJRG8gc29tZSBib3VuZHMgY2hlY2tpbmcgb24gaU9yZGVyLgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZ19Oby5yYywgZGxscy9tc2kvbXNpLnJjLCBkbGxzL21zaS9tc2lfTm8ucmMsCisJICBwcm9ncmFtcy91bmluc3RhbGxlci9Oby5yYywgcHJvZ3JhbXMvdW5pbnN0YWxsZXIvcnNyYy5yYzoKKwlBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KKwlBZGRlZCBOb3J3ZWdpYW4gdHJhbnNsYXRpb25zLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwxNl9wcml2YXRlLmgsIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsCisJICBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywgZGxscy9rZXJuZWwvcmVsYXkxNi5jLCBkbGxzL3dpbmVkb3MvcmVsYXkuYywKKwkgIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3JlbGF5LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYzoKKwlNb3ZlZCByZXR1cm4gdmFsdWUgaGFuZGxpbmcgdG8gdGhlIGluZGl2aWR1YWwgcmVsYXkgdGh1bmtzIHNvIHRoYXQgd2UKKwlvbmx5IG5lZWQgb25lIHZlcnNpb24gb2Ygd2luZV9jYWxsX2Zyb21fMTYuCisJUGF0Y2ggdGhlIHdpbmVfY2FsbF9mcm9tXzE2IGFkZHJlc3MgYWxvbmcgd2l0aCB0aGUgY3MgdmFsdWUgZGlyZWN0bHkKKwlpbiB0aGUgMTYtYml0IGNvZGUgc2VnbWVudCB0byBhdm9pZCB0aGUgbmVlZCBmb3Igc3BlY2lhbCBtYWdpYyBpbiB0aGUKKwlpbXBvcnQgdGh1bmtzLgorCisJKiBkbGxzL250ZGxsL2hlYXAuYzoKKwlGaXhlZCBzb21lIHRyYWNlIGZvcm1hdCBzdHJpbmdzIChyZXBvcnRlZCBieSBHZXJhbGQgUGZlaWZlcikuCisKKwkqIGRsbHMvbnRkbGwvcmVsYXkuYywgaW5jbHVkZS93aW5lL3BvcnQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3JlbGF5LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlNYWtlIHRoZSB1c2VycyBvZiB3aW5lX2NhbGxfZnJvbV8zMl9yZWdzIHNhdmUgJWVheCBzbyB0aGF0IHdlIGRvbid0CisJbmVlZCBhIHNwZWNpYWwgaGFjayBpbiB0aGUgaW1wb3J0IHRodW5rLgorCUFkZGVkIGEgZ2V0X3BjX3RodW5rX2VheCBmdW5jdGlvbiB0byBzaW1wbGlmeSB0aGUgY29kZSBhIGJpdC4KKworCSogZGxscy9jb21jdGwzMi9hbmltYXRlLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQ2FsbCBTZXRESUJpdHMgd2l0aCBhIHByb3BlciBEQyBpbiBvcmRlciB0byBzZXQgYml0bWFwIGJpdHMuCisKKwkqIGRsbHMvdXNlci9zeXNwYXJhbXMuYzogS2ltbW8gTXlsbHl2aXJ0YSA8a2ltbW8ubXlsbHl2aXJ0YUBnbWFpbC5jb20+CisJSWYgSEtDVVxTb2Z0d2FyZVxXaW5lIGRvZXMgbm90IHlldCBleGlzdCwgY3JlYXRlIGl0IGFzIG5vbi12b2xhdGlsZQorCWtleSwgaW5zdGVhZCBvZiB2b2xhdGlsZS4KKworCSogZGxscy93aW5lZG9zL2ludDIxLmM6CisJQ2hyaXN0aWFuIEx1cGllbiA8bHVwaWVuQHBoeXNpcXVlLnVzaGVyYnJvb2tlLmNhPgorCUF2b2lkIG92ZXJmbG93IGluIHRoZSByZWFkIGZpbGUgbGltaXQgY2hlY2suCisKKwkqIGRsbHMvb2xlMzIvbWFyc2hhbC5jLCBkbGxzL29sZTMyL29sZXByb3h5LmMsCisJICBkbGxzL29sZTMyL3Rlc3RzL21hcnNoYWwuYywgZGxscy9vbGVhdXQzMi90bWFyc2hhbC5jLAorCSAgZGxscy9ycGNydDQvY3Byb3h5LmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUZpeCByZWYtY291bnRpbmcgcnVsZXMgdG8gbWF0Y2ggbmF0aXZlIERDT00gRGxscy4KKworMjAwNS0wOS0xNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogbGlicy93aW5lL2xvYWRlci5jLCB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsCisJICB0b29scy93aW5lYnVpbGQvcmVzMzIuYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOgorCVN0b3JlIFJWQXMgaW5zdGVhZCBvZiBwb2ludGVycyB3aGVyZXZlciBwb3NzaWJsZSBpbiB0aGUgZ2VuZXJhdGVkIE5UCisJaGVhZGVyIGFuZCBkaXJlY3Rvcmllcy4KKworCSogcHJvZ3JhbXMvbm90ZXBhZC9Oby5yYywgcHJvZ3JhbXMvbm90ZXBhZC9yc3JjLnJjOgorCUFsZXhhbmRlciBOLiBT+HJuZXMgPGFsZXhAdGhlaGFuZG9mYWdvbnkuY29tPgorCUFkZGVkIE5vcndlZ2lhbiB0cmFuc2xhdGlvbi4KKworCSogZGxscy9hdmlmaWwzMi9hdmlmaWxlLmM6ICBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCSBSZXZlcnQgcHJldmlvdXMgY2hhbmdlLCBpdCBzaG91bGQgbm90IGJlIG5lZWRlZCBhbnltb3JlIHNpbmNlIGEKKwkgcHJvcGVyIGZpeCBmb3IgbW1pb0Rlc2NlbmQgcmVncmVzc2lvbiBoYXMgYmVlbiBjb21taXR0ZWQuCisKKwkqIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvdGFibGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IG1lbW9yeSBsZWFrcyBpbiB0aGUgdGFibGUgY29kZS4KKworCSogZGxscy9tc2kvZGlhbG9nLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZWFkIHRoZSBNYXNrRWRpdCB0ZW1wbGF0ZSBmcm9tIHRoZSBjb3JyZWN0IGRiIGZpZWxkLgorCisJKiBkbGxzL29sZTMyL2RlZmF1bHRoYW5kbGVyLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZS1hcnJhbmdlIHNvbWUgZnVuY3Rpb25zIGFuZCB2dGFibGVzIHNvIHdlIGRvbid0IGhhdmUgZGVjbGFyYXRpb25zCisJZm9yIGFsbCBvZiB0aGUgZnVuY3Rpb25zIGluIHRoZSBmaWxlLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYzogR2UgdmFuIEdlbGRvcnAgPGd2Z0ByZWFjdG9zLmNvbT4KKwlCdWZmZXIgc2l6ZSBuZWVkcyB0byBiZSBzcGVjaWZpZWQgaW4gYnl0ZXMgb24gaW5wdXQuCisKKwkqIGRsbHMvdXNlci91c2VyX21haW4uYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUdldERlc2t0b3BXaW5kb3cgY2FuIG5vdyBwb3RlbnRpYWxseSBjcmVhdGUgYSB0aHJlYWQsIHNvIHdlIHNob3VsZG4ndAorCWNhbGwgdGhpcyBmdW5jdGlvbiBmcm9tIERsbE1haW4gb3RoZXJ3aXNlIGl0IGlzIHBvc3NpYmxlIHRvIGNhdXNlIGEKKwlkZWFkbG9jay4KKworMjAwNS0wOS0xNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy9udGRsbC9zaWduYWxfeDg2XzY0LmM6CisJUHJlbGltaW5hcnkgaW1wbGVtZW50YXRpb24gb2Ygc2lnbmFsIGhhbmRsaW5nIGZvciB4ODYtNjQuCisKKwkqIGRsbHMvd2lubW0vbW1pby5jLCBkbGxzL3dpbm1tL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL3dpbm1tL3Rlc3RzL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL3Rlc3RzL21taW8uYywKKwkgIGluY2x1ZGUvbW1zeXN0ZW0uaDoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIHRlc3QgZm9yIG1taW9EZXNjZW5kLCBtYWtlIGl0IHBhc3MgdW5kZXIgV2luZS4KKworCSogZGxscy9tc2kvZGlhbG9nLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb252ZXJ0IHRoZSBsaXN0IG9mIGRpYWxvZyBjb250cm9scyB0byBhIHN0YW5kYXJkIGxpc3QuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYzogSW1wbGVtZW50ZWQgaW1wb3J0IHRodW5rcyBmb3IgeDg2LTY0LgorCisJKiBkbGxzL21zaS9kYXRhYmFzZS5jLCBkbGxzL21zaS9tc2lwcml2LmgsIGRsbHMvbXNpL3RhYmxlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCU1ha2UgbG9hZF9zdHJpbmdfdGFibGUgcmV0dXJuIHRoZSBzdHJpbmcgdGFibGUuCisKKwkqIGRsbHMvbXNpL2RpYWxvZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRGVmb3JtYXQgYWxsIGRpYWxvZyB0ZXh0IHN0cmluZ3MgYmVmb3JlIHVzaW5nIHRoZW0uCisKKwkqIHNlcnZlci9NYWtlZmlsZS5pbiwgc2VydmVyL2NvbnRleHRfeDg2XzY0LmM6CisJUHJlbGltaW5hcnkgdmVyc2lvbiBvZiB0aGUgY29udGV4dCBzdXBwb3J0IGZvciB4ODYtNjQuCisKKwkqIGRsbHMvbnRkbGwvaGVhcC5jLCBkbGxzL250ZGxsL3ZpcnR1YWwuYzoKKwlGaXhlZCBhIGZldyBwb2ludGVyIHRydW5jYXRpb24gYnVncyBmb3IgNjQtYml0IHBsYXRmb3Jtcy4KKworCSogZGxscy9udGRsbC9zZXJ2ZXIuYywgc2VydmVyL3JlcXVlc3QuYzoKKwlVc2UgdGhlIHByb3BlciBzaXplIGZvciB0aGUgY21zZ19mZCBzdHJ1Y3R1cmUgb24gNjQtYml0IHBsYWZvcm1zLgorCisJKiBkbGxzL21zdmNydGQvbXN2Y3J0ZC5zcGVjOgorCUZvcndhcmQgYWxsIGZ1bmN0aW9ucyB0byBtc3ZjcnQgaW5zdGVhZCBvZiBoYXZpbmcgdGhlbSBsaW5rIGRpcmVjdGx5CisJdG8gbGliYy4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlPcmRlciB0aGUgYml0bWFwIGZvbnQgbGlzdCBieSB0aGUgYW5zaSBjb2RlcGFnZSBiaXQgcG9zaXRpb24uCisJRml4IGEgZmV3IGNvbW1lbnRzLgorCisJKiBkbGxzL3VybG1vbi90ZXN0cy91cmwuYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlNb3JlIHRlc3RzIG9mIFVSTE1vbmlrZXIuCisKKwkqIGZvbnRzLy5jdnNpZ25vcmUsIGZvbnRzL01ha2VmaWxlLmluOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUdlbmVyYXRlIEdyZWVrLCBUdXJraXNoLCBIZWJyZXcsIEFyYWJpYywgQmFsdGljIGFuZCBUaGFpIHZlcnNpb25zIG9mCisJTVMgU2FucyBTZXJpZi4KKworCSogdG9vbHMvc2ZudDJmbnQuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlVcGRhdGUgc2ZudDJmbnQgaGFjaywgbm93IHRoYXQgV2luZSBDb3VyaWVyIGlzIGtub3duIGFzIENvdXJpZXIuCisKKwkqIGRsbHMvbXNpL2RpYWxvZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTG9hZCByaWNoZWQyMC5kbGwgb24gZGVtYW5kLCBhbmQgdW5sb2FkIGl0IGFmdGVyIGl0J3MgdXNlZCAoYmFzZWQgb24gYQorCXBhdGNoIGJ5IFJvYiBTaGVhcm1hbikuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGEgYnVnIGluIGEgcHJldmlvdXMgcGF0Y2ggc3BvdHRlZCBieSBEaWV0ZXIgS29tZW5kZXJhLgorCisJKiBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpLnNwZWMsIGluY2x1ZGUvbXNpLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCB0aGUgc3R1YiBmb3IgTXNpQ29uZmlndXJlRmVhdHVyZS4KKworCSogZGxscy9zaGRvY3Z3L29sZW9iamVjdC5jLCBkbGxzL3NoZG9jdncvc2hkb2N2dy5oOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgU2V0Q2xpZW50U2l0ZSBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy93aW50cnVzdC93aW50cnVzdC5zcGVjLCBkbGxzL3dpbnRydXN0L3dpbnRydXN0X21haW4uYzoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlBZGRlZCBzdHVicyBmb3IgRGxsUmVnaXN0ZXJTZXJ2ZXIsIERsbFVucmVnaXN0ZXJTZXJ2ZXIgYW5kCisJV2ludHJ1c3RTZXRSZWdQb2xpY3lGbGFncy4KKworCSogZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJRml4IFN0cmluZyBTSUQgcGFyc2luZy4KKworMjAwNS0wOS0xNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogcHJvZ3JhbXMvd2luZXRlc3QvbWFpbi5jOiBJdmFuIExlbyBQdW90aSA8aXZhbmxlb0BnbWFpbC5jb20+CisJR2V0IHdpbmV0ZXN0IHRvIGRldGVjdCB3aW5kb3dzIHNlcnZlciAyMDAzIFIyLgorCisJKiBkbGxzL3VybG1vbi9zZXNzaW9uLmM6IEZpeGVkIGEgY29tcGlsZXIgd2FybmluZy4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmMsCisJICB0b29scy93aW5lYnVpbGQvdXRpbHMuYzoKKwlBZGRlZCBhIGNvbW1vbiBmdW5jdGlvbiB0byBkZWNsYXJlIGdsb2JhbCBzeW1ib2xzLCBhbmQgbWFrZSB0aGVtCisJaGlkZGVuIG9uIHBsYXRmb3JtcyB0aGF0IHN1cHBvcnQgaXQuCisKKwkqIGZvbnRzLy5jdnNpZ25vcmUsIGZvbnRzL01ha2VmaWxlLmluOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUdlbmVyYXRlIEdyZWVrLCBUdXJraXNoLCBIZWJyZXcsIEFyYWJpYyBhbmQgQmFsdGljIHZlcnNpb25zIG9mCisJQ291cmllci4KKworCSogZGxscy91cmxtb24vTWFrZWZpbGUuaW4sIGRsbHMvdXJsbW9uL3Nlc3Npb24uYywgZGxscy91cmxtb24vdW1vbi5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgQ29JbnRlcm5ldEdldFNlc3Npb24gaW1wbGVtZW50YXRpb24uCisKKwkqIGxpYnMvd2luZS9sb2FkZXIuYzoKKwlVc2UgdGhlIE5UIGRlc2NyaXB0b3IgYWRkcmVzcyBhcyBzdGFydCBvZiB0aGUgZGF0YSBzZWN0aW9uLCBzaW5jZSB0aGUKKwlCYXNlT2ZEYXRhIGZpZWxkIGlzbid0IHByZXNlbnQgaW4gV2luNjQuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jLCBkbGxzL21zaS9hY3Rpb24uaCwgZGxscy9tc2kvY3VzdG9tLmMsCisJICBkbGxzL21zaS9kaWFsb2cuYywgZGxscy9tc2kvZXZlbnRzLmMsIGRsbHMvbXNpL2ZpbGVzLmMsCisJICBkbGxzL21zaS9mb3JtYXQuYywgZGxscy9tc2kvaGVscGVycy5jLCBkbGxzL21zaS9pbnN0YWxsLmMsCisJICBkbGxzL21zaS91cGdyYWRlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVJlbmFtZSBsb2FkX2R5bmFtaWNfcHJvcGVydHkgYW5kIHJlbW92ZSBpdHMgdW51c2VkIDNyZCBhcmd1bWVudC4KKworCSogZGxscy9NYWtlZGxsLnJ1bGVzLmluLCB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsCisJICB0b29scy93aW5lYnVpbGQvcmVzMzIuYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jLAorCSAgdG9vbHMvd2luZWdjYy9NYWtlZmlsZS5pbiwgdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJTm93IHRoYXQgZXZlcnl0aGluZyBpcyBkb25lIGluIGFzc2VtYmx5IGluIHRoZSBzcGVjIGZpbGUsIGRpcmVjdGx5CisJZ2VuZXJhdGUgYSAucyBmaWxlIHRvIGJ5cGFzcyBnY2MgaW5lZmZpY2llbmN5IHdpdGggbGFyZ2UgZGF0YQorCXN0cnVjdHVyZXMuCisKKwkqIGZvbnRzLy5jdnNpZ25vcmUsIGZvbnRzL01ha2VmaWxlLmluOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUdlbmVyYXRlIEdyZWVrLCBUdXJraXNoLCBIZWJyZXcsIEFyYWJpYywgQmFsdGljLCBUaGFpLCBKYXBhbmVzZSBhbmQKKwlLb3JlYW4gdmVyc2lvbnMgb2YgdGhlIFN5c3RlbSBmb250LiAgQWxsIHRoZSBub24tbGF0aW4gZ2x5cGhzIGFyZQorCXN0aWxsIGJsYW5rcy4KKworCSogZGxscy9tc2kvYWN0aW9uLmMsIGRsbHMvbXNpL21zaXByaXYuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIHRoZSBuZXcgbXNpX3JlZ19zZXQqIG1hY3JvcyB3aGVyZSBwb3NzaWJsZS4KKworCSogZGxscy94MTFkcnYvZGliLmM6IEZpeGVkIGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOgorCVNldCB0aGUgcHJvcGVyIGJ1aWxkIGZsYWdzIGZvciBEYXJ3aW4gYmFzZWQgb24gdGhlIENQVSB0eXBlIGluc3RlYWQgb2YKKwlhc3N1bWluZyBQb3dlclBDLgorCisJKiB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL3JlczMyLmMsCisJICB0b29scy93aW5lYnVpbGQvc3BlYzMyLmM6CisJT3V0cHV0IHRoZSByZXNvdXJjZSBkYXRhIGluIGFzc2VtYmx5IHRvby4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGluY2x1ZGUvY29uZmlnLmguaW46CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVR3ZWFrIHRoZSB0ZXN0IGZvciBkZXRlY3RpbmcgbGlieHNsdCBhcyBpdCBkaWRuJ3Qgd29yayBjb3JyZWN0bHkgb24KKwlSSDguCisKKwkqIHByb2dyYW1zL3Rhc2ttZ3IvRGUucmM6IEhlbm5pbmcgR2VyaGFyZHQgPGhlbm5pbmcuZ2VyaGFyZHRAd2ViLmRlPgorCVVwZGF0ZSB0aGUgR2VybWFuIHJlc291cmNlIGZpbGUuCisKKwkqIGRsbHMvbXNpL2NsYXNzZXMuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUNyZWF0ZSBhIG1hY3JvIHRvIHdyaXRlIGEgdmFsdWUgdG8gYSBzdWJrZXkuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9oZWxwLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUVtYmVkIHRoZSBicm93c2VyIG9iamVjdCBpbiB0aGUgSFRNTCB3aW5kb3cuICBTcG90dGVkIGJ5IEphY2VrIENhYmFuLgorCisJKiBkbGxzL2NyeXB0MzIvY2VydC5jLCBkbGxzL2NyeXB0MzIvY3J5cHQzMi5zcGVjOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUFkZGVkIHN0dWJzIGZvciBDcnlwdEluaXRPSURGdW5jdGlvblNldCBhbmQKKwlDcnlwdFVucmVnaXN0ZXJEZWZhdWx0T0lERnVuY3Rpb24uCisKKwkqIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYywgZGxscy9hZHZhcGkzMi9zZXJ2aWNlLmMsCisJICBkbGxzL2FkdmFwaTMyL3Rlc3RzL3JlZ2lzdHJ5LmM6CisJUmVpbiBLbGF6ZXMgPHdpam5Ad2FuYWRvby5ubD4KKwktIFNldCB0aGUgTGFzdEVycm9yIGluIE9wZW5TQ01hbmFnZXIgaW4gY2FzZSBvZiBlcnJvcnM7CisJLSBBY2NlcHQgbWFjaGluZSBuYW1lcyB3aXRob3V0IGEgJ1xcJyBwcmVmaXggaW4gT3BlblNDTWFuYWdlciBhbmQKKwkgIFJlZ0Nvbm5lY3RSZWdpc3RyeS4KKwktIEFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgdGhhdC4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1lbWJlciB0byByZW1vdmUgYSBjaGlsZCBmb250IGZyb20gdGhlIGNoaWxkIGZvbnQgbGlzdC4KKworMjAwNS0wOS0xNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYywKKwkgIHRvb2xzL3dpbmVidWlsZC91dGlscy5jOgorCU91dHB1dCBjb25zdGFudCBzdHJpbmdzIGluIGEgbW9yZSBhcHByb3ByaWF0ZSBzZWN0aW9uIHRoYW4gLnRleHQuCisKKwkqIHByb2dyYW1zL3Rhc2ttZ3IvRW4ucmMsIHByb2dyYW1zL3Rhc2ttZ3Ivb3B0bm1lbnUuYywKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvdGFza21nci5jLCBwcm9ncmFtcy90YXNrbWdyL3Rhc2ttZ3IuaCwKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvdHJheWljb24uYzoKKwlUaG9tYXMgV2VpZGVubXVlbGxlciA8d2luZS1wYXRjaGVzQHJlYWN0c29mdC5jb20+CisJSG9vayB1cCAiSGlkZSBvbiBNaW5pbWl6ZSIgJiBBZGQgY29udGV4dCBtZW51IHRvIHRoZSB0cmF5IGljb24uCisKKwkqIGRsbHMvZ2RpL2ZyZWV0eXBlLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJT25seSBhZGQgVGFob21hIHRvIHRoZSBTeXN0ZW0gZm9udCdzIGxpbmsgbGlzdCBpZiB3ZSBjYW4gYWN0dWFsbHkgZmluZAorCWl0LgorCisJKiBkbGxzL2hoY3RybC5vY3gvd2ViYnJvd3Nlci5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwktIFplcm8gdGhlIFdCSW5mbyBzdHJ1Y3QgdG8gZ2V0IHJpZCBvZiBpbnZhbGlkIHBvaW50ZXJzLgorCS0gU3RvcmUgb2JqZWN0IHBvaW50ZXJzIGluIHRoZSBXQkluZm8gc3RydWN0IGFzIHRoZXkncmUgY3JlYXRlZC4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmMsIGluY2x1ZGUvY29tbWN0cmwuaDoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBBZGQgc3VwcG9ydCBmb3IgbmF2aWdhdGluZyBhIHRvb2xiYXIgd2l0aCB0aGUgYXJyb3cga2V5cy4KKwktIEZpeCBXcmFwVG9vbGJhciBpbiB0aGUgY2FzZSBvZiBubyBwYXJlbnQgd2luZG93LgorCS0gVXNlIHRoZSBuZXdseSBhZGRlZCBOTVRCSU5JVENVU1RPTUlaRSBmb3Igc2VuZGluZyB0aGUKKwkgIFRCTl9JTklUQ1VTVE9NSVpFIHNvIHRoYXQgaXQgaXMgc2FmZSBvbiA2NC1iaXQgcGxhdGZvcm1zLgorCisJKiB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3BhcnNlci5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmMsCisJICB0b29scy93aW5lYnVpbGQvdXRpbHMuYzoKKwlHZW5lcmF0ZSBzdHViIGZ1bmN0aW9ucyBkaXJlY3RseSBpbiBhc3NlbWJseS4KKworCSogc2VydmVyL3RocmVhZC5jOgorCVJlbW92ZSBhbiBleGl0aW5nIHRocmVhZCBmcm9tIHRoZSBwcm9jZXNzIG9ubHkgYWZ0ZXIgdGhyZWFkIGNsZWFudXAgdG8KKwlhdm9pZCBhY2Nlc3NpbmcgZnJlZWQgd2luZG93IGNsYXNzZXMuCisKKwkqIGRsbHMvbXNpL2NsYXNzZXMuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUNyZWF0ZSBhIG1hY3JvIGZ1bmN0aW9uIHRvIHdyaXRlIHJlZ2lzdHJ5IHZhbHVlcy4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlQZXJmb3JtIGF1dG9tYXRpYyBiaXRtYXAgZm9udCBjb25maWd1cmF0aW9uIGJhc2VkIG9uIHRoZSBjdXJyZW50CisJbG9jYWxlLgorCisJKiBkbGxzL3VybG1vbi9NYWtlZmlsZS5pbiwgZGxscy91cmxtb24vZnRwLmMsIGRsbHMvdXJsbW9uL2h0dHAuYywKKwkgIGRsbHMvdXJsbW9uL3VybG1vbl9tYWluLmMsIGRsbHMvdXJsbW9uL3VybG1vbl9tYWluLmg6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBodHRwIGFuZCBmdHAgcHJvdG9jb2wgc3R1YiBpbXBsZW1lbnRhdGlvbi4KKworCSogcHJvZ3JhbXMvdGFza21nci90YXNrbWdyLmM6IEZpbGlwIE5hdmFyYSA8eG5hdmFyYUB2b2xueS5jej4KKwlEb24ndCBraWxsIG5vbi1leGlzdGluZyB0aW1lcnMuIFVzZSBFbmREaWFsb2cgdG8gY2xvc2UgdGhlIGRpYWxvZy4KKworCSogcHJvZ3JhbXMvdGFza21nci9wcm9jcGFnZS5jOiBNaWNoYWVsIEZyaXRzY2hlcgorCUhvb2sgdXAgIkVuZCBQcm9jZXNzIiBidXR0b24uCisKKwkqIGRsbHMveDExZHJ2L3gxMWRydi5oOgorCUF2b2lkIGEgcmVkZWZpbml0aW9uIHdhcm5pbmcgb24gNjQtYml0IHBsYXRmb3Jtcy4KKworCSogZGxscy9zZXR1cGFwaS9pbnN0YWxsLmMsIHRvb2xzL3dpbmUuaW5mOgorCUdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJQmFzZSBvZiBSRUdfRFdPUkQgZW50cmllcyBtdXN0IGJlIGF1dG8tZGV0ZWN0ZWQuCisKKwkqIGRsbHMvbXNpL21zaXByaXYuaDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZSBzb21lIHVudXNlZCB2YWx1ZXMgaW4gdGhlIG9iamVjdCBoZWFkZXIuCisKKwkqIGRsbHMvZ2RpL2ZyZWV0eXBlLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJQ29wZSB3aXRoIE9wZW5Gb250RmlsZSBmYWlsaW5nLgorCisJKiBjb25maWd1cmUuYWM6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlSZXF1aXJlIGF1dG9jb25mIDIuNTNiIGFzIEFDX1BST0dfRUdSRVAgaXMgb25seSBkZWZpbmVkIHNpbmNlIHRoYXQKKwl2ZXJzaW9uLgorCisJKiBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwgZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jLAorCSAgZGxscy9udGRsbC9zaWduYWxfcG93ZXJwYy5jLCBkbGxzL250ZGxsL3NpZ25hbF9zcGFyYy5jLAorCSAgZGxscy9udGRsbC90aHJlYWQuYywgZGxscy9udGRsbC92aXJ0dWFsLmM6CisJU3VwcG9ydCBhcmJpdHJhcnkgc2l6ZXMgZm9yIHRoZSB0aHJlYWQgc2lnbmFsIHN0YWNrLCBhbmQgc2V0IHRoZQorCWRlZmF1bHQgc2l6ZSBmcm9tIHRoZSBNSU5TSUdTVEtTWiBjb25zdGFudC4KKworCSogZGxscy9xdWFydHovbWVtYWxsb2NhdG9yLmM6IEdldCByaWQgb2YgYW5vdGhlciBsb25nIGxvbmcgY29uc3RhbnQuCisKKwkqIGRsbHMvdXJsbW9uL2ZpbGUuYywgZGxscy91cmxtb24vdGVzdHMvcHJvdG9jb2wuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUFkZGVkIE1JTUUgdHlwZSBjaGVja2luZyB0byBGaWxlUHJvdG9jb2w6OlN0YXJ0LgorCisJKiBwcm9ncmFtcy90YXNrbWdyL2FwcGxwYWdlLmMsIHByb2dyYW1zL3Rhc2ttZ3IvcGVyZnBhZ2UuYywKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvcHJvY3BhZ2UuYzoKKwlUaG9tYXMgV2VpZGVubXVlbGxlciA8d2luZS1wYXRjaGVzQHJlYWN0c29mdC5jb20+CisJVXNlIGFub255bW91cyBldmVudHMgZm9yIHN5bmNocm9uaXphdGlvbi4KKworCSogZGxscy9tc2kvZGF0YWJhc2UuYywgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS90YWJsZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb252ZXJ0IHRoZSBsaXN0IG9mIHRhYmxlcyB0byBhIHN0YW5kYXJkIGxpc3QuCisKKwkqIGRsbHMvY3J5cHQzMi90ZXN0cy9lbmNvZGUuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBnY2MgNC4wIHdhcm5pbmdzLgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYywgZGxscy9vbGUzMi9jb21wb2JqX3ByaXZhdGUuaCwgZGxscy9vbGUzMi9ycGMuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJQWRkIGV4Y2VwdGlvbiBoYW5kbGluZyBmb3Igc3R1YnMuCisKKwkqIGluY2x1ZGUvd2luZS9ycGNmYy5oOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJRGVmaW5lIFJQQ19GQ19SQU5HRS4KKworCSogZGxscy9tc2h0bWwvcHJvdG9jb2wuYywgZGxscy9tc2h0bWwvdGVzdHMvcHJvdG9jb2wuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUFkZGVkIE1JTUUgdHlwZSBjaGVja2luZyB0byBSZXNQcm90b2NvbDo6U3RhcnQuCisKKwkqIGRsbHMvc2V0dXBhcGkvZGlza3NwYWNlLmM6IEZpbGlwIE5hdmFyYSA8eG5hdmFyYUB2b2xueS5jej4KKwlGaXggYSBjb3VwbGUgb2YgcHJvdG90eXBlcy4KKworCSogcHJvZ3JhbXMvdGFza21nci9hYm91dC5jLCBwcm9ncmFtcy90YXNrbWdyL2FmZmluaXR5LmMsCisJICBwcm9ncmFtcy90YXNrbWdyL2FwcGxwYWdlLmMsIHByb2dyYW1zL3Rhc2ttZ3IvY29sdW1uLmMsCisJICBwcm9ncmFtcy90YXNrbWdyL2RiZ2NobmwuYywgcHJvZ3JhbXMvdGFza21nci9ncmFwaC5jLAorCSAgcHJvZ3JhbXMvdGFza21nci9ncmFwaGN0bC5jLCBwcm9ncmFtcy90YXNrbWdyL2dyYXBoY3RsLmgsCisJICBwcm9ncmFtcy90YXNrbWdyL3BlcmZwYWdlLmMsIHByb2dyYW1zL3Rhc2ttZ3IvcHJvY2xpc3QuYywKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvcHJvY3BhZ2UuYywgcHJvZ3JhbXMvdGFza21nci90YXNrbWdyLmMsCisJICBwcm9ncmFtcy90YXNrbWdyL3Rhc2ttZ3IuaDoKKwlUaG9tYXMgV2VpZGVubXVlbGxlciA8d2luZS1wYXRjaGVzQHJlYWN0c29mdC5jb20+CisJRmlsaXAgTmF2YXJhIDx4bmF2YXJhQHZvbG55LmN6PgorCURMR1BST0NzIHJldHVybiBJTlRfUFRSLgorCisyMDA1LTA5LTEzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3dpbmJhc2UuaDogSW1wbGVtZW50ZWQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2VQb2ludGVyIGFuZAorCUludGVybG9ja2VkRXhjaGFuZ2VQb2ludGVyIGZvciB4ODYtNjQuCisKKwkqIGRsbHMvZ2RpL2dkaW9iai5jLCBkbGxzL2tlcm5lbC9sb2NhbDE2LmMsIGRsbHMva2VybmVsL3Byb2Nlc3MuYywKKwkgIGRsbHMva2VybmVsL3Rlc3RzL21haWxzbG90LmMsIGRsbHMva2VybmVsL3Rlc3RzL3RocmVhZC5jLAorCSAgZGxscy9udGRsbC9ydGxiaXRtYXAuYywgZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0ZXN0LmMsCisJICBkbGxzL3NobHdhcGkvY2xpc3QuYywgZGxscy9zaGx3YXBpL3Rlc3RzL2NsaXN0LmMsCisJICBkbGxzL3ZlcnNpb24vaW5zdGFsbC5jLCBkbGxzL3ZlcnNpb24vdGVzdHMvaW5mby5jLAorCSAgZGxscy93aW5pbmV0L2h0dHAuYywgaW5jbHVkZS91cmxtb24uaWRsLCBpbmNsdWRlL3dpbmNyeXB0LmgsCisJICBpbmNsdWRlL3dpbmVycm9yLmg6CisJUmVtb3ZlIHRoZSAnTCcgc3VmZml4IG9uIGEgbnVtYmVyIG9mIGNvbnN0YW50cyB0byBhdm9pZCBjb21wYXJpc29uCisJZXJyb3JzIG9uIDY0LWJpdCBwbGF0Zm9ybXMuCisKKwkqIGRsbHMvdXNlci9tZXNzYWdlLmMsIGRsbHMvdXNlci90ZXN0cy9tc2cuYywgc2VydmVyL3F1ZXVlLmM6CisJVGltZW91dCAwIG1lYW5zIGluZmluaXRlIHdhaXQgZm9yIFNlbmRNZXNzYWdlVGltZW91dC4KKwlSZW1vdmUgdGhlIG1lc3NhZ2UgZnJvbSB0aGUgcmVjZWl2ZXIgcXVldWUgaWYgaXQgdGltZXMgb3V0IGJlZm9yZQorCWJlaW5nIHJlY2VpdmVkLgorCisJKiBwcm9ncmFtcy90YXNrbWdyL2FwcGxwYWdlLmMsIHByb2dyYW1zL3Rhc2ttZ3IvZ3JhcGguYywKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvZ3JhcGhjdGwuYywgcHJvZ3JhbXMvdGFza21nci9ncmFwaGN0bC5oLAorCSAgcHJvZ3JhbXMvdGFza21nci9wZXJmcGFnZS5jLCBwcm9ncmFtcy90YXNrbWdyL3Byb2NsaXN0LmMsCisJICBwcm9ncmFtcy90YXNrbWdyL3Byb2NwYWdlLmMsIHByb2dyYW1zL3Rhc2ttZ3IvdGFza21nci5oOgorCVJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwlKaW0gVGFib3IsIFRob21hcyBXZWlkZW5tdWVsbGVyIDx3aW5lLXBhdGNoZXNAcmVhY3Rzb2Z0LmNvbT4KKwk2NCBiaXQgZml4ZXMgLS0gU3RvcmUgV2luZG93IHByb2NzIGFzIFdORFBST0MsIGNhc3QgdG8gRFdPUkRfUFRSIGluCisJU2VuZE1lc3NhZ2VUaW1lb3V0LgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IE1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlGaXhlZCBpbmNvbnNpc3RlbmN5IGluIExJU1RWSUVXX0RVTVAgbWFjcm8uCisKKwkqIGRsbHMvdXJsbW9uL2ludGVybmV0LmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgUEFSU0VfU0VDVVJJVFlfRE9NQUlOIGFjdGlvbiBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy9tc2kvbXNpcHJpdi5oLCBwcm9ncmFtcy9ycGNzcy9ycGNzc19tYWluLmMsCisJICBwcm9ncmFtcy90YXNrbWdyL3Byb2NwYWdlLmM6CisJR2V0IHJpZCBvZiBhIGNvdXBsZSBvZiBub24tcG9ydGFibGUgbG9uZyBsb25nIGNvbnN0YW50cy4KKworCSogZGxscy9tc2kvaW5zdGFsbC5jLCBkbGxzL21zaS90ZXN0cy9wYWNrYWdlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCB0aGUgaGFuZGxpbmcgb2YgTXNpR2V0VGFyZ2V0UGF0aCBhcmdzICh3aXRoIHRlc3QgY2FzZSkuCisKKwkqIGRsbHMvbXNpL2RpYWxvZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBzdXJlIHRvIHJlbGVhc2UgdGhlIHBhY2thZ2Ugd2UgZ3JhYmJlZCBvbiB0aGUgZXJyb3IgcGF0aC4KKworCSogZGxscy9zaGVsbDMyL2ljb25jYWNoZS5jOiBHZSB2YW4gR2VsZG9ycCA8Z3ZnQHJlYWN0b3MuY29tPgorCVNhdmUgYSBmZXcgbWVnYWJ5dGVzIG9mIG1lbW9yeSBieSBsb2FkaW5nIHRoZSBkZWZhdWx0IGljb24gb25seSBvbmNlCisJaW50byB0aGUgaW1hZ2UgbGlzdHMuCisKKwkqIGluY2x1ZGUvd2luZS9saWJyYXJ5LmgsIGluY2x1ZGUvd2luZS9wdGhyZWFkLmgsCisJICBsaWJzL3VuaWNvZGUvY3B0YWJsZS5jLCBsaWJzL3dpbmUvbGR0LmMsIGxvYWRlci9rdGhyZWFkLmMsCisJICBsb2FkZXIvcHRocmVhZC5jOgorCUF2b2lkIHNvbWUgd2FybmluZ3Mgb24gNjQtYml0IHBsYXRmb3Jtcy4KKworCSogZGxscy9tc2kvaW5zdGFsbC5jLCBkbGxzL21zaS90ZXN0cy9wYWNrYWdlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCB0aGUgaGFuZGxpbmcgb2YgTXNpRG9BY3Rpb24gYXJncyAod2l0aCB0ZXN0IGNhc2UpLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvYWN0aW9uLmgsIGRsbHMvbXNpL2hlbHBlcnMuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRWxpbWluYXRlIGZpeGVkIGxlbmd0aCBidWZmZXJzIGZyb20gdGhlIE1TSUZFQVRVUkUgc3RydWN0dXJlLgorCisJKiBkbGxzL29sZWF1dDMyL29sZWZvbnQuYywgZGxscy9vbGVhdXQzMi90ZXN0cy9vbGVmb250LmM6CisJV2FsdCBPZ2J1cm4gPHJldWJlbkB1Z2NzLmNhbHRlY2guZWR1PgorCUdldCBJRm9udERpc3AgdHlwZSBpbmZvcm1hdGlvbiBmcm9tIHN0ZG9sZTIudGxiLCBpbnN0ZWFkIG9mIElEaXNwYXRjaAorCWluZm9ybWF0aW9uIGZyb20gc3Rkb2xlMzIudGxiLgorCisJKiBkbGxzL2NyeXB0MzIvdGVzdHMvZW5jb2RlLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZ2NjIDQuMCB3YXJuaW5ncy4KKworCSogZGxscy9tc2kvZGlhbG9nLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTa2lwIGRhc2ggY2hhcmFjdGVycyBpbiB0aGUgUElETWFzayBmb3IgYSBNYXNrZWRFZGl0IGNvbnRyb2wuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9NYWtlZmlsZS5pbiwgZGxscy9oaGN0cmwub2N4L2hlbHAuYywKKwkgIGRsbHMvaGhjdHJsLm9jeC93ZWJicm93c2VyLmMsIGRsbHMvaGhjdHJsLm9jeC93ZWJicm93c2VyLmg6CisJSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJLSBBZGQgdGhlIFdlYkJyb3dzZXIgaW1wbGVtZW50YXRpb24uCisJLSBMb2FkIHRoZSBkZWZhdWx0IFVybCBpbiB0aGUgSFRNTCBQYW5lLgorCisJKiBkbGxzL3dpbnNwb29sL2luZm8uYzogRGV0bGVmIFJpZWtlbmJlcmcgPHdpbmUuZGV2QHdlYi5kZT4KKwlMZXQgRW51bVByaW50ZXJEcml2ZXJzIHJldHVybiB0aGUgbnVtYmVyIG9mIGRyaXZlcnMuCisKKzIwMDUtMDktMTIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jLCBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jLAorCSAgZGxscy9jb21jdGwzMi90b29sYmFyLmMsIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYywKKwkgIGRsbHMvZGJnaGVscC9taW5pZHVtcC5jLCBkbGxzL2RpbnB1dC9lZmZlY3RfbGludXhpbnB1dC5jLAorCSAgZGxscy9kc291bmQvcHJvcHNldC5jLCBkbGxzL2dkaS9mcmVldHlwZS5jLAorCSAgZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0ZXN0LmMsIGRsbHMvb2xlYXV0MzIvdGVzdHMvdmFydHlwZS5jLAorCSAgZGxscy9yaWNoZWQyMC9yZWFkZXIuYywgZGxscy9yaWNoZWQyMC9zdHlsZS5jLCBkbGxzL3NlY3VyMzIvdGh1bmtzLmMsCisJICBkbGxzL3NldHVwYXBpL3BhcnNlci5jLCBkbGxzL3NobHdhcGkvcmVnLmMsIGRsbHMvc2hsd2FwaS9zdHJpbmcuYywKKwkgIGRsbHMvd2lubW0vbWVzc2FnZTE2LmMsIGRsbHMvd2lubW0vd2lubW0uYywgZGxscy93aW5zb2NrL3NvY2tldC5jLAorCSAgZGxscy94MTFkcnYveGltLmMsIHByb2dyYW1zL3dpbmVtZW51YnVpbGRlci93aW5lbWVudWJ1aWxkZXIuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlUaGUgbGFzdCBhcmd1bWVudCB0byBNdWx0aUJ5dGVUb1dpZGVDaGFyIGlzIHdpZGUgY2hhcmFjdGVyIGNvdW50IGFuZAorCW5vdCB0aGUgYnVmZmVyIHNpemUgaW4gYnl0ZXMuIEZpeGVkIGFsbCBwbGFjZXMgd2hlcmUgaXQgd2FzIHdyb25nLgorCisJKiBkbGxzL3VybG1vbi91cmxtb24uaW5mOiBKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCVJlZ2lzdGVyIFpvbmVNYXAuCisKKwkqIGRsbHMva2VybmVsL3RocmVhZC5jLCBkbGxzL250ZGxsL3RocmVhZC5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUltcGxlbWVudGVkIGtlcm5lbDMyLkdldFRocmVhZFRpbWVzIG9uIHRvcCBvZiBudGRsbCdzIGVxdWl2YWxlbnQKKwlmdW5jdGlvbi4KKworCSogZGxscy9jb21jdGwzMi90ZXN0cy91cGRvd24uYywgZGxscy9rZXJuZWwvbG9jYWxlLmMsCisJICBkbGxzL2tlcm5lbC9tb2R1bGUuYywgZGxscy9rZXJuZWwvcmVzb3VyY2UxNi5jLAorCSAgZGxscy9rZXJuZWwvc2VsZWN0b3IuYywgZGxscy91c2VyL2RpYWxvZy5jLCBkbGxzL3VzZXIvbWVudS5jLAorCSAgZGxscy91c2VyL21lc3NhZ2UuYywgZGxscy91c2VyL3dpbnByb2MuYywgaW5jbHVkZS93aW4uaCwKKwkgIGluY2x1ZGUvd2lubnQuaDoKKwlGaXhlZCBhIGZldyBtb3JlIHBvaW50ZXIgdG8gaW50ZWdlciB0eXBlY2FzdCBpc3N1ZXMgZm9yIDY0LWJpdAorCXBsYXRmb3Jtcy4KKworCSogZGxscy9yaWNoZWQyMC9lZGl0b3IuYywgZGxscy9yaWNoZWQyMC9lZGl0c3RyLmgsCisJICBkbGxzL3JpY2hlZDIwL3dyaXRlci5jOgorCUZpeGVkIGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGRsbHMvc2hkb2N2dy9zaGRvY3Z3LmgsIGRsbHMvc2hkb2N2dy93ZWJicm93c2VyLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBJV2ViQnJvd3NlcjIgc3R1YiBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy9vbGUzMi90ZXN0cy9tYXJzaGFsLmMsIGRsbHMvdXNlci9tZXNzYWdlLmMsCisJICBkbGxzL3VzZXIvdXNlcl9tYWluLmM6CisJU2VuZE1lc3NhZ2VUaW1lb3V0IHRha2VzIGEgRFdPUkRfUFRSIG5vdCBhIERXT1JELgorCisJKiB0b29scy93aW5lZ2NjL3V0aWxzLmM6CisJUHJvcGVybHkgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHZzbnByaW50ZiByZXR1cm5zIC0xLgorCisJKiBkbGxzL2F2aWZpbDMyL2FjbXN0cmVhbS5jOiBGaXhlZCBnY2MgNC4wIHdhcm5pbmdzLgorCisJKiBkbGxzL3VzZXIvY29udHJvbHMuaCwgZGxscy91c2VyL25vbmNsaWVudC5jOgorCU1ha2UgdGhlIG5vbi1jbGllbnQgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbnMgcmV0dXJuIGFuIExSRVNVTFQuCisKKwkqIGRsbHMvYXRsL3JlZ2lzdHJhci5jLCBkbGxzL2tlcm5lbC9sb2NhbGUuYywgZGxscy9rZXJuZWwvcmVzb3VyY2UxNi5jLAorCSAgZGxscy9vbGVhdXQzMi92YXJ0eXBlLmMsIGRsbHMvdXNlci9kaWFsb2cuYywgZGxscy91c2VyL2RpYWxvZzE2LmM6CisJVXNlIE1BS0VJTlRSRVNPVVJDRSBpbnN0ZWFkIG9mIGNhc3RzIHdoZXJlIGFwcHJvcHJpYXRlLgorCisJKiBkbGxzL2F2aWZpbDMyL2F2aWZpbGUuYzoKKwlBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJSW5pdGlhbGl6ZSBzdHJ1Y3RzIGZvciBtbWlvRGVzY2VuZCBhbmQgRmluZENodW5rQW5kS2VlcEV4dHJhcyAtIGZpeGVzCisJQVZJIGZpbGUgcmVjb2duaXRpb24uCisKKwkqIHRvb2xzL3dpZGwvaGVhZGVyLmMsIHRvb2xzL3dpZGwvaGVhZGVyLmgsIHRvb2xzL3dpZGwvcGFyc2VyLmwsCisJICB0b29scy93aWRsL3BhcnNlci55LCB0b29scy93aWRsL3dpZGwuYywgdG9vbHMvd2lkbC93aWRsdHlwZXMuaDoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBPdXRwdXQgcHJvdG90eXBlcyBmb3IgdXNlciBtYXJzaGFsIGZ1bmN0aW9ucyBhdCB0aGUgZW5kIG9mIHRoZQorCSAgaGVhZGVyIGFuZCBieSB1c2UuCisJLSBBZGQgc3VwcG9ydCBmb3IgcmFuZ2UgYW5kIHB0ciBhdHRyaWJ1dGVzIGFuZCBmb3IgdGhlICJzbWFsbCIgYmFzZQorCSAgdHlwZS4KKworCSogZGxscy9tc2h0bWwvcHJvdG9jb2wuYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlFbmNvZGUgVVJMIGluIFJlc1Byb3RvY29sOjpTdGFydC4KKworCSogZGxscy91cmxtb24vdGVzdHMvbWlzYy5jLCBkbGxzL3VybG1vbi91bW9uLmMsCisJICBkbGxzL3VybG1vbi91cmxtb25fbWFpbi5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJUmV3cm90ZSBGaW5kTWltZUZyb21EYXRhIHRvIHBhc3MgdGVzdHMuCisKKwkqIGRsbHMvZGRyYXcvc3VyZmFjZV93bmRwcm9jLmM6CisJVXNlIEdldC9TZXRXaW5kb3dMb25nUHRyIHRvIGFjY2VzcyBwb2ludGVycyBpbiB0aGUgd2luZG93IGV4dHJhCisJYnl0ZXMuCisKKwkqIGRsbHMvdXNlci9saXN0Ym94LmM6CisJQXZvaWQgdHJ1bmNhdGluZyB0aGUgaXRlbSBkYXRhIHRvIDMyIGJpdHMgaW4gTEJfU0VUSVRFTURBVEEuCisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYzoKKwlQYXJhbWV0ZXJzIHRvIHZpcnR1YWwgbWVtb3J5IGZ1bmN0aW9ucyBuZWVkIHRvIGJlIFNJWkVfVC4KKworCSogZGxscy9rZXJuZWwvbG9jYWxlLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJc3RyY3B5bkF0b1cgdGFrZXMgbnVtYmVyIG9mIGNoYXJhY3RlcnMsIG5vdCBieXRlcy4KKworCSogZGxscy9hdmljYXAzMi9hdmljYXAzMl9tYWluLmM6IEZpeGVkIGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGluY2x1ZGUvd2luZ2RpLmg6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJRVhUTE9HUEVOLmVscEhhdGNoIGNhbiBjb250YWluIGEgaGFuZGxlIGFzIHdlbGwuCisKKwkqIGRsbHMvY3J5cHQzMi90ZXN0cy9lbmNvZGUuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBnY2MgNC4wIHdhcm5pbmdzLgorCisJKiBkbGxzL21zaS9hY3Rpb24uaCwgZGxscy9tc2kvY2xhc3Nlcy5jLCBkbGxzL21zaS9oZWxwZXJzLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUVsaW1pbmF0ZSB5ZXQgbW9yZSBmaXhlZCBsZW5ndGggYnVmZmVycy4KKworCSogZGxscy9hZHZhcGkzMi9yZWdpc3RyeS5jLCBkbGxzL2F2aWZpbDMyL2dldGZyYW1lLmMsCisJICBkbGxzL2RiZ2hlbHAvY29mZi5jLCBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9kc291bmQvcHJpbWFyeS5jLAorCSAgZGxscy9kc291bmQvcHJvcHNldC5jLCBkbGxzL2tlcm5lbC9kb3NtZW0uYywKKwkgIGRsbHMva2VybmVsL2tlcm5lbF9wcml2YXRlLmgsIGRsbHMvbXNhY20vZm9ybWF0LmMsCisJICBkbGxzL21zYWNtL3N0cmVhbS5jLCBkbGxzL21zdmNydC9jcHBleGNlcHQuYywgZGxscy9tc3ZjcnQvbG9jYWxlLmMsCisJICBkbGxzL250ZGxsL2RpcmVjdG9yeS5jLCBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jLCBkbGxzL250ZGxsL3NlYy5jLAorCSAgZGxscy9udGRsbC92aXJ0dWFsLmMsIGRsbHMvb3BlbmdsMzIvd2dsLmMsIGRsbHMvc2V0dXBhcGkvcXVldWUuYywKKwkgIGRsbHMvdXNlci9jYXJldC5jLCBkbGxzL3VzZXIvZXh0aWNvbi5jLCBkbGxzL3VzZXIvc3B5LmMsCisJICBkbGxzL3ZlcnNpb24vaW5mby5jLCBkbGxzL3gxMWRydi9ldmVudC5jLCBkbGxzL3gxMWRydi9rZXlib2FyZC5jLAorCSAgaW5jbHVkZS93aW5kb3dzeC5oLCB0b29scy93aW5lYnVpbGQvcmVzMzIuYywgdG9vbHMvd2luZWR1bXAvZGVidWcuYywKKwkgIHRvb2xzL3dyYy9uZXdzdHJ1Yy5jOgorCUZpeGVkIGEgbnVtYmVyIG9mIHBvaW50ZXIgdG8gaW50ZWdlciBjb252ZXJzaW9ucyB0aGF0IHdvdWxkbid0IHdvcmsKKwlyaWdodCBvbiBhIDY0LWJpdCBwbGF0Zm9ybS4KKworCSogZGxscy9tc2kvbXNpcXVlcnkuYzogRml4ZWQgbWVtb3J5IGxlYWsgaW50cm9kdWNlZCBpbiBwcmV2aW91cyBjaGFuZ2UuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXdfbWFpbi5jLCBkbGxzL2RkcmF3L3N1cmZhY2VfbWFpbi5jLAorCSAgZGxscy9kc291bmQvY2FwdHVyZS5jLCBkbGxzL2Rzb3VuZC9kc291bmQuYywgZGxscy9rZXJuZWwvaW5zdHIuYywKKwkgIGRsbHMva2VybmVsL2xvY2FsMTYuYywgZGxscy9rZXJuZWwvbmVfbW9kdWxlLmMsCisJICBkbGxzL2tlcm5lbC9yZXNvdXJjZTE2LmMsIGRsbHMva2VybmVsL3Rhc2suYywgZGxscy9rZXJuZWwvdGh1bmsuYywKKwkgIGRsbHMvbXNhY20vZHJpdmVyLmMsIGRsbHMvbXNhY20vbXNhZHAzMi9tc2FkcDMyLmMsCisJICBkbGxzL21zYWNtL21zZzcxMS9tc2c3MTEuYywgZGxscy9tc2FjbS9wY21jb252ZXJ0ZXIuYywKKwkgIGRsbHMvbXNhY20vdGVzdHMvbXNhY20uYywgZGxscy9xdWFydHovZmlsdGVyZ3JhcGguYywKKwkgIGRsbHMvdXNlci9kcml2ZXIxNi5jLCBkbGxzL3VzZXIvbWVzc2FnZS5jLCBkbGxzL3VzZXIvcmVzb3VyY2UuYywKKwkgIGRsbHMvdmVyc2lvbi9yZXNvdXJjZS5jLCBkbGxzL3ZtbS52eGQvdm1tLmMsCisJICBkbGxzL3dpbmFzcGkvd2luYXNwaTMyLmMsIGRsbHMvd2luZWQzZC9zd2FwY2hhaW4uYywKKwkgIGRsbHMvd2luaW5ldC91dGlsaXR5LmMsIGRsbHMvd2lubW0vZHJpdmVyLmMsCisJICBkbGxzL3dpbm1tL3dpbmVhbHNhL2F1ZGlvLmMsIGRsbHMvd2luc29jay9zb2NrZXQuYywKKwkgIGRsbHMvd2ludGFiMzIvY29udGV4dC5jOgorCUZpeGVkIHNvbWUgbW9yZSB0cmFjZXMgdG8gdXNlIHRoZSByaWdodCBwcmludGYgZm9ybWF0IGFuZCBhdm9pZAorCXR5cGVjYXN0cy4KKworCSogZGxscy91c2VyL2J1dHRvbi5jLCBkbGxzL3VzZXIvY29tYm8uYywgZGxscy91c2VyL2VkaXQuYywKKwkgIGRsbHMvdXNlci9saXN0Ym94LmMsIGRsbHMvdXNlci9tZW51LmM6CisJVXNlIEdldC9TZXRXaW5kb3dMb25nUHRyIHdoZW4gYWNjZXNzaW5nIHBvaW50ZXJzIGluIHRoZSB3aW5kb3cgZXh0cmEKKwlieXRlcy4KKworCSogZGxscy9zaGVsbDMyL2NwYW5lbGZvbGRlci5jLCBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jLAorCSAgZGxscy9zaGVsbDMyL3Rlc3RzL3NobGV4ZWMuYzoKKwlHZSB2YW4gR2VsZG9ycCA8Z3ZnQHJlYWN0b3MuY29tPgorCUZpeCBleGVjdXRpb24gb2YgQ29udHJvbCBQYW5lbCBpdGVtcy4KKworCSogaW5jbHVkZS93aW51c2VyLmg6IEl2YW4gTGVvIFB1b3RpIDxpdmFubGVvQGdtYWlsLmNvbT4KKwlBZGRlZCBhIG1pc3NpbmcgZGVmaW5lLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvYWN0aW9uLmgsIGRsbHMvbXNpL2hlbHBlcnMuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IG1vcmUgZml4ZWQgbGVuZ3RoIGJ1ZmZlcnMuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9jbGFzcy5jOgorCVVzZSBHZXQvU2V0Q2xhc3NMb25nUHRyIHRvIGFjY2VzcyB0aGUgbW9kdWxlIGhhbmRsZS4KKworCSogZGxscy91c2VyL2xpc3Rib3guYzogVGhlIGl0ZW0gdXNlciBkYXRhIGhhcyB0byBiZSBhIFVMT05HX1BUUi4KKworCSogbGlicy93aW5lL2xvYWRlci5jOgorCU9ubHkgYWRkIHRoZSBkZWZhdWx0IGRsbGRpciB0byB0aGUgc2VhcmNoIHBhdGggaWYgdGhhdCdzIHdoZXJlIG50ZGxsCisJaXMgZm91bmQuCisKKwkqIGRsbHMvZ2RpL2JydXNoLmMsIGRsbHMvZ2RpL2VuaG1ldGFmaWxlLmMsCisJICBkbGxzL2dkaS9lbmhtZmRydi9vYmplY3RzLmMsIGRsbHMvZ2RpL3Rlc3RzL21ldGFmaWxlLmMsCisJICBpbmNsdWRlL3dpbmdkaS5oOgorCUxPR0JSVVNILmxiSGF0Y2ggbXVzdCBiZSBhIFVMT05HX1BUUiBzaW5jZSBpdCBjYW4gY29udGFpbiBhIGhhbmRsZS4KKworCSogZGxscy9tc2kvbXNpcXVlcnkuYzogQXZvaWQgbm9uLXBvcnRhYmxlIHZhX2xpc3QgbWFuaXB1bGF0aW9ucy4KKworCSogZGxscy94MTFkcnYveHJlbmRlci5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVVzZSB0aGUgZ2FzcCB0YWJsZSB0byBjaGVjayB3aGV0aGVyIHdlIHNob3VsZCB0cmlnZ2VyIGFudGlhbGlhc2luZy4KKworCSogZGxscy91cmxtb24vZmlsZS5jOiBKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUVuY29kZSBVUkwgaW4gZmlsZSBwcm90b2NvbC4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMi5oLCBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmMsCisJICBkbGxzL2NvbWN0bDMyL3RoZW1pbmcuYzoKKwlGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlVbnJlZ2lzdGVyIHRoZW1pbmcgc3ViY2xhc3NlcyBhdCBjb21jdGwzMiBzaHV0ZG93bjsgc2hvdWxkIGZpeAorCXJlcG9ydGVkIHJlLXJlZ2lzdHJhdGlvbiBlcnJvcnMuCisKKwkqIGRsbHMvdXJsbW9uL3Rlc3RzL3Byb3RvY29sLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJRml4IHByb3RvY29sIHRlc3QuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9GaS5yYywgZGxscy9oaGN0cmwub2N4L2hoY3RybC5yYywKKwkgIGRsbHMvc2VyaWFsdWkvRmkucmMsIGRsbHMvc2VyaWFsdWkvc2VyaWFsdWlfcmMucmMsCisJICBkbGxzL3NoZG9jdncvRmkucmMsIGRsbHMvc2hkb2N2dy9zaGRvY3Z3LnJjLCBkbGxzL3dpbnNwb29sL0ZpLnJjLAorCSAgZGxscy93aW5zcG9vbC93aW5zcG9vbC5yYywgcHJvZ3JhbXMvd2luZW1pbmUvRmkucmMsCisJICBwcm9ncmFtcy93aW5lbWluZS9yc3JjLnJjOgorCUtpbW1vIE15bGx5dmlydGEgPGtpbW1vLm15bGx5dmlydGFAZ21haWwuY29tPgorCUFkZGVkIEZpbm5pc2ggcmVzb3VyY2VzLgorCisJKiBpbmNsdWRlL2V4ZGlzcC5pZGw6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgbWlzc2luZyBhdHRyaWJ1dGVzLgorCisJKiBpbmNsdWRlL2V4ZGlzcGlkLmg6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgbW9yZSBkZWZpbml0aW9ucy4KKworCSogZGxscy9tc2kvaGVscGVycy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBzdXJlIG5vdCB0byBhY2Nlc3MgaW52YWxpZCBjb21wb25lbnRzIG9yIGZlYXR1cmVzLgorCisJKiBkbGxzL3VybG1vbi9NYWtlZmlsZS5pbjogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCB1cmxtb24uaW5mIGFzIGRlcGVuZGVuY3kgb2YgcnNyYy5yZXMuCisKKwkqIGluY2x1ZGUvc2hsb2JqLmg6CisJRml4ZWQgdGhlIGJpbmFyeSBsYXlvdXQgZ2NjIGhhY2tzIHRvIGRvIHRoZSByaWdodCB0aGluZyBmb3IgZ2NjIDQuMC4KKworCSogZGxscy93aW5lZG9zL2ludDIxLmMsIGRsbHMvd2lubW0vbWNpLmMsIGRsbHMvd2lubW0vbWVzc2FnZTE2LmMsCisJICBkbGxzL3dpbm1tL3dpbmVtbS5oOgorCUZpeGVkIGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGRsbHMvbnRkbGwvZW52LmMsIGRsbHMvbnRkbGwvaGFuZGxldGFibGUuYywgZGxscy9udGRsbC9sb2FkZXIuYywKKwkgIGRsbHMvbnRkbGwvc2VydmVyLmMsIGRsbHMvbnRkbGwvdGhyZWFkLmM6CisJVXNlIFNJWkVfVCBpbnN0ZWFkIG9mIFVMT05HIGZvciB0aGUgc2l6ZSBhcmd1bWVudHMgb2YgdGhlIHZpcnR1YWwKKwltZW1vcnkgZnVuY3Rpb25zLgorCisJKiBkbGxzL2RpbnB1dC9kZXZpY2UuYywgZGxscy9kaW5wdXQvZGlucHV0X21haW4uYywKKwkgIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4LmMsIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4aW5wdXQuYywKKwkgIGRsbHMvZGlucHV0L2tleWJvYXJkLmMsIGRsbHMvZGlucHV0L21vdXNlLmMsIGRsbHMvZHNvdW5kL2J1ZmZlci5jLAorCSAgZGxscy9kc291bmQvZHVwbGV4LmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2QuYywKKwkgIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2Q4LmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvdGVzdHMvZHNvdW5kOC5jLCBkbGxzL2dkaS9wcmludGRydi5jLCBkbGxzL2ltbTMyL2ltbS5jLAorCSAgZGxscy9pcGhscGFwaS9pcGhscGFwaV9tYWluLmMsIGRsbHMva2VybmVsL2NoYW5nZS5jLAorCSAgZGxscy9rZXJuZWwvZXhjZXB0LmMsIGRsbHMvbXNybGUzMi9tc3JsZTMyLmMsIGRsbHMvbnRkbGwvY2Ryb20uYywKKwkgIGRsbHMvb2xlMzIvb2xlMi5jLCBkbGxzL3VzZXIvY3Vyc29yaWNvbi5jLCBkbGxzL3gxMWRydi9jbGlwYm9hcmQuYywKKwkgIGRsbHMveDExZHJ2L3hpbS5jOgorCUZpeGVkIHNvbWUgdHJhY2VzIHRvIHVzZSB0aGUgcmlnaHQgcHJpbnRmIGZvcm1hdCBhbmQgYXZvaWQgdHlwZWNhc3RzLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzoKKwlPbmx5IHRyeSB0byBzZXQgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnkgb24gaTM4Ni4KKwlBZGQgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgd2FybmluZyBpZiBzdXBwb3J0ZWQuCisKKwkqIGRsbHMvbXNpL2RpYWxvZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGFuIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgcHJvYmxlbS4KKworCSogZGxscy91cmxtb24vaW50ZXJuZXQuYywgZGxscy91cmxtb24vdGVzdHMvbWlzYy5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgUEFSU0VfU0VDVVJJVFlfVVJMIGFjdGlvbiBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy93aW50cnVzdC93aW50cnVzdF9tYWluLmM6IFBhdWwgVnJpZW5zIDxQYXVsLlZyaWVuc0B4czRhbGwubmw+CisJUmV0dXJuIEVSUk9SX1NVQ0NFU1MgYXMgZGVmYXVsdCBhbmQgVFJVU1RfRV9QUk9WSURFUl9VTktOT1dOIGlmIGFza2VkCisJZm9yIFdJTlRSVVNUX0FDVElPTl9HRU5FUklDX1ZFUklGWV9WMi4KKworCSogZGxscy9tc2h0bWwvcHJvdG9jb2wuYywgZGxscy9tc2h0bWwvdGVzdHMvcHJvdG9jb2wuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUFkZGVkICpQcm90b2NvbEluZm86OlBhcnNlVXJsIGltcGxlbWVudGF0aW9uLgorCisJKiBkbGxzL3NoZG9jdncvZXZlbnRzLmMsIGRsbHMvc2hkb2N2dy9zaGRvY3Z3LmgsCisJICBkbGxzL3NoZG9jdncvd2ViYnJvd3Nlci5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJTWFrZSBJQ29ubmVjdGlvblBvaW50Q29udGFpbmVyIGludGVyZmFjZSBoZWFwIGJhc2VkLgorCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvc2hlbGxwYXRoLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlSZW1vdmUgYW4gYW5ub3lpbmcgZGlhbG9nIHdoZW4gdHJ5aW5nIHRvIGNsZWFuIHVwIGEgZGlyZWN0b3J5LgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmMsIGRsbHMveDExZHJ2L3dpbnBvcy5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgdGVzdCBmb3IgU2hvd1dpbmRvdyhTV19TSE9XTUFYSU1JWkVEKSBjYWxsZWQgZm9yIGEgbm90IHZpc2libGUKKwlvdmVybGFwcGVkIHdpbmRvdywgd2hpY2ggc2hvd3MgdGhhdCBXTV9TSE9XV0lORE9XIGlzIG5vdCBzZW50IGluIHRoYXQKKwljYXNlIGFuZCB0aGF0IGl0IHNob3VsZCBhY3RpdmF0ZSBhIHdpbmRvdyBhbmQgYnJpbmcgaXQgdG8gdG9wLgorCisJKiBkbGxzL2NyeXB0MzIvY2VydC5jLCBkbGxzL2NyeXB0MzIvdGVzdHMvY2VydC5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlXaGVuIGRlY29kaW5nIGEgc2lnbmVkIGNlcnQsIG1ha2Ugc3VyZSBpdCdzIHJlYWxseSBhIGNlcnQuCisKKzIwMDUtMDktMDkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvdGVzdHMvc3ViY2xhc3MuYywgZGxscy9nZGkvdGVzdHMvYml0bWFwLmMsCisJICBkbGxzL3VzZXIvdGVzdHMvY2xhc3MuYywgZGxscy91c2VyL3Rlc3RzL21lbnUuYywKKwkgIGRsbHMvdXNlci90ZXN0cy9tc2cuYywgZGxscy91c2VyL3Rlc3RzL3dpbi5jLAorCSAgcHJvZ3JhbXMvdGFza21nci9ncmFwaC5jLCBwcm9ncmFtcy90YXNrbWdyL3BlcmZwYWdlLmMsCisJICBwcm9ncmFtcy90YXNrbWdyL3Byb2NwYWdlLmMsIHByb2dyYW1zL3dpbmVjb25zb2xlL2RpYWxvZy5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9nZGJwcm94eS5jLCBwcm9ncmFtcy93aW5lZGJnL2luZm8uYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmMsIHByb2dyYW1zL3dpbmhlbHAvd2luaGVscC5jOgorCVVzZSBHZXQvU2V0V2luZG93TG9uZ1B0ciBpbnN0ZWFkIG9mIEdldC9TZXRXaW5kb3dMb25nIHdoZXJlCisJYXBwcm9wcmlhdGUuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzIuc3BlYywgZGxscy9kYmdoZWxwL2RiZ2hlbHAuc3BlYywKKwkgIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMvbWFwaTMyL21hcGkzMi5zcGVjLAorCSAgZGxscy9tc3ZjcnQvbXN2Y3J0LnNwZWMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywKKwkgIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzIuc3BlYywgZGxscy9zaGVsbDMyL3NoZWxsMzIuc3BlYywKKwkgIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWMsIGRsbHMvdXNlci91c2VyMzIuc3BlYywKKwkgIGRsbHMvdXh0aGVtZS91eHRoZW1lLnNwZWMsIGRsbHMvd2luaW5ldC93aW5pbmV0LnNwZWM6CisJU3BlY2lmeSA2NC1iaXQgaW50ZWdlcnMgYXMgZG91YmxlIGluc3RlYWQgb2YgbG9uZyBsb25nIGluIHNwZWMgZmlsZXMKKwlzbyB0aGF0IHdlIGdldCB0aGUgY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzLgorCisJKiBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnR5cGUuYywgZGxscy9vbGVhdXQzMi92YXJ0eXBlLmM6CisJQWxleCBWaWxsYWPtcyBMYXNzbyA8YV92aWxsYWNpc0BwYWxvc2FudG8uY29tPgorCU1ha2UgU2luZ2xlfERvdWJsZS0+QlNUUiBjb252ZXJzaW9uIHVzZSB0aGUgc3BlY2lmaWVkIGxvY2FsZSBmb3IgdGhlCisJZGVjaW1hbCBwb2ludCBldmVuIHdpdGhvdXQgdGhlIExPQ0FMRV9VU0VfTkxTIGZsYWcuIFRlc3Qgc3VwcGxpZWQuCisKKwkqIGRsbHMvZDNkOC92c2hhZGVyZGVjbGFyYXRpb24uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBnY2MgNC4wIHdhcm5pbmcuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5oLCBkbGxzL21zaS9jbGFzc2VzLmMsIGRsbHMvbXNpL2hlbHBlcnMuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTW92ZSBhIGZpeGVkIHNpemUgYnVmZmVyIHRvIHRoZSBoZWFwLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVJlZHVjZSB0aGUgaW5kZW50IGxldmVsIG9mIGEgZnVuY3Rpb24uCisKKwkqIGRsbHMvbnRkbGwvdmlydHVhbC5jOgorCUFkZGVkIGRlc2NyaXB0aW9ucyBmb3IgYSBmZXcgbW9yZSBtYWNoaW5lIHR5cGVzLgorCisJKiBkbGxzL3VzZXIvdXNlcl9tYWluLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJSWYgZ2l2ZW4gdGhlIEVXWF9GT1JDRSBmbGFnLCBFeGl0V2luZG93c0V4KCkgc2hvdWxkIG5vdCBzZW5kIHRoZQorCVdNX3tRVUVSWX1FTkRTRVNTSU9OIG1lc3NhZ2VzLgorCUFkZCBzdXBwb3J0IGZvciBFV1hfRk9SQ0VJRkhVTkcuCisJRXhpdFdpbmRvd3NFeCgpIHNob3VsZCByZXR1cm4gdHJ1ZSBpZiBpdCBzdWNjZWVkcywgZXZlbiBpZiB0aGUgdXNlcgorCWNhbmNlbHMgdGhlIHNodXRkb3duLgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYywgZGxscy9kaW5wdXQvam95c3RpY2tfbGludXguYywKKwkgIGRsbHMvZGlucHV0L2tleWJvYXJkLmMsIGRsbHMvZHNvdW5kL2J1ZmZlci5jLCBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsCisJICBkbGxzL2Rzb3VuZC9kc291bmQuYywgZGxscy9kc291bmQvZHVwbGV4LmMsIGRsbHMvZ2RpL2RyaXZlci5jLAorCSAgZGxscy9nZGkvZ2Rpb2JqLmMsIGRsbHMva2VybmVsL2NvbnNvbGUuYywgZGxscy9rZXJuZWwva2VybmVsX21haW4uYywKKwkgIGRsbHMva2VybmVsL2xjZm9ybWF0LmMsIGRsbHMva2VybmVsL21vZHVsZS5jLCBkbGxzL2tlcm5lbC9wcm9maWxlLmMsCisJICBkbGxzL2tlcm5lbC9zeXNsZXZlbC5jLCBkbGxzL2tlcm5lbC92eGQuYywgZGxscy9tc2Ntcy9oYW5kbGUuYywKKwkgIGRsbHMvbXNpL2hhbmRsZS5jLCBkbGxzL250ZGxsL2Nkcm9tLmMsIGRsbHMvbnRkbGwvY3JpdHNlY3Rpb24uYywKKwkgIGRsbHMvbnRkbGwvZGlyZWN0b3J5LmMsIGRsbHMvbnRkbGwvZXhjZXB0aW9uLmMsIGRsbHMvbnRkbGwvaGVhcC5jLAorCSAgZGxscy9udGRsbC9sb2FkZXIuYywgZGxscy9udGRsbC9ydGwuYywgZGxscy9udGRsbC90aW1lLmMsCisJICBkbGxzL250ZGxsL3ZpcnR1YWwuYywgZGxscy9vbGUzMi9jb21wb2JqLmMsCisJICBkbGxzL29sZTMyL2NvbXBvYmpfcHJpdmF0ZS5oLCBkbGxzL29sZTMyL2dpdC5jLCBkbGxzL29sZTMyL2lmcy5jLAorCSAgZGxscy9vbGUzMi9ycGMuYywgZGxscy9vbGVhdXQzMi90eXBlbGliLmMsIGRsbHMvcnBjcnQ0L3JwY19zZXJ2ZXIuYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NF9tYWluLmMsIGRsbHMvc2hlbGwzMi9jaGFuZ2Vub3RpZnkuYywKKwkgIGRsbHMvc2hlbGwzMi9pY29uY2FjaGUuYywgZGxscy91c2VyL2N1cnNvcmljb24uYywKKwkgIGRsbHMvdXNlci9kZGVfbWlzYy5jLCBkbGxzL3VzZXIvbWVzc2FnZS5jLCBkbGxzL3VzZXIvdXNlcl9tYWluLmMsCisJICBkbGxzL3VzZXIvd2lucHJvYy5jLCBkbGxzL3dpbmFzcGkvd2luYXNwaTMyLmMsIGRsbHMvd2luZWRvcy9kb3N2bS5jLAorCSAgZGxscy93aW5lZG9zL3ZnYS5jLCBkbGxzL3dpbmluZXQvaW50ZXJuZXQuYywKKwkgIGRsbHMvd2lubW0vd2luZWFsc2EvbWlkaS5jLCBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYywKKwkgIGRsbHMvd2lubW0vd2luZW9zcy9taWRpLmMsIGRsbHMvd2lubW0vd2lubW0uYywgZGxscy93aW5zb2NrL2FzeW5jLmMsCisJICBkbGxzL3dpbnNwb29sL2luZm8uYywgZGxscy94MTFkcnYvZGNlLmMsIGRsbHMveDExZHJ2L2RpYi5jLAorCSAgZGxscy94MTFkcnYveDExZHJ2X21haW4uYywgZGxscy94MTFkcnYveGRuZC5jLCBkbGxzL3gxMWRydi94Zm9udC5jLAorCSAgZGxscy94MTFkcnYveHJlbmRlci5jLCBpbmNsdWRlL3dpbm50Lmg6CisJVXNlIGEgbW9yZSBwb3J0YWJsZSBzY2hlbWUgZm9yIHN0b3JpbmcgdGhlIG5hbWUgb2YgYSBjcml0aWNhbAorCXNlY3Rpb24uCisKKwkqIGRsbHMvc2hkb2N2dy9taXNjLmMsIGRsbHMvc2hkb2N2dy9zaGRvY3Z3LmgsIGRsbHMvc2hkb2N2dy93ZWJicm93c2VyLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlNYWtlIElRdWlja0FjdGl2YXRlIGludGVyZmFjZSBoZWFwIGJhc2VkLgorCisJKiBkbGxzL3dpbm1tL3BsYXlzb3VuZC5jOiBVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJRGlzcGxheSBmY2NUeXBlIGFzIGhleCBpbnN0ZWFkIG9mIGNoYXJhY3RlcnMgaW4gdHJhY2Ugb3V0cHV0LgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzogQWRkZWQgYSBkZWZpbmUgY2hlY2sgZm9yIF9feDg2XzY0X18uCisKKwkqIHRvb2xzL3dpbmVkdW1wL2R1bXAuYzoKKwlGaXhlZCBnZXRfdGltZV9zdHIgZGVmaW5pdGlvbiB0byBtYXRjaCB0aGUgcHJvdG90eXBlLgorCisJKiB0b29scy93aW5hcGkvd2luMzIuYXBpOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJVXBkYXRlIHRoZSB3aW4zMi5hcGkgZmlsZSB0byBjdXJyZW50IENWUy4KKworCSogZGxscy9kaW5wdXQvZWZmZWN0X2xpbnV4aW5wdXQuYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJVXNlIHByb3BlciBpZmRlZnMgYXJvdW5kIHVuaXN0ZC5oLgorCisJKiBkbGxzL2NyeXB0MzIvY2VydC5jLCBkbGxzL2NyeXB0MzIvdGVzdHMvY2VydC5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwktIGNhbGwgQ2VydEZyZWVDZXJ0aWZpY2F0ZUNvbnRleHQgZnJvbSBDZXJ0RGVsZXRlQ2VydGlmaWNhdGVGcm9tU3RvcmUKKwktIGZpeCBzb21lIHJlZiBjb3VudGluZyBwcm9ibGVtcworCisJKiBkbGxzL3VybG1vbi9yZWdzdnIuYywgZGxscy91cmxtb24vdGVzdHMvcHJvdG9jb2wuYywKKwkgIGRsbHMvdXJsbW9uL3VybG1vbl9tYWluLmgsIGluY2x1ZGUvdXJsbW9uLmlkbDoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCU1vdmUgcHJvdG9jb2wncyBDTFNJRHMgdG8gdXJsbW9uLmlkbC4KKworCSogZGxscy91cmxtb24vaW50ZXJuZXQuYywgZGxscy91cmxtb24vdGVzdHMvbWlzYy5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgUEFSU0VfUEFUSF9GUk9NX1VSTCBhY3Rpb24gaW1wbGVtZW50YXRpb24uCisKKwkqIGRsbHMvdXJsbW9uL3JzcmMucmMsIGRsbHMvdXJsbW9uL3ZlcnNpb24ucmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJQWRkZWQgdmVyc2lvbiByZXNvdXJjZSB0byB1cmxtb24uZGxsLgorCisyMDA1LTA5LTA4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jOiBEZWZpbmUgR0VUX0lQIGZvciB4ODZfNjQuCisKKwkqIGxpYnMvd2luZS9wb3J0LmM6IEltcGxlbWVudGVkIHdpbmVfc3dpdGNoX3RvX3N0YWNrIGZvciB4ODZfNjQuCisKKwkqIGRsbHMvd2lubW0vZHJpdmVyLmMsIGRsbHMvd2lubW0vbG9sdmxkcnYuYzoKKwlBdm9pZCAnY2xvYmJlcmVkIGJ5IGxvbmdqbXAnIHdhcm5pbmdzLgorCisJKiBmb250cy8uY3ZzaWdub3JlLCBmb250cy9NYWtlZmlsZS5pbiwgZm9udHMvY291cmllci5zZmQsCisJICBmb250cy9tYXJsZXR0LnNmZCwgZm9udHMvbXNfc2Fuc19zZXJpZi5zZmQsIGZvbnRzL3N5c3RlbS5zZmQsCisJICBmb250cy93aW5lX2NvdXJpZXIuc2ZkLCBmb250cy93aW5lX21hcmxldHQuc2ZkLAorCSAgZm9udHMvd2luZV9zYW5zX3NlcmlmLnNmZCwgZm9udHMvd2luZV9zeXN0ZW0uc2ZkOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUmVuYW1lIFdpbmUgZm9udHMgdG8gbWF0Y2ggV2luZG93cyBmb250IG5hbWVzLgorCisJKiBkbGxzL3dsZGFwMzIvY29udHJvbC5jLCBkbGxzL3dsZGFwMzIvd2lubGRhcF9wcml2YXRlLmgsCisJICBkbGxzL3dsZGFwMzIvd2xkYXAzMi5zcGVjOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcGxlbWVudCBsZGFwX2NyZWF0ZV9zb3J0X2NvbnRyb2wqLgorCisJKiBkbGxzL2NyeXB0MzIvY2VydC5jLCBkbGxzL2NyeXB0MzIvdGVzdHMvY2VydC5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwktIGltcGxlbWVudCBzeXN0ZW0gc3RvcmVzCisJLSByZW1vdmUgYW4gaW50ZXJtaXR0ZW50bHkgZmFpbGluZyByZWdpc3RyeSB0ZXN0CisKKwkqIGRsbHMvc2hkb2N2dy9jbGFzc2luZm8uYywgZGxscy9zaGRvY3Z3L3NoZG9jdncuaCwKKwkgIGRsbHMvc2hkb2N2dy93ZWJicm93c2VyLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlNYWtlIElQcm92aWRlQ2xhc3NJbmZvMiBpbnRlcmZhY2UgaGVhcCBiYXNlZC4KKworCSogZGxscy93aW5tbS9tbWlvLmM6IFVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlja2lkIG5vdCBmY2NUeXBlIHNwZWNpZmllcyB0aGUgZm9ybSB0eXBlIHRvIHNlYXJjaCBmb3IuCisKKwkqIGRsbHMvbXNodG1sL3Byb3RvY29sLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJUmVsZWFzZSBCSU5ESU5GTyBpbiAqUHJvdG9jb2w6OlN0YXJ0LgorCisJKiBkbGxzL2dkaS9mb250LmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJRml4IHJldHVybiB2YWx1ZSBvZiBFeHRUZXh0T3V0IGluIHRoZSBjYXNlIHdoZW4gY291bnQgPT0gMC4KKworCSogZGxscy9zaGVsbDMyL3NobGV4ZWMuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlQYXNzIGEgbG9jYWxseSBtb2RpZmllZCB2ZXJzaW9uIG9mIFNIRUxMRVhFQ1VURUlORk8gdG8KKwlJU2hlbGxFeGVjdXRlSG9va1dfRXhlY3V0ZSwgdGhpcyBzaG91bGQgcGFzcyB0aHJvdWdoIGF0IGxlYXN0CisJc2VpX3RtcC5uU2hvdyByZXRyaWV2ZWQgZnJvbSBhbiAubG5rIGZpbGUgKGZTdGFydHVwKS4KKworCSogdG9vbHMvd2luZWR1bXAvbG5rLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJRHVtcCBtb3JlIC5sbmsgZmlsZSBoZWFkZXIgZmllbGRzLgorCisJKiBkbGxzL3NoZWxsMzIvZGVidWdobHAuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwktIFN0b3AgdXNpbmcgYSBub3QgaW5pdGlhbGl6ZWQgdmFyaWFibGUgc3pUZW1wIGluCisJICBfZGJnX0lMU2ltcGxlR2V0VGV4dCwgbWFrZSBfZGJnX0lMU2ltcGxlR2V0VGV4dCByZXR1cm4gbm8gdmFsdWUgc2luY2UKKwkgIG5vYm9keSBpcyB1c2luZyBpdC4KKwktIFN0b3AgZGVyZWZlcmVuY2luZyBhIHBvc3NpYmxlIE5VTEwgaW4gcGR1bXAgc2luY2UKKwkgIF9kYmdfSUxHZXREYXRhUG9pbnRlciBjYW4gcG90ZW50aWFsbHkgcmV0dXJuIE5VTEwgKGZvciBpbnN0YW5jZSBmb3IKKwkgIHJvb3Qgb3IgZGVza3RvcCBwaWRsKS4KKwktIE1ha2Ugc2hkZWJ1Z3N0cl9ndWlkIHVzZSBzdGFuZGFyZCB3aW5lX2RiZ19zcHJpbnRmIGluc3RlYWQgb2YgdGhlCisJICBoYW5kbWFkZSBzb2x1dGlvbi4KKworCSogZGxscy9udGRsbC92ZXJzaW9uLmM6IEZpeGVkIGEgY29tbWVudC4KKworCSogZGxscy9tc2kvYWN0aW9uLmMsIGRsbHMvbXNpL2FjdGlvbi5oLCBkbGxzL21zaS9oZWxwZXJzLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFsbG9jYXRlIG1lbW9yeSByYXRoZXIgdGhhbiB1c2luZyBmaXhlZCBsZW5ndGggYnVmZmVycy4KKworCSogZGxscy9tc2kvY3VzdG9tLmMsIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvcGFja2FnZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb252ZXJ0IFJ1bm5pbmdBY3Rpb25zIGFycmF5IGludG8gYSBsaXN0LgorCisJKiBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBnY2MgNC4wIHdhcm5pbmdzLgorCisJKiBkbGxzL2dkaS9mb250LmMsIGRsbHMvZ2RpL2ZyZWV0eXBlLmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlIYXZlIEV4dFRleHRPdXQgY2FsbCBpbnRvIHRoZSBmb250IGxpbmtpbmcgbWVjaGFuaXNtLgorCUdldENoYXJXaWR0aCwgR2V0Q2hhckFCQ1dpZHRocyBhbmQgR2V0VGV4dEV4dGVudFBvaW50IHNob3VsZCByZXR1cm4KKwl0aGUgd2lkdGhzIG9mIGEgbGlua2VkIGZvbnQncyBnbHlwaHMuCisKKwkqIGluY2x1ZGUvc3FsdHlwZXMuaDogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlBZGRlZCB0eXBlZGVmcyBTUUxXQ0hBUiBhbmQgU1FMVENIQVIuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLCB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsCisJICB0b29scy93aW5lYnVpbGQvcGFyc2VyLmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlBZGRlZCBzdXBwb3J0IGZvciA2NC1iaXQgZm9ybWF0IE5UIGhlYWRlciBhbmQgZXhwb3J0L2ltcG9ydCB0YWJsZXMuCisKKwkqIGRsbHMvY3J5cHQzMi9jZXJ0LmMsIGRsbHMvY3J5cHQzMi9lbmNvZGUuYzoKKwlBdm9pZCBhIGNvdXBsZSBvZiAnY2xvYmJlcmVkIGJ5IGxvbmdqbXAnIHdhcm5pbmdzLgorCisJKiBkbGxzL2F2aWZpbDMyL2FwaS5jLCBkbGxzL2NhcmRzL2NhcmRzLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBnY2MgNC4wIHdhcm5pbmdzLgorCisJKiBkbGxzL250ZGxsL3NlcnZlci5jOgorCUZpeCBhIGZpbGUgZGVzY3JpcHRvciBsZWFrIHdoZW4gb3BlbmluZyB0aGUgZmlyc3QgZmlsZSBvbiBhIHJlbW92YWJsZQorCWRldmljZS4KKworCSogZGxscy9tc2kvZm9ybWF0LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXByb3ZlIGEgZml4bWUgbWVzc2FnZSBhIGxpdHRsZS4KKworCSogZGxscy9tc2kvY2xhc3Nlcy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJLSBmaXggYSBidWcgaW50cm9kdWNlZCBieSB0aGUgcHJvZ2lkIGxpc3QgY29udmVyc2lvbgorCS0gbWFrZSBhIGZpeG1lIGEgbGl0dGxlIGxlc3MgYWxhcm1pc3QKKworCSogZGxscy9tc2kvZXZlbnRzLmMsIGRsbHMvbXNpL2hlbHBlcnMuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IG1lbW9yeSBsZWFrcy4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgYW4gdW5uZWNlc3NhcnkgbGV2ZWwgb2YgaW5kZW50LgorCisJKiBkbGxzL21zaS9jdXN0b20uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBtZW1vcnkgbGVha3MgaW4gY3VzdG9tIGFjdGlvbnMuCisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvbWlkaS5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJSW1wcm92ZSBtaWRpIHRyYWNlLgorCisJKiBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYywgaW5jbHVkZS9ycGNuZHIuaDoKKwlHZSB2YW4gR2VsZG9ycCA8Z3ZnQHJlYWN0b3MuY29tPgorCUZpeCBOZHJTZXJ2ZXJDb250ZXh0TWFyc2hhbGwgcHJvdG90eXBlLgorCisJKiBkbGxzL3dpbm1tL21taW8uYzogVWxyaWNoIEN6ZWthbGxhIDx1Y3pla2FsbGFAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZSByZWR1bmRhbnQgY2hlY2suCisKKwkqIGRsbHMvc2hkb2N2dy9wZXJzaXN0LmMsIGRsbHMvc2hkb2N2dy9zaGRvY3Z3LmgsCisJICBkbGxzL3NoZG9jdncvd2ViYnJvd3Nlci5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJTWFrZSBJUGVyc2lzdCogaW50ZXJmYWNlcyBoZWFwIGJhc2VkLgorCisJKiBkbGxzL3VybG1vbi91bW9uLmMsIGRsbHMvdXJsbW9uL3VybG1vbl9tYWluLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBSZWxlYXNlQmluZEluZm8gaW1wbGVtZW50YXRpb24uCisKKwkqIGRsbHMvbXByL21wcl9tYWluLmM6IEdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJRml4IERsbENhblVubG9hZE5vdyBwcm90b3R5cGUuCisKKwkqIGRsbHMvd2xkYXAzMi9NYWtlZmlsZS5pbiwgZGxscy93bGRhcDMyL2NvbnRyb2wuYywKKwkgIGRsbHMvd2xkYXAzMi93aW5sZGFwX3ByaXZhdGUuaCwgZGxscy93bGRhcDMyL3dsZGFwMzIuc3BlYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlJbXBsZW1lbnQgbGRhcF9jb250cm9sX2ZyZWUqLCBsZGFwX2NvbnRyb2xzX2ZyZWUqIGFuZAorCWxkYXBfZnJlZV9jb250cm9scyouCisKKwkqIGRsbHMvY3J5cHQzMi9jZXJ0LmMsIGRsbHMvY3J5cHQzMi90ZXN0cy9jZXJ0LmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUltcGxlbWVudCBzeXN0ZW0gcmVnaXN0cnkgc3RvcmVzLgorCisJKiBkbGxzL2NyeXB0MzIvdGVzdHMvZW5jb2RlLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlDb252ZXJ0IGEgZmV3IG1vcmUgY29uc3RhbnRzIGZyb20gc3RyaW5ncyB0byBieXRlIGFycmF5cy4KKworMjAwNS0wOS0wNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYywKKwkgIHRvb2xzL3dpbmVidWlsZC91dGlscy5jOgorCUFkZGVkIGEgYml0IG9mIGZyYW1ld29yayBmb3IgZnV0dXJlIHg4Nl82NCBzdXBwb3J0LgorCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZm9sZGVyLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCVJlbW92ZWQgdHdvIHRvZG9fd2luZSdzIGFyb3VuZCB0ZXN0cyB0aGF0IG1lYW53aGlsZSBzdWNjZWVkIG9uIHdpbmUuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGZsZHJfdW5peGZzLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCVBhc3MgY29ycmVjdCBwb2ludGVyIHRvIFNIRnJlZSBpbiBjYXNlIG9mIGZhaWx1cmUgaW4KKwlVTklYRlNfcGF0aF90b19waWRsLgorCVJldHVybiBFX0ZBSUwgaWYgd2UgY2FuJ3QgZ2V0IHRoZSB1bml4IHBhdGggaW4KKwlJUGVyc2lzdEZvbGRlcjM6OkluaXRpYWxpemVFeC4KKwlSZXR1cm4gRV9OT0FHR1JFR0FUSU9OIGlmIG5vbi1OVUxMIHBVbmtPdXRlciBpcyBnaXZlbiB0byB0aGUKKwljb25zdHJ1Y3Rvci4KKworCSogZGxscy9kc291bmQvdGVzdHMvcHJvcHNldC5jLCBwcm9ncmFtcy93aW5lY2ZnL2RyaXZldWkuYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmM6CisJUmVwbGFjZSBhIGZldyBtb3JlIGRpcmVjdCBscFZ0YmwgYWNjZXNzZXMgYnkgdGhlIHByb3BlciBtYWNyb3MuCisKKwkqIGRsbHMvZ2RpL2ZyZWV0eXBlLmMsIGRsbHMvZ2RpL2dkaTMyLnNwZWMsIGRsbHMvZ2RpL2dkaV9wcml2YXRlLmg6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgRm9udElzTGlua2VkLgorCisJKiB0b29scy93aW5lLmluZjogQ2hyaXN0b3BoIEZyaWNrIDxmcmlja0BzYy1uZXR3b3Jrcy5kZT4KKwlGYWtlIGRpcmVjdHggOWMgaW5zdGVhZCBvZiA5Yi4KKworCSogZGxscy9tc2kvbXNpLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IE1zaVJlaW5zdGFsbEZlYXR1cmUuCisKKwkqIGRsbHMvY3J5cHQzMi9NYWtlZmlsZS5pbiwgZGxscy9jcnlwdDMyL2NlcnQuYywKKwkgIGRsbHMvY3J5cHQzMi90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9jcnlwdDMyL3Rlc3RzL2NlcnQuYzoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJSW1wbGVtZW50IHJlZ2lzdHJ5IHN0b3Jlcy4KKworCSogZGxscy9rZXJuZWwvdGhyZWFkLmMsIGRsbHMvbnRkbGwvdGhyZWFkLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJSW1wbGVtZW50ZWQga2VybmVsMzI6U2V0VGhyZWFkUHJpb3JpdHkgb24gdG9wIG9mIG50ZGxsJ3MgZXF1aXZhbGVudAorCWZ1bmN0aW9ucy4KKworCSogZGxscy9kaW5wdXQvam95c3RpY2tfbGludXhpbnB1dC5jOgorCVVzZSB0aGUgQ09NIG1hY3JvcyBpbnN0ZWFkIG9mIGFjY2Vzc2luZyBscFZ0YmwgZGlyZWN0bHkuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLCB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsCisJICB0b29scy93aW5lYnVpbGQvcmVzMzIuYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOgorCUdlbmVyYXRlIHRoZSBOVCBoZWFkZXIgaW4gYXNzZW1ibHkgaW5zdGVhZCBvZiB1c2luZyBhIEMgc3RydWN0dXJlLgorCisJKiBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuYywgZGxscy9jcnlwdDMyL3Rlc3RzL2VuY29kZS5jLAorCSAgZGxscy9tbGFuZy9tbGFuZy5jLCBkbGxzL21sYW5nL3Rlc3RzL21sYW5nLmMsCisJICBkbGxzL3F1YXJ0ei9maWx0ZXJncmFwaC5jLCBkbGxzL3F1YXJ0ei9maWx0ZXJtYXBwZXIuYywKKwkgIGRsbHMvd2lubW0vd2lubW0uYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGRsbHMvdXJsbW9uL01ha2VmaWxlLmluLCBkbGxzL3VybG1vbi9pbnRlcm5ldC5jLAorCSAgZGxscy91cmxtb24vdGVzdHMvbWlzYy5jLCBkbGxzL3VybG1vbi91cmxtb24uc3BlYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUFkZGVkIENvSW50ZXJuZXRQYXJzZVVybCBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlnZXRfZ2x5cGhfaW5kZXggc2hvdWxkIHJldHVybiB0aGUgbm9uZXhpc3RlbnQgZ2x5cGggZm9yIGJpdG1hcCBmb250cworCXdoZW4gYSB1bmljb2RlIGNoYXJhY3RlciBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBzaW5nbGUgYnl0ZSBpbiB0aGUKKwlmb250J3MgY29kZXBhZ2UuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvSmEucmM6IFZpa3JhbSBLdW1hciA8dmlrQHpvbmU4MS5jb20+CisJVXBkYXRlIEphcGFuZXNlIHJlc291cmNlIGZpbGUgdG8gaW5jbHVkZSB0aGUgVGhlbWUgdGFiLgorCisJKiBkbGxzL3dpbmluZXQvaHR0cC5jOiA8b3JpbkBwaW5oZWFkLmNjPgorCVdyb25nIGZsYWdzIHdlcmUgYmVpbmcgdGVzdGVkIGZvciBJTlRFUk5FVF9GTEFHX05PX0FVVE9fUkVESVJFQ1QuCisKKwkqIGluY2x1ZGUvb2xlaWRsLmlkbDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBhIHR5cG8uCisKKwkqIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4aW5wdXQuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IHdhcm5pbmdzIGZvciBubyBmb3JjZSBmZWVkYmFjayBjYXNlLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvYWN0aW9uLmgsIGRsbHMvbXNpL2ZpbGVzLmMsCisJICBkbGxzL21zaS9oZWxwZXJzLmMsIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvcGFja2FnZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlLZWVwIHRlbXBvcmFyeSBmaWxlcyBpbiBhIHNlcGVyYXRlIGxpc3QuCisKKwkqIGRsbHMvdXNlci93aW4uYzoKKwlEb24ndCBmYWxsYmFjayB0byBMb2FkTWVudTE2IHdoZW4gdGhlIHdpbmRvdyBpcyBjcmVhdGVkIHdpdGggYSBudWxsCisJaW5zdGFuY2UuCisKKwkqIGRsbHMvdXNlci9lZGl0LmM6IE9ubHkgYWNjZXNzIDE2LWJpdCBzdGFjayBpZiByZWFsbHkgbmVjZXNzYXJ5LgorCisJKiBkbGxzL3dpbmVkM2QvZGlyZWN0eC5jLCBkbGxzL3dpbmVkM2Qvc3VyZmFjZS5jLCBkbGxzL3dpbmVkM2QvdXRpbHMuYzoKKwlLYXJzdGVuIEVsZmVuYmVpbiA8a2VsZmVAZ214LmRlPgorCUFkZGVkIEEyUjEwRzEwQjEwIGFuZCBEM0RGTVRfRDI0RlM4IG1vZGVzIHRvIGFsbCBvdGhlciBmdW5jdGlvbnMuCisKKwkqIGRsbHMvd2xkYXAzMi9taXNjLmMsIGRsbHMvd2xkYXAzMi93aW5sZGFwX3ByaXZhdGUuaCwKKwkgIGRsbHMvd2xkYXAzMi93bGRhcDMyLnNwZWMsIGluY2x1ZGUvd2lubGRhcC5oOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcGxlbWVudCBsZGFwX2VzY2FwZV9maWx0ZXJfZWxlbWVudCouCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9oZWxwLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUNhbGwgQ0hNX0Nsb3NlQ0hNIHRvIGF2b2lkIGEgbWVtb3J5IGxlYWsuCisKKwkqIGRsbHMvbXNpL3N1bWluZm8uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURvbid0IGluY2x1ZGUgdGhlIHRlcm1pbmF0aW5nIG51bCBpbiB0aGUgbGVuZ3RoIGluCisJTXNpU3VtbWFyeUluZm9HZXRQcm9wZXJ0eVcuCisKKwkqIGRsbHMvbXNpL3Rlc3RzL3BhY2thZ2UuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCS0gYWRkIHRlc3QgZm9yIE1zaUdldFNvdXJjZVBhdGgKKwktIGRvbid0IHNwZWNpZnkgZHJpdmUgZm9yIHBhY2thZ2UgcGF0aAorCisJKiBkbGxzL3NoZG9jdncvb2xlb2JqZWN0LmMsIGRsbHMvc2hkb2N2dy9zaGRvY3Z3LmgsCisJICBkbGxzL3NoZG9jdncvd2ViYnJvd3Nlci5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJTWFrZSBJT2xlQ29udHJvbCBhbmQgSU9sZUluUGxhY2VPYmplY3QgaW50ZXJmYWNlIGhlYXAgYmFzZWQuCisKKwkqIGRsbHMva2VybmVsL3BhdGguYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggdGhlIHRyYW5zbGF0aW9uIG9mIGRlc3QgdG8gRGVzdFcsIGhhdmluZyBpdCBiZSBOVUxMIHZzICIiIGhhcworCWRpZmZlcmVudCBtZWFuaW5ncyBmb3IgTW92ZUZpbGVFeC4KKworCSogZGxscy91cmxtb24vc2VjX21nci5jOiBKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCS0gQWRkZWQgSUludGVybmV0U2VjdXJpdHlNYW5hZ2VyOjpbU0ddZXRTZWN1cml0eVNpdGUgaW1wbGVtZW50YXRpb24uCisJLSBGb3J3YXJkIElJbnRlcm5ldFNlY3VyaXR5TWFuYWdlciBjYWxscyB0byBjdXN0b20gbWFuYWdlci4KKworCSogZGxscy9vbGVhdXQzMi90bWFyc2hhbC5jOiBNYXJjdXMgTWVpc3NuZXIgPG1laXNzbmVyQHN1c2UuZGU+CisJVlRfUFRSLT5WVF9VU0VSREVGSU5FRCBjaGFpbnMgZGVwZW5kIG9uIHRoZSBUS0lORCBvZiB0aGUgdXNlcmRlZmluZWQKKwl0eXBlIGR1ZSB0byBvdXIgaGFuZGxpbmcgb2YgQ09NIGludGVyZmFjZXMgaW4gdGhlcmUuCisKKwkqIGRsbHMvc2hlbGwzMi9waWRsLmMsIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGxmb2xkZXIuYzoKKwlNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJRG9uJ3QgY2xvbmUgcGlkbExhc3QgaW4gU0hCaW5kVG9QYXJlbnQuCisKKwkqIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmMsIGRsbHMvb2xlMzIvdGVzdHMvc3RvcmFnZTMyLmM6CisJUmljaGFyZCBDb2hlbiA8cmljaGFyZEBkYWlqb2J1LmNvLnVrPgorCVJlbGF4IHRoZSBzaGFyZSBtb2RlIHZhbGlkYXRpb24gZm9yIHRyYW5zYWN0ZWQgc3RvcmFnZSwgd2l0aCBhIHRlc3QuCisKKwkqIGRsbHMvZ2RpL2ZyZWV0eXBlLmMsIGRsbHMvZ2RpL2dkaV9wcml2YXRlLmg6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIGZvbnQgbGlua2luZy4gV2luZUVuZ0dldExpbmtlZEhGb250IHdpbGwgYmUKKwl1c2VkIGJ5IEV4dFRleHRPdXQgdG8gcHJvdmlkZSBhbiBIRk9OVCB0aGF0IHdpbGwgY29udGFpbiBhIHZhbGlkCisJZ2x5cGguCisKKwkqIGRvY3VtZW50YXRpb24vUEFDS0FHSU5HOiBNYXJjdXMgTWVpc3NuZXIgPG1laXNzbmVyQHN1c2UuZGU+CisJUmVtb3ZlIEVUQ0RJUiBtZW50aW9uLgorCisyMDA1LTA5LTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2dkaS9nZGkxNi5jLCBkbGxzL3dpbmVwcy9lc2NhcGUuYywgZGxscy93aW5lcHMvcHNkcnYuaCwKKwkgIGluY2x1ZGUvd2luZS93aW5nZGkxNi5oLCBpbmNsdWRlL3dpbmdkaS5oOgorCU1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlBZGRlZCBEUkFXUEFUVEVSTlJFQ1QgRXNjYXBlKCkgMTY8LT4zMiBtYXBwZXIgYW5kIHN0dWIgaW4gV0lORVBTLgorCisJKiBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHNlcnZlci9uYW1lZF9waXBlLmMsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvdHJhY2UuYywgZGxscy9rZXJuZWwvc3luYy5jLAorCSAgZGxscy9udGRsbC9maWxlLmM6CisJSXZhbiBMZW8gUHVvdGkgPGl2YW5sZW9AZ21haWwuY29tPgorCUFkZGVkIEZTQ1RMX1BJUEVfTElTVEVOIHN1cHBvcnQuCisKKwkqIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGxmb2xkZXIuYzoKKwlTYXVsaXVzIEtyYXN1Y2thcyA8c2F1bGl1cy5rcmFzdWNrYXNAaWVlZS5vcmc+CisJU0hFTEwzMi5JTEZpbmRMYXN0SUQgaXMgZXhwb3J0ZWQgYnkgb3JkaW5hbC4KKworCSogZGxscy9tc2kvbXNpLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJQmUgc3VyZSB0byBudWxsIHRlcm1pbmF0ZSB0aGUgc3RyaW5nIGluIE1zaUdldFByb2R1Y3RJbmZvQSBhZnRlciB0aGUKKwlXLT5BIGNvbnZlcnNpb24gdXNpbmcgTXNpR2V0UHJvZHVjdEluZm9XIGlmIHRoZXJlIGlzIHNwYWNlLgorCisJKiBkbGxzL2dkaS9mcmVldHlwZS5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVN0b3JlIHRoZSBzZWxlY3RlZCBwcGVtIGluIHRoZSBHZGlGb250LgorCisJKiBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbjogTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCVJlbW92ZSAtREVUQ0RJUiAodW51c2VkKS4KKworCSogZGxscy9jZmdtZ3IzMi9tYWluLmMsIGRsbHMvc2V0dXBhcGkvZGV2aW5zdC5jLCBpbmNsdWRlL01ha2VmaWxlLmluLAorCSAgaW5jbHVkZS9jZmdtZ3IzMi5oLCBpbmNsdWRlL2Rkay9jZmdtZ3IzMi5oOgorCURldGxlZiBSaWVrZW5iZXJnIDx3aW5lLmRldkB3ZWIuZGU+CisJTW92ZWQgY2ZnbWdyMzIuaCB0byBpbmNsdWRlL2Rkay8uCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCVJlYWRpbmcgdGhlIE1SVWxpc3QgdXNpbmcgdGhlIFcgZnVuY3Rpb25zIHdlIG5lZWQgdG8gZGl2aWRlIHRoZSBzaXplCisJYnkgc2l6ZW9mKFdDSEFSKSB0byBnZXQgdGhlIGNvdW50IG9mIGNoYXJhY3RlcnMuCisKKwkqIGRsbHMvbXN2Y3J0L3Rlc3RzL3N0cmluZy5jOiBWaWpheSBLaXJhbiBLYW11anUgPGluZnlxdWVzdEBnbWFpbC5jb20+CisJQWRkZWQgYSB0ZXN0IGZvciBmYWlsaW5nIF9pc21iYmxlYWQuCisKKwkqIGRsbHMvc2hkb2N2dy9mYWN0b3J5LmMsIGRsbHMvc2hkb2N2dy9vbGVvYmplY3QuYywKKwkgIGRsbHMvc2hkb2N2dy9zaGRvY3Z3LmgsIGRsbHMvc2hkb2N2dy93ZWJicm93c2VyLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwktIE1ha2UgV2ViQnJvd3NlciBoZWFwIGJhc2VkIG9iamVjdC4KKwktIEltcHJvdmUgc3R1YnMuCisKKwkqIGRsbHMva2VybmVsL25lX21vZHVsZS5jOgorCUFsZXggVmlsbGFj7XMgTGFzc28gPGFfdmlsbGFjaXNAcGFsb3NhbnRvLmNvbT4KKwlDaGVjayBhZ2FpbnN0IE5VTEwgbGlibmFtZSBpbiBMb2FkTW9kdWxlMTYuCisKKwkqIGRsbHMvdXNlci9lZGl0LmMsIGRsbHMvdXNlci90ZXN0cy9lZGl0LmM6CisJTWljaGFlbCBLYXVmbWFubiA8aGFsbG9AbWljaGFlbC1rYXVmbWFubi5jaD4KKwktIEZpeCB0ZXh0IHBsYWNlbWVudC4KKwktIFBhaW50IHRoZSBib3JkZXIgY29ycmVjdGx5IGlmIGl0cyBzaXplIGlzIGJpZ2dlciB0aGFuIDEgcGl4ZWwuCisJLSBEb24ndCBwYWludCB0ZXh0IG92ZXIgdGhlIGJvcmRlci4KKwktIEZpeCB0aGUgZWRpdCBjb250cm9sIHBsYWNlbWVudCB0ZXN0czogUHV0IHRoZSBlZGl0IGJveCBpbiBhIHBhcmVudAorCSAgd2luZG93LgorCS0gVGlkaWVkIHVwIHRoZSBlZGl0IGNvbnRyb2wgdGVzdHMuCisKKwkqIGRsbHMvbXNpL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvbXNpL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9tc2kvdGVzdHMvcGFja2FnZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCVRlc3QgY3JlYXRpbmcgYSBwYWNrYWdlLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvYWN0aW9uLmgsIGRsbHMvbXNpL2hlbHBlcnMuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQXZvaWQgZml4ZWQgbGVuZ3RoIGJ1ZmZlcnMgZm9yIGNvbmRpdGlvbnMuCisKKwkqIGRsbHMvbXNpL2luc3RhbGwuYywgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9zdW1pbmZvLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeGVzIGZvciBNc2lHZXRTb3VyY2VQYXRoIHBhcmFtZXRlciBoYW5kbGluZy4KKworCSogZGxscy9tc2kvbXNpLmMsIGRsbHMvbXNpL21zaS5zcGVjLCBpbmNsdWRlL21zaS5oOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgc3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIE1zaUVudW1QYXRjaGVzQS9XLgorCisJKiBkbGxzL3NobHdhcGkvc2hsd2FwaS5yYywgZGxscy9zaGx3YXBpL3ZlcnNpb24ucmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJQWRkZWQgdmVyc2lvbiByZXNvdXJjZSB0byBzaGx3YXBpLmRsbC4KKworCSogZGxscy9kaW5wdXQvZWZmZWN0X2xpbnV4aW5wdXQuYywgZGxscy9kaW5wdXQvam95c3RpY2tfbGludXhpbnB1dC5jOgorCURhbmllbCBSZW1lbmFrIDxkdHJlbWVuYWtAZ21haWwuY29tPgorCS0gQWxsb3cgdGhlIGNyZWF0aW9uIG9mIGFuIEZGIGVmZmVjdCB3aGlsZSB0aGUgam95c3RpY2sgaXMgbm90CisJICBhY3F1aXJlZC4KKwktIEZhaWxpbmcgdG8gZG93bmxvYWQgYW4gZWZmZWN0IGFmdGVyIHNldHRpbmcgcGFyYW1ldGVycyBpcyBub3QgYQorCSAgZmF0YWwgZXJyb3IuCisKKwkqIGRsbHMvY3J5cHQzMi9lbmNvZGUuYywgZGxscy9jcnlwdDMyL3Rlc3RzL2VuY29kZS5jLAorCSAgZGxscy9ycGNydDQvbmRyX29sZS5jLCBkbGxzL3JwY3J0NC9ycGNfYmluZGluZy5jLAorCSAgZGxscy9ycGNydDQvdGVzdHMvcnBjLmMsIGRsbHMvdXh0aGVtZS9zeXN0ZW0uYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvaGxwZmlsZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZ2NjIDQuMCB3YXJuaW5ncy4KKworCSogZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL2tlcm5lbC90b29saGVscC5jLCBkbGxzL250ZGxsL3Byb2Nlc3MuYywKKwkgIGluY2x1ZGUvd2ludGVybmwuaCwgc2VydmVyL3Byb2Nlc3MuYzoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwktIHJld3JpdGUga2VybmVsMzI6e1NldHxHZXR9UHJpb3JpdHlDbGFzcyBvbiB0b3Agb2YgbnRkbGwgZXF1aXZhbGVudAorCS0gcHJpb3JpdHkgZm9yIHByb2Nlc3MgaW4gd2luZXNlcnZlciBpcyBub3cgdGhlIE5URExMIGZvcm0gKG5vIGxvbmdlcgorCSAgdGhlIGtlcm5lbDMyIG9uZSkKKworCSogZGxscy9tc2kvaGVscGVycy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlIGFuIHVubmVjZXNzYXJ5IGxldmVsIG9mIGluZGVudC4KKworCSogaW5jbHVkZS9tc2kuaDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZCB0aGUgSU5TVEFMTE1PREUgZW51bWVyYXRpb24uCisKKwkqIGRsbHMvbXNpL3N1bWluZm8uYywgZGxscy9tc2kvdGVzdHMvc3VtaW5mby5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIGZpeCBNc2lTdW1tYXJ5SW5mb0dldFByb3BlcnR5IHRvIHJldHVybiBFUlJPUl9NT1JFX0RBVEEgaWYgdGhlCisJICBidWZmZXIgaXMgdG9vIHNtYWxsIChiYXNlZCBvbiBhIHBhdGNoIGJ5IEFyaWMgU3Rld2FydCkKKwktIGFkZCBhIHRlc3QgY2FzZSB0byBzaG93IGNvcnJlY3QgYmVoYXZpb3VyCisKKwkqIGRsbHMvY29tbWRsZy9wcmludGRsZzE2LmM6IE1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlQcmludERsZzE2OiBDb3B5IGJhY2sgdGhlIEZsYWdzLCBuRnJvbVBhZ2UsIG5Ub1BhZ2UgYW5kIG5Db3BpZXMgc3RydWN0CisJbWVtYmVycyBhZnRlciB0aGUgcHJpbnQgZGlhbG9nIGZpbmlzaGVzLgorCisJKiBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eGlucHV0LmM6CisJRGFuaWVsIFJlbWVuYWsgPGR0cmVtZW5ha0BnbWFpbC5jb20+CisJLSBBbGxvdyBlbnVtZXJhdGlvbiBvZiBvYmplY3RzIHdoZW4gdGhlIGRldmljZSBpcyBub3QgeWV0IGFjcXVpcmVkLgorCS0gRmxhZyBGRi1jYXBhYmxlIGF4ZXMgZHVyaW5nIGVudW1lcmF0aW9uLgorCisJKiBkbGxzL2tlcm5lbC90aHVuay5jLCBkbGxzL21zdmNydC9taXNjLmMsIGRsbHMvb2xlMzIvZXJyb3JpbmZvLmMsCisJICBpbmNsdWRlL2RiZ2hlbHAuaCwgaW5jbHVkZS9zcWxleHQuaDoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGaXhlcyBmb3IgZnVuY3Rpb24gcHJvdG90eXBlcyB3aXRob3V0IGFyZ3VtZW50cy4KKworCSogZGxscy91cmxtb24vTWFrZWZpbGUuaW4sIGRsbHMvdXJsbW9uL2ZpbGUuYywKKwkgIGRsbHMvdXJsbW9uL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvdXJsbW9uL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy91cmxtb24vdGVzdHMvcHJvdG9jb2wuYywgZGxscy91cmxtb24vdXJsbW9uX21haW4uYywKKwkgIGRsbHMvdXJsbW9uL3VybG1vbl9tYWluLmg6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBmaWxlIHByb3RvY29sIGltcGxlbWVudGF0aW9uLgorCisJKiBkbGxzL250ZGxsL2F0b20uYywgaW5jbHVkZS93aW50ZXJubC5oOgorCUphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUNvcnJlY3QgdGhpcmQgcGFyYW1ldGVyIG9mIE50UXVlcnlJbmZvcm1hdGlvbkF0b20uCisKKwkqIGZvbnRzL3dpbmVfbWFybGV0dC5zZmQ6IFJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwlSZWRyYXcgIlJlc3RvcmUgd2luZG93IiB3aXRob3V0IG92ZXJsYXBwaW5nIHNwbGluZXMuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5oLCBkbGxzL21zaS9jbGFzc2VzLmMsIGRsbHMvbXNpL2hlbHBlcnMuYywKKwkgIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvcGFja2FnZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb252ZXJ0IHByb2dpZHMgdG8gYSBzdGFuZGFyZCBsaXN0LgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL1J1LnJjOiBZdXJpIEtvemxvdiA8a296bG92LnlAZ21haWwuY29tPgorCVVwZGF0ZWQgUnVzc2lhbiByZXNvdXJjZXMuCisKKwkqIGRsbHMvYWR2cGFjay9hZHZwYWNrLmMsIGRsbHMvYWR2cGFjay9hZHZwYWNrLnNwZWM6CisJTWFya3VzIEFtc2xlciA8bWFya3VzLmFtc2xlckBvcmliaS5vcmc+CisJQWRkIGEgc3R1YiBmb3IgSXNOdEFkbWluLgorCisJKiBkbGxzL2tlcm5lbC9wcm9jZXNzLmM6IEl2YW4gTGVvIFB1b3RpIDxpdmFubGVvQGdtYWlsLmNvbT4KKwlHZXQgRXhpdFByb2Nlc3MgdG8gY2FsbCBOdFRlcm1pbmF0ZVByb2Nlc3MuCisKKwkqIGRsbHMvbXNpL2RhdGFiYXNlLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJQWRkIHRoZSBHVUlEIGZvciBQYXRjaCBmaWxlcyBzbyB0aGF0IHRoZXkgY2FuIGJlIG9wZW5lZCBhcyB3ZWxsLiBMb29rcworCWxpa2UgdGhlIGRhdGFiYXNlIHN0cnVjdHVyZSBpcyBwcmV0dHkgbXVjaCB0aGUgc2FtZS4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlCdWlsZCBhIGxpc3Qgb2YgZm9udCBsaW5rcyByZWFkIGluIGZyb20gdGhlIHJlZ2lzdHJ5LgorCisJKiB0b29scy93aW5hcGkvd2luYXBpX21vZHVsZV91c2VyLnBtLCB0b29scy93aW5hcGkvd2luYXBpX3BhcnNlci5wbToKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwkndm9sYXRpbGUnIGlzIHZhbGlkIGV2ZXJ5d2hlcmUgd2hlcmUgJ2NvbnN0JyBpcyB2YWxpZC4gVGhpcyBmaXhlcworCXBhcnNpbmcgb2YgdGhlIG5ldyBJbnRlcmxvY2tlZEV4Y2hhbmdlKCkgcHJvdG90eXBlLgorCisJKiBkbGxzL3R3YWluL2RzbV9jdHJsLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCBjcmFzaCBpZiB0aGUgdHdhaW4gZGV2aWNlIG5hbWUgaXMgbnVsbC4KKworCSogZGxscy9tc2kvYWN0aW9uLmMsIGRsbHMvbXNpL3NvdXJjZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIHNvbWUgZml4bWUgbWVzc2FnZXMgbGVzcyBhbGFybWlzdC4KKworCSogZGxscy9zZXR1cGFwaS9GaS5yYywgZGxscy9zZXR1cGFwaS9zZXR1cGFwaS5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvRmkucmMsIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5yYzoKKwlLaW1tbyBNeWxseXZpcnRhIDxraW1tby5teWxseXZpcnRhQGdtYWlsLmNvbT4KKwlBZGRlZCBGaW5uaXNoIHJlc291cmNlcy4KKworCSogZGxscy9rZXJuZWwvaW5zdHIuYzogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlGaXhlZCBjb21waWxhdGlvbiBvZiBrZXJuZWwzMi5kbGwuc28gb24gbm9uLXg4NiBwcm9jZXNzb3JzLgorCisJKiBpbmNsdWRlL3VybG1vbi5pZGw6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJLSBVcGRhdGUgR2V0U2VjdXJpdHlJZCBkZWNsYXJhdGlvbi4KKwktIEFkZCBkZWNsYXJhdGlvbiBvZiBDb0ludGVybmV0UGFyc2VVcmwgYW5kIElORVRfRV9ERUZBVUxUX0FDVElPTi4KKworCSogZGxscy9tc2kvdGVzdHMvZGIuYzogU2F1bGl1cyBLcmFzdWNrYXMgPHNhdWxpdXMua3Jhc3Vja2FzQGllZWUub3JnPgorCU9sZGVyIHBsYXRmb3JtcyBjaG9rZSBvbiBhIE5VTEwgYXMgdGhlIHRoaXJkIHBhcmFtZXRlciB0bworCU1zaVZpZXdHZXRFcnJvci4KKworCSogZGxscy9oaGN0cmwub2N4L01ha2VmaWxlLmluLCBkbGxzL2hoY3RybC5vY3gvY2htLmMsCisJICBkbGxzL2hoY3RybC5vY3gvY2htLmgsIGRsbHMvaGhjdHJsLm9jeC9oZWxwLmM6CisJSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJLSBBZGQgdGhlIENITSBVdGlsaXR5IEFQSS4KKwktIExvYWQgaGVscCB3aW5kb3cgdmFsdWVzIGZyb20gdGhlIENITSBmaWxlLgorCisJKiBkbGxzL3dpbnRydXN0Ly5jdnNpZ25vcmUsIGRsbHMvd2ludHJ1c3QvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbnRydXN0L3ZlcnNpb24ucmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJQWRkZWQgdmVyc2lvbiByZXNvdXJjZSB0byB3aW50cnVzdC5kbGwuCisKKwkqIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4aW5wdXQuYzoKKwlEYW5pZWwgUmVtZW5hayA8ZHRyZW1lbmFrQGdtYWlsLmNvbT4KKwlQcm90ZWN0IEZGX1NUQVRVUyB1c2FnZSB0byBhdm9pZCBjb21waWxlIGVycm9ycyBvbiBtYWNoaW5lcyB3aXRoIG9sZAorCWxpbnV4L2lucHV0LmguCisKKwkqIGRsbHMvdXh0aGVtZS9tc3N0eWxlcy5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCSNpbmNsdWRlIDxzdGRsaWIuaD4gdG8gZ2V0IGFicygpIHByb3RvdHlwZS4KKworMjAwNS0wOS0wMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWM6CisJV2Ugc2hvdWxkbid0IHVzZSBmbGF0IG5hbWVzcGFjZSBmb3IgZGxscyBvbiBNYWMgT1MuIEFsc28gZG9uJ3QgaGlkZQorCXVuZGVmaW5lZCBzeW1ib2wgZXJyb3JzLgorCisJKiB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOgorCU91dHB1dCB0aGUgZGVsYXllZCBpbXBvcnQgdGFibGUgdXNpbmcgYXNzZW1ibHkgdG9vLgorCisJKiB0b29scy93aW5lZ2NjL3dpbmVnY2MuYzogSW1wbGVtZW50ZWQgLS1pbWFnZS1iYXNlIHN1cHBvcnQgZm9yIE1hYyBPUy4KKworCSogZGxscy9rZXJuZWwvcHRocmVhZC5jLCBkbGxzL2tlcm5lbC90aHJlYWQuYywgZGxscy9udGRsbC9zZXJ2ZXIuYywKKwkgIGRsbHMvbnRkbGwvdGhyZWFkLmMsIGluY2x1ZGUvd2luZS9wdGhyZWFkLmgsIGxpYnMvd2luZS9wb3J0LmMsCisJICBsaWJzL3dpbmUvd2luZS5kZWYsIGxpYnMvd2luZS93aW5lLm1hcCwgbG9hZGVyL2t0aHJlYWQuYywKKwkgIGxvYWRlci9tYWluLmMsIGxvYWRlci9tYWluLmgsIGxvYWRlci9wdGhyZWFkLmM6CisJVXNlIGV4cGxpY2l0IGZ1bmN0aW9uIHBvaW50ZXJzIGZvciBwdGhyZWFkIHN1cHBvcnQgaW5zdGVhZCBvZiByZWx5aW5nCisJb24gRUxGIHN5bWJvbCBvdmVycmlkaW5nLgorCisJKiBkbGxzL3dpbmVjcnQwL2RsbF9lbnRyeS5jOgorCU1ha2Ugc3VyZSB0byBhbHdheXMgY2FsbCB0aGUgZGVzdHJ1Y3RvcnMgd2hlbiB0aGUgY29uc3RydWN0b3JzIGhhdmUKKwliZWVuIGNhbGxlZCBmcm9tIHRoZSBkbGwgZW50cnkgcG9pbnQuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvTmwucmM6IFBhdWwgVnJpZW5zIDxQYXVsLlZyaWVuc0B4czRhbGwubmw+CisJVXBkYXRlIGZvciB0aGUgJ0luc3RhbGwgdGhlbWUnIGJ1dHRvbi4KKworCSogZGxscy91cmxtb24vZm9ybWF0LmMsIGRsbHMvdXJsbW9uL3Rlc3RzL21pc2MuYywKKwkgIGRsbHMvdXJsbW9uL3VybG1vbi5zcGVjOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgUmVnaXN0ZXJGb3JtYXRFbnVtZXJhdG9yIGFuZCBSZXZva2VGb3JtYXRFbnVtZXJhdG9yCisJaW1wbGVtZW50YXRpb24uCisKKwkqIGRsbHMvY3J5cHQzMi9jZXJ0LmMsIGRsbHMvY3J5cHQzMi90ZXN0cy9jZXJ0LmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUNvcnJlY3QgYSB0ZXN0IHRoYXQgaW5jb3JyZWN0bHkgc2hvd2VkIHNpZ25lZCBjZXJ0cyBjb3VsZG4ndCBiZSBhZGRlZAorCXRvIGEgbWVtIHN0b3JlLgorCVN1cHBvcnQgc2lnbmVkIGNlcnRzIGluIG1lbSBzdG9yZXMuCisJQ29ycmVjdCB1c2Ugb2YgYSBmcmVlZCBwb2ludGVyLgorCisJKiBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eGlucHV0LmM6CisJRGFuaWVsIFJlbWVuYWsgPGR0cmVtZW5ha0BnbWFpbC5jb20+CisJSW1wbGVtZW50IEVudW1FZmZlY3RzLCBDcmVhdGVFZmZlY3QsIEVudW1DcmVhdGVkRWZmZWN0cywKKwlTZW5kRm9yY2VGZWVkYmFja0NvbW1hbmQsIGFuZCBHZXRGb3JjZUZlZWRiYWNrU3RhdHVzIGZvciBsaW51eCBpbnB1dAorCWpveXN0aWNrcy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvbXN4bWwzL01ha2VmaWxlLmluLAorCSAgZGxscy9tc3htbDMvbXN4bWxfcHJpdmF0ZS5oLCBkbGxzL21zeG1sMy9ub2RlLmMsCisJICBkbGxzL21zeG1sMy9ub2RlbGlzdC5jLCBpbmNsdWRlL2NvbmZpZy5oLmluOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnRlZCBJWE1MRE9NTm9kZTo6c2VsZWN0Tm9kZXMuCisKKwkqIGRsbHMvd2luZWNydDAvZHJ2X2VudHJ5LmM6CisJVGhlcmUncyBubyB3YXkgdG8gcHJvcGVybHkgdW5sb2FkIGEgZHJpdmVyLCBzbyBkb24ndCB0cnkuCisKKwkqIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGVsbHBhdGguYzogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUZpeCBhIHRlc3QgZmFpbGluZyBvbiBXaW5kb3dzLiAgUmVwb3J0ZWQgYnkgS2F0ZXJpbmEgTml6aG5pay4KKworCSogZGxscy9jcnlwdDMyL21haW4uYywgZGxscy9jcnlwdDMyL3Rlc3RzL21haW4uYzoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJSW1wcm92ZSBDcnlwdEFsZ0lkVG9PSUQvQ3J5cHRPSURUb0FsZ0lkIHRlc3RzLCBhbmQgcHJldmVudCBhIGNyYXNoIGluCisJQ3J5cHRPSURUb0FsZ0lkLgorCisJKiBkbGxzL3dpbmVkM2QvZGV2aWNlLmM6IE9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlJbXBsZW1lbnRlZCBwb2ludCBzcHJpdGVzIHVzaW5nIEFSQl9QT0lOVF9TUFJJVEUgZXh0ZW5zaW9uLgorCisJKiBkbGxzL3VybG1vbi90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy91cmxtb24vdGVzdHMvdXJsLmMsCisJICBkbGxzL3VybG1vbi91bW9uLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBDcmVhdGVBc3luY0JpbmRDdHhFeCBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy9jcnlwdDMyL2VuY29kZS5jLCBkbGxzL2NyeXB0MzIvdGVzdHMvZW5jb2RlLmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUNvcnJlY3QgYSBidW5jaCBvZiBsdXJraW5nIGFzbi4xIGRlY29kZSBidWdzLgorCisyMDA1LTA5LTAyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOgorCU91dHB1dCB0aGUgaW1wb3J0IGRpcmVjdG9yeSB1c2luZyBhc3NlbWJseSBpbnN0ZWFkIG9mIEMgc3RydWN0dXJlcy4KKworCSogZGxscy93aW5lY3J0MC9NYWtlZmlsZS5pbiwgZGxscy93aW5lY3J0MC9kcnZfZW50cnkuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYzoKKwlBZGRlZCBhbiBlbnRyeSBwb2ludCByb3V0aW5lIGZvciBuYXRpdmUgZHJpdmVycy4KKworCSogZGxscy9hdGwvcmVnaXN0cmFyLmMsIGRsbHMvYXRsL3JzcmMucmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJRml4ZWQgaWQgb2YgdGhlIFJFR0lTVFJZIHJlc291cmNlLgorCisJKiBkbGxzL2RpbnB1dC9NYWtlZmlsZS5pbiwgZGxscy9kaW5wdXQvZWZmZWN0X2xpbnV4aW5wdXQuYzoKKwlEYW5pZWwgUmVtZW5hayA8ZHRyZW1lbmFrQGdtYWlsLmNvbT4KKwlBZGRlZCBhIGxpbnV4IGlucHV0IHN5c3RlbSBmb3JjZSBmZWVkYmFjayBlZmZlY3QgaW1wbGVtZW50YXRpb24uCisKKwkqIGRsbHMvbXNodG1sL25zZW1iZWQuYzogRml4ZWQgQzk5IGRlY2xhcmF0aW9uLgorCisJKiBkbGxzL2RiZ2hlbHAvZWxmX21vZHVsZS5jLCBkbGxzL2RiZ2hlbHAvbXNjLmMsCisJICBkbGxzL2RiZ2hlbHAvbXNjdnBkYi5oLCBkbGxzL2RiZ2hlbHAvcGVfbW9kdWxlLmMsIGRsbHMvbnRkbGwvY2Ryb20uYywKKwkgIGRsbHMvbnRkbGwvbG9hZGVyLmMsIGRsbHMvbnRkbGwvbnQuYywgZGxscy9udGRsbC90ZXN0cy9ydGwuYywKKwkgIGRsbHMvbnRkbGwvdGltZS5jLCBwcm9ncmFtcy9wcm9nbWFuL2dycGZpbGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGRsbHMvd2luZWNydDAvTWFrZWZpbGUuaW4sIGRsbHMvd2luZWNydDAvY3J0MF9wcml2YXRlLmgsCisJICBkbGxzL3dpbmVjcnQwL2RsbF9lbnRyeS5jLCBkbGxzL3dpbmVjcnQwL2V4ZV9lbnRyeS5jLAorCSAgZGxscy93aW5lY3J0MC9leGVfd2VudHJ5LmMsIGRsbHMvd2luZWNydDAvaW5pdC5jLAorCSAgaW5jbHVkZS93aW5lL2xpYnJhcnkuaCwgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOgorCU1vdmVkIHRoZSBzcGVjIGZpbGUgaW5pdCBmdW5jdGlvbiBhbmQgY29uc3RydWN0b3IgdG8gd2luZWNydDAuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5oLCBkbGxzL21zaS9jbGFzc2VzLmMsIGRsbHMvbXNpL2hlbHBlcnMuYywKKwkgIGRsbHMvbXNpL21zaXByaXYuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJLSBjb252ZXJ0IHZlcmJzIGludG8gYSBzdGFuZGFyZCBsaXN0CisJLSByZW1vdmUgbGltaXRhdGlvbiBvZiAxMDAgdmVyYnMKKwktIHVzZSBwb2ludGVycyB0byB2ZXJicyByYXRoZXIgdGhhbiBpbmRleGVzCisKKwkqIGRsbHMvY3J5cHQzMi9lbmNvZGUuYywgZGxscy9jcnlwdDMyL3Rlc3RzL2VuY29kZS5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQgZW5jb2RpbmcvZGVjb2RpbmcgUlNBIHB1YmxpYyBrZXlzLgorCisJKiBkbGxzL2NyeXB0MzIvY2VydC5jLCBkbGxzL2NyeXB0MzIvdGVzdHMvY2VydC5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQgQ2VydEFkZFNlcmlhbGl6ZWRFbGVtZW50VG9TdG9yZS4KKworCSogZGxscy9udGRsbC9zZXJ2ZXIuYzogRml4ZWQgYSBmaWxlIGRlc2NyaXB0b3IgbGVhay4KKworCSogZGxscy91eHRoZW1lL01ha2VmaWxlLmluLCBkbGxzL3V4dGhlbWUvbXNzdHlsZXMuYywKKwkgIGRsbHMvdXh0aGVtZS9zeXN0ZW0uYzoKKwlGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlSZW1vdmUgc2hsd2FwaSBkZXBlbmRlbmN5LgorCisJKiBNYWtlZmlsZS5pbjogQ2xlYW4gTWFrZWltcGxpYi5ydWxlcyB0b28uCisKKwkqIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2QuYywgZGxscy9kc291bmQvdGVzdHMvZHMzZDguYywKKwkgIGRsbHMvbWFwaTMyL3Rlc3RzL3Byb3AuYywgZGxscy9tc3ZjcnQvZGF0YS5jLCBkbGxzL21zdmNydC9maWxlLmMsCisJICBkbGxzL21zdmNydC9tc3ZjcnQuaCwgZGxscy9xY2FwL3Y0bC5jLCBkbGxzL3dpbm1tL3dhdmVtYXAvd2F2ZW1hcC5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZ2NjIDQuMCB3YXJuaW5ncy4KKworCSogZGxscy9jcnlwdDMyL2VuY29kZS5jLCBkbGxzL2NyeXB0MzIvcHJvdGVjdGRhdGEuYywKKwkgIGluY2x1ZGUvY29tbWN0cmwuaDoKKwlLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlGaXggd2FybmluZ3MgaW4gNjRiaXQuCisKKwkqIGRsbHMvbXNodG1sL21zaHRtbF9wcml2YXRlLmgsIGRsbHMvbXNodG1sL25zZW1iZWQuYywKKwkgIGRsbHMvbXNodG1sL25zaWZhY2UuaWRsLCBkbGxzL21zaHRtbC9wZXJzaXN0LmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlCZWdpbm5pbmcgaW1wbGVtZW50YXRpb24gb2Ygb25sb2FkIHJvdXRpbmUuCisKKwkqIGluY2x1ZGUvLmN2c2lnbm9yZSwgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9vYmpzYWZlLmlkbDoKKwlUcm95IFJvbGxvIDx3aW5lQHRyb3kucm9sbG8ubmFtZT4KKwlBZGRlZCBvYmpzYWZlLmlkbCBmb3IgSU9iamVjdFNhZmV0eSBpbnRlcmZhY2UuCisKKwkqIGluY2x1ZGUvZ3VpZGRlZi5oOiBUcm95IFJvbGxvIDx3aW5lQHRyb3kucm9sbG8ubmFtZT4KKwlGb3IgQysrLCBkZWNsYXJlIGluaXRpYWxpc2VkIEdVSURzIHRvIGJlICJleHRlcm4gY29uc3QiIHJhdGhlciB0aGFuCisJanVzdCAiY29uc3QiIHRvIGVuc3VyZSB0aGF0IHRoZSBpbml0aWFsaXNlZCBHVUlEIGlzIHZpc2libGUgdG8gb3RoZXIKKwltb2R1bGVzLCBhbmQgdXNlIEVYVEVSTl9DIHJhdGhlciB0aGFuIGp1c3QgImV4dGVybiIgZm9yIHRoZSBiZW5lZml0IG9mCisJTVNWQysrLCB3aGljaCBkb2VzIG5hbWUgbWFuZ2xpbmcgb24gZ2xvYmFsIHZhcmlhYmxlcy4KKworCSogZGxscy91cmxtb24vTWFrZWZpbGUuaW4sIGRsbHMvdXJsbW9uL2Zvcm1hdC5jLAorCSAgZGxscy91cmxtb24vdXJsbW9uLnNwZWMsIGRsbHMvdXJsbW9uL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL3VybG1vbi90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy91cmxtb24vdGVzdHMvbWlzYy5jLAorCSAgaW5jbHVkZS91cmxtb24uaWRsOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgQ3JlYXRlRm9ybWF0RW51bWVyYXRvciBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy9jb21tZGxnL2NkbGczMi5jLCBkbGxzL2NvbW1kbGcvY29sb3JkbGcuYywKKwkgIGRsbHMvY29tbWRsZy9maWxlZGxnLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnLmMsCisJICBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuYywgaW5jbHVkZS9zaG9iamlkbC5pZGwsCisJICBkbGxzL3NoZWxsMzIvYnJzZm9sZGVyLmMsIGRsbHMvc2hlbGwzMi9jb250cm9sLmMsIGRsbHMvc2hlbGwzMi9kZGUuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsbGluay5jLCBkbGxzL3NoZWxsMzIvc2hlbGxvcmQuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbHBhdGguYywgZGxscy9zaGVsbDMyL3NobGV4ZWMuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGxtZW51LmMsIGRsbHMvc2hlbGwzMi9zaHZfYmdfY21lbnUuYywKKwkgIGRsbHMvc2hlbGwzMi9zaHZfaXRlbV9jbWVudS5jLCBpbmNsdWRlL3NoZWxsYXBpLmg6CisJS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJRml4IHdhcm5pbmdzIGluIDY0Yml0LgorCisJKiBkbGxzL21zaS9jbGFzc2VzLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgb2JqZWN0cyB0byBsaXN0cyBhdCB0aGUgcmlnaHQgdGltZS4KKworCSogaW5jbHVkZS93aW5jcnlwdC5oOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJTW9yZSBkZWZpbml0aW9ucyBhbmQgcHJvdG90eXBlcy4KKworCSogaW5jbHVkZS9kaW5wdXQuaDogRGFuaWVsIFJlbWVuYWsgPGR0cmVtZW5ha0BnbWFpbC5jb20+CisJQWRkIGRlZmluaXRpb25zIGZvciBmb3JjZSBmZWVkYmFjayBjb21tYW5kIGFuZCBzdGF0dXMgZmxhZ3MuCisKKwkqIGRsbHMvcXVhcnR6L2ZpbHRlcmdyYXBoLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlGb3J3YXJkIGNhbGxzIG9mIElCYXNpYyogYW5kIElWaWRlb1dpbmRvdyBpbnRlcmZhY2VzIG9mIHRoZQorCWZpbHRlcmdyYXBoIHRvIHRoZSByaWdodCBmaWx0ZXIuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvdGhlbWUuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJU2luY2UgdXh0aGVtZSBhbHNvIHJldHVybnMgYSBmcmllbmRseSBkaXNwbGF5IG5hbWUgZnJvbQorCUVudW1UaGVtZUNvbG9ycygpIGFuZCBFbnVtVGhlbWVTaXplcygpIHVzZSB0aGF0IGluIHRoZSBjb2xvci9zaXplCisJY29tYm9zLgorCisJKiBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gSW1wbGVtZW50IG1vc3Qgb2YgdGhlIGRldGFpbHMgYXJvdW5kIHVubWFyc2hhbGxpbmcgb2YgYW4gb2JqZWN0CisJICBwb2ludGVyLgorCS0gRml4IGFsbG9jYXRpb24gc2NoZW1lIGluIE5kckNvbmZvcm1hbnRBcnJheVVubWFyc2hhbCB0byBhbGxvY2F0ZSBpZgorCSAgKnBwTWVtb3J5IGlzIE5VTEwsIGxpa2UgY29tcGxleCBzdHJ1Y3QgYW5kIHVzZXIgdHlwZSB1bm1hcnNoYWxsaW5nLgorCisJKiBkbGxzL29sZTMyL2Rjb20uaWRsOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJVGhlIFtzdHJpbmddIGF0dHJpYnV0ZSBpcyBvbmx5IHZhbGlkIG9uIGJ5dGUsIGNoYXIgYW5kIHdjaGFyX3QgdHlwZXMsCisJc28gcmVwbGFjZSAidW5zaWduZWQgc2hvcnQiIGJ5ICJXQ0hBUiIuCisKKwkqIGRsbHMvb2xlYXV0MzIvdXNybWFyc2hhbC5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJQWRkIFZUX1VOS05PV04gc3VwcG9ydCBmb3IgVkFSSUFOVCBtYXJzaGFsaW5nIGJ5IGdlbmVyYWxpc2luZyB0aGUKKwlleGlzdGluZyBWVF9ESVNQQVRDSCBjb2RlLgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmpfcHJpdmF0ZS5oLCBkbGxzL29sZTMyL21hcnNoYWwuYywKKwkgIGRsbHMvb2xlMzIvc3R1Ym1hbmFnZXIuYzoKKwlNaWtlIEhlYXJuIDxtaEBjb2Rld2VhdmVycy5jb20+CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUNoYW5nZSBzdHViIG1hbmFnZXIgdG8gdHJhY2sgdGhlIG51bWJlciBvZiBub3JtYWwgbWFyc2hhbHMgaW5zdGVhZCBvZgorCXVzaW5nIHRoZSBzdGF0ZSBtYWNoaW5lIHNvIHRoYXQgbXVsdGlwbGUgbWFyc2hhbHMgb2YgdGhlIHNhbWUgb2JqZWN0CisJYW5kIGludGVyZmFjZSB3b3JrIGNvcnJlY3RseS4KKworCSogZGxscy9tc2h0bWwvb2xld25kLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJTWFrZSBPbGVJblBsYWNlT2JqZWN0V2luZG93bGVzc1Z0YmwgY29uc3QuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGZsZHJfdW5peGZzLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlUcmFuc2xhdGUgZmlsZSBuYW1lIGZyb20gdW5peCB0byBBTlNJIGVuY29kaW5nIGluCisJVW5peEZvbGRlcl9JU2hlbGxGb2xkZXIyX0dldERpc3BsYXlOYW1lT2YuCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYzogT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUFkZGVkIHRoZSB0cmFja2luZyBvZiBzdHJlYW0gZnJlcXVlbmN5IGFuZCBmbGFncy4gU3RyZWFtIGZsYWdzIGFuZAorCWZyZXF1ZW5jeSBhcmVuJ3QgaGFuZGxlZCBhdCB0aGUgbW9tZW50LgorCisJKiBkbGxzL21zaHRtbC9vbGVvYmouYywgZGxscy9tc2h0bWwvdGVzdHMvaHRtbGRvYy5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgZXhlY19vbl91bmxvYWQgaW1wbGVtZW50YXRpb24uCisKKwkqIGRsbHMvd2xkYXAzMi9taXNjLmMsIGRsbHMvd2xkYXAzMi93aW5sZGFwX3ByaXZhdGUuaDoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlGaXggdGhlIGJ1aWxkIHdpdGhvdXQgb3BlbmxkYXAgaGVhZGVycy4KKworMjAwNS0wOC0zMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogQU5OT1VOQ0UsIENoYW5nZUxvZywgVkVSU0lPTiwgY29uZmlndXJlOiBSZWxlYXNlIDIwMDUwODMwLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyMDA1LTA4LTMwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiBkbGxzL2NvbWN0bDMyL2FuaW1hdGUuYywgZGxscy9jb21jdGwzMi9jb21ib2V4LmMsCmRpZmYgLS1naXQgYS9WRVJTSU9OIGIvVkVSU0lPTgppbmRleCBjZTg3ZGE5Li4yMjU5MmUzIDEwMDY0NAotLS0gYS9WRVJTSU9OCisrKyBiL1ZFUlNJT04KQEAgLTEgKzEgQEAKLVdpbmUgdmVyc2lvbiAyMDA1MDgzMAorV2luZSB2ZXJzaW9uIDIwMDUwOTMwCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggZTI2MTVjY2YuLjA2OThlZGEgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OSBmb3IgV2luZSAyMDA1MDgzMC4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5IGZvciBXaW5lIDIwMDUwOTMwLgogIwogIyBSZXBvcnQgYnVncyB0byA8d2luZS1kZXZlbEB3aW5laHEub3JnPi4KICMKQEAgLTI2OSw4ICsyNjksOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J1dpbmUnCiBQQUNLQUdFX1RBUk5BTUU9J3dpbmUnCi1QQUNLQUdFX1ZFUlNJT049JzIwMDUwODMwJwotUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwNTA4MzAnCitQQUNLQUdFX1ZFUlNJT049JzIwMDUwOTMwJworUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwNTA5MzAnCiBQQUNLQUdFX0JVR1JFUE9SVD0nd2luZS1kZXZlbEB3aW5laHEub3JnJwogCiBhY191bmlxdWVfZmlsZT0ic2VydmVyL2F0b20uYyIKQEAgLTc4OCw3ICs3ODgsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwNTA4MzAgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDA1MDkzMCB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC04NTMsNyArODUzLDcgQEAKIAogaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDUwODMwOiI7OworICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDA1MDkzMDoiOzsKICAgIGVzYWMKICAgY2F0IDw8XF9BQ0VPRgogCkBAIC05ODQsNyArOTg0LDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgMAogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1XaW5lIGNvbmZpZ3VyZSAyMDA1MDgzMAorV2luZSBjb25maWd1cmUgMjAwNTA5MzAKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OQogCiBDb3B5cmlnaHQgKEMpIDIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC05OTgsNyArOTk4LDcgQEAKIFRoaXMgZmlsZSBjb250YWlucyBhbnkgbWVzc2FnZXMgcHJvZHVjZWQgYnkgY29tcGlsZXJzIHdoaWxlCiBydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVnZ2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgogCi1JdCB3YXMgY3JlYXRlZCBieSBXaW5lICRhc19tZSAyMDA1MDgzMCwgd2hpY2ggd2FzCitJdCB3YXMgY3JlYXRlZCBieSBXaW5lICRhc19tZSAyMDA1MDkzMCwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICAkICQwICRACkBAIC0xODk1OCw3ICsxODk1OCw3IEBACiB9ID4mNQogY2F0ID4mNSA8PF9DU0VPRgogCi1UaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDUwODMwLCB3aGljaCB3YXMKK1RoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgV2luZSAkYXNfbWUgMjAwNTA5MzAsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgQ09ORklHX0ZJTEVTICAgID0gJENPTkZJR19GSUxFUwpAQCAtMTkwMjEsNyArMTkwMjEsNyBAQAogCiBjYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRgogYWNfY3NfdmVyc2lvbj0iXFwKLVdpbmUgY29uZmlnLnN0YXR1cyAyMDA1MDgzMAorV2luZSBjb25maWcuc3RhdHVzIDIwMDUwOTMwCiBjb25maWd1cmVkIGJ5ICQwLCBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTksCiAgIHdpdGggb3B0aW9ucyBcXCJgZWNobyAiJGFjX2NvbmZpZ3VyZV9hcmdzIiB8IHNlZCAncy9bXFwiIlxgXCRdL1xcXFwmL2cnYFxcIgogCg==