ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggYTVmY2ZiOC4uMzg5YjMzMyAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNCArMSw0IEBACi1UaGlzIGlzIHJlbGVhc2UgMjAwMTEwMDQgb2YgV2luZSwgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIFdpbmRvd3Mgb24KK1RoaXMgaXMgcmVsZWFzZSAyMDAxMTEwOCBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgogVW5peC4gIFRoaXMgaXMgc3RpbGwgYSBkZXZlbG9wZXJzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MKIGFuZCB1bmltcGxlbWVudGVkIGZlYXR1cmVzLiAgTW9zdCBhcHBsaWNhdGlvbnMgc3RpbGwgZG8gbm90IHdvcmsKIGNvcnJlY3RseS4KQEAgLTYsMTAgKzYsMTIgQEAKIFBhdGNoZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byAid2luZS1wYXRjaGVzQHdpbmVocS5jb20iLiAgUGxlYXNlIGRvbid0CiBmb3JnZXQgdG8gaW5jbHVkZSBhIENoYW5nZUxvZyBlbnRyeS4KIAotV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMTEwMDQ6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQotCS0gQmVnaW5uaW5ncyBvZiBzaGFyZWQgd2luZG93IGhhbmRsZXMuCi0JLSBNdWNoIGltcHJvdmVkIHR5cGVsaWIgc3VwcG9ydC4KLQktIFRvbnMgb2YgbmV3IGNvZGUgaW4gcXVhcnR6IGRsbC4KK1dIQVQnUyBORVcgd2l0aCBXaW5lLTIwMDExMTA4OiAoc2VlIENoYW5nZUxvZyBmb3IgZGV0YWlscykKKwktIFNoYXJlZCB3aW5kb3dzIHN1cHBvcnQgc3RhcnRzIGRvaW5nIHNvbWV0aGluZyB1c2VmdWwuCisJLSBPdmVybGFwcGVkIEkvTyBpbXByb3ZlbWVudHMuCisJLSBTdXBwb3J0IGZvciBydW5uaW5nIGZpbGVzIGZyb20gcmVtb3ZhYmxlIG1lZGlhLgorCS0gTWFueSBzaGx3YXBpIGltcHJvdmVtZW50cy4KKwktIFF1YXJ0eiBkbGwga2VlcHMgZ3Jvd2luZy4KIAktIExvdHMgb2YgYnVnIGZpeGVzLgogCiBTZWUgdGhlIFJFQURNRSBmaWxlIGluIHRoZSBkaXN0cmlidXRpb24gZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCkBAIC0xOCwxMCArMjAsMTAgQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDExMDA0LnRhci5negotICBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMTAwNC50YXIuZ3oKLSAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS91bml4L2xpbnV4L21pcnJvcnMvc3Vuc2l0ZS51bmMuZWR1L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMTAwNC50YXIuZ3oKLSAgZnRwOi8vb3JjdXMucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi9XaW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTEwMDQudGFyLmd6CisgIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMTEwOC50YXIuZ3oKKyAgZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTExMDgudGFyLmd6CisgIGZ0cDovL2Z0cC5mdS1iZXJsaW4uZGUvdW5peC9saW51eC9taXJyb3JzL3N1bnNpdGUudW5jLmVkdS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTExMDgudGFyLmd6CisgIGZ0cDovL29yY3VzLnByb2dzb2MudXRzLmVkdS5hdS9wdWIvV2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDExMTA4LnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgb3RoZXIgc2l0ZSB0aGF0IG1pcnJvcnMgaWJpYmxpby5vcmcuCiBGb3IgbW9yZSBkb3dubG9hZCBsb2NhdGlvbnMsIHNlZSBodHRwOi8vZnRwc2VhcmNoLmx5Y29zLmNvbS4gVGhlc2UKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiZTBjNjQyLi43NjJhMzQ0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsMTA5OCBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwMS0xMS0wOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9tc3ZjcnQvd2NzLmMsIGRsbHMvc2hsd2FwaS91cmwuYywgaW5jbHVkZS93aW5lL3VuaWNvZGUuaDoKKwlJbXBsZW1lbnRlZCBpbmxpbmUgdmVyc2lvbiBvZiB0aGUgaXN3eHh4IGZ1bmN0aW9ucy4KKworCSogbXNkb3MvaW50MDkuYywgbXNkb3MvaW50ZXJydXB0cy5jLCBtc2Rvcy9pb3BvcnRzLmMsCisJICBtc2Rvcy9NYWtlZmlsZS5pbiwgZGxscy93aW5lZG9zL01ha2VmaWxlLmluLCBkbGxzL3dpbmVkb3MvZG9zdm0uYywKKwkgIGRsbHMvd2luZWRvcy9pbnQwOS5jLCBkbGxzL3dpbmVkb3Mvd2luZWRvcy5zcGVjOgorCU92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCU1vdmVkIHRoZSBpbnQgOSAoa2V5Ym9hcmQpIGhhbmRsZXIgdG8gZGxscy93aW5lZG9zLgorCisJKiBkbGxzL3VzZXIvY29tbTE2LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VfbWNjb3JtYWNrQHN0YXJ0LmNvbS5hdT4KKwlGaW5kIG91dCBob3cgbXVjaCBkYXRhIGlzIGF2YWlsYWJsZSB3aGVuIGNhbGxpbmcgUmVhZEZpbGVFeC4KKworMjAwMS0xMS0wNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAbmVyaW0ubmV0PgorCVJlcGFpcmVkIGNoaWxkIHdpbmRvdyBhY3RpdmF0aW9uIGJyb2tlbiBieSBwcmV2aW91cyBjaGFuZ2UuCisKKwkqIHdpbmRvd3Mvd2luLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgZHVtcGluZyBvZiB3aW5kb3cgc3R5bGVzIGF0IHRoZSB3aW5kb3cgY3JlYXRpb24gdGltZS4KKworCSogbXNkb3MvdmdhLmM6IE92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCUFkZGVkIGEgZmV3IGRlZmF1bHQgcGFsZXR0ZSBlbnRyaWVzIGZvciB0aGUgVkdBL01DR0EgMjU2LWNvbG9yIG1vZGUuCisJTWFkZSB0aGUgVkdBIG1vZGUgc2V0IGdvIHRocm91Z2ggUnVuSW5UaHJlYWQsIHNvIHRoYXQgdGhlIFZHQSBncmFwaGljcworCXdpbmRvdyBnZXRzIG93bmVkIGJ5IHRoZSByaWdodCB0aHJlYWQuCisKKwkqIHNlcnZlci90aHJlYWQuYzoKKwlBdm9pZCBmdHJ1bmNhdGUgdG8gd29yayBhcm91bmQgYnJva2VuIFVNU0RPUyBmaWxlIHN5c3RlbS4KKworCSogd2luZG93cy9zeXNtZXRyaWNzLmMsIHdpbmRvd3Mvc3lzcGFyYW1zLmM6CisJQW5kcml5IFBhbGFtYXJjaHVrIDxhcGEzYUB5YWhvby5jb20+CisJQ3JlYXRlZCBuZXcgaW5mcmFzdHJ1Y3R1cmUgZm9yIFN5c3RlbVBhcmFtZXRlcnNJbmZvIGZ1bmN0aW9uLiBVc2VkIGl0CisJdG8gaW1wbGVtZW50IHByb2Nlc3NpbmcgZm9yIFNQSV9HRVQvU0VUQkVFUCwgU1BJX0dFVC9TRVRCT1JERVIsCisJU1BJX0dFVC9TRVRTSE9XU09VTkRTIHN5c3RlbSBwYXJhbWV0ZXJzLgorCisJKiBkb2N1bWVudGF0aW9uL2FyY2hpdGVjdHVyZS5zZ21sOgorCUJpbGwgTWVkbGFuZCA8bWVkYmkwMUBhY2NwYWMuY29tPgorCU1pbm9yIGdyYW1tYXRpY2FsIGNvcnJlY3Rpb25zLgorCisJKiBtc2Rvcy9kcG1pLmMsIGRsbHMvd2luZWRvcy9tb2R1bGUuYywgZGxscy93aW5lZG9zL3dpbmVkb3Muc3BlYywKKwkgIGluY2x1ZGUvY2FsbGJhY2suaCwgaW5jbHVkZS9kb3NleGUuaDoKKwlPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlBZGRlZCBSdW5JblRocmVhZCBjYWxsb3V0IHRvIHdpbmVkb3MuCisKKwkqIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci90cmFjZS5jLCBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsCisJICBzY2hlZHVsZXIvc3luY2hyby5jLCBzZXJ2ZXIvbmFtZWRfcGlwZS5jLCBkbGxzL2tlcm5lbC9zeW5jLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VfbWNjb3JtYWNrQHN0YXJ0LmNvbS5hdT4KKwlNYWtlIENvbm5lY3ROYW1lZFBpcGUgd29yayBpbiBvdmVybGFwcGVkIG1vZGUuCisKKwkqIGRsbHMva2VybmVsL2NvbW0uYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAc3RhcnQuY29tLmF1PgorCUlnbm9yZSBEU1IvRFRSIGZsb3cgY29udHJvbCBpbiBEQ0IuIHRlcm1pb3MgZG9lc24ndCBzdXBwb3J0IGl0LgorCisyMDAxLTExLTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3NobHdhcGkuaCwgZGxscy9zaGx3YXBpL3BhdGguYywgZGxscy9zaGx3YXBpL3NobHdhcGlfbWFpbi5jLAorCSAgZGxscy9zaGx3YXBpL3N0cmluZy5jLCBkbGxzL3dpbmluZXQvaHR0cC5jLCBkbGxzL3dpbmluZXQvaW50ZXJuZXQuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGxtZW51LmMsIGRsbHMvY29tbWRsZy9maWxlZGxnYnJvd3Nlci5jLAorCSAgZGxscy9yaWNoZWRpdC9yaWNoZWRpdC5jLCBkbGxzL3NoZG9jdncvc2hkb2N2d19tYWluLmMsCisJICBkbGxzL3NoZWxsMzIvY2xpcGJvYXJkLmMsIGRsbHMvc2hlbGwzMi9pY29uY2FjaGUuYywKKwkgIGRsbHMvc2hlbGwzMi9waWRsLmMsIGRsbHMvc2hlbGwzMi9zaGVsbC5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jLCBkbGxzL3NoZWxsMzIvc2hlbGxzdHJpbmcuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGxmaWxlb3AuYywgZGxscy9zaGVsbDMyL3NobGZvbGRlci5jLAorCSAgZGxscy9jb21jdGwzMi9jb21tY3RybC5jOgorCUd1eSBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSBEZWZpbmUgcmVzdCBvZiBVUkxfRVNDQVBFLi4uIGFuZCBvdGhlciBmbGFncy4KKwktIERlZmluZSBpbXBsZW1lbnRlZCBpbnRlcmZhY2VzIGZvciByZWcuYyBhbmQgdXJsLmMuCisKKwkqIGRsbHMvc2hsd2FwaS91cmwuYzoKKwlHdXkgQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCS0gSW1wbGVtZW50IFVSTF9FU0NBUEVfU0VHRU1FTlRfT05MWSwgVVJMX0VTQ0FQRV9QRVJDRU5ULAorCSAgYW5kIFVSTF9ET05UX0VTQ0FQRV9FWFRSQV9JTkZPIGluIHRoZSBVcmxFc2NhcGV7QXxXfSByb3V0aW5lcy4KKwktIE1ha2UgVXJsQ2Fub25pY2FsaXplQSB1c2UgVXJsQ2Fub25pY2FsaXplVy4KKwktIEltcGxlbWVudCBmdWxsIGZ1bmN0aW9uYWxpdHkgaW4gVXJsQ2Fub25pY2FsaXplVy4KKwktIEltcGxlbWVudCBVcmxDb21iaW5le0F8V30uCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmg6CisJR3V5IEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwktIEltcGxlbWVudCBTSExXQVBJXzEgKEFTQ0lJIHZlcnNpb24gb2YgU0hMV0FQSV8yKS4KKwktIEZpeCBlcnJvciBpbiBTSExXQVBJXzE4CisJLSBOZXcgZmlsZSAob3JkaW5hbC5oKSB3aXRoIGRvY3VtZW50YXRpb24gZm9yIF8xLCAmXzIuCisKKwkqIHdpbmRvd3MvbWVzc2FnZS5jLCB3aW5kb3dzL3dpbnBvcy5jLCBkbGxzL3gxMWRydi93aW5wb3MuYywKKwkgIGluY2x1ZGUvd2lucG9zLmgsIGRsbHMvdHR5ZHJ2L3duZC5jOgorCVdpbmRvdyBhY3RpdmF0aW9uIGNsZWFudXBzLgorCisJKiBzY2hlZHVsZXIvcHJvY2Vzcy5jOgorCVJldHVybiBzdWNjZXNzIGluIENyZWF0ZVByb2Nlc3Mgd2hlbiB3ZSBzdGFydGVkIGEgbm9uLVdpbmVsaWIgVW5peAorCXByb2Nlc3MuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkICRYX0xJQlMgcGF0aCB3aGlsZSBzZWFyY2hpbmcgZm9yIGxpYmZyZWV0eXBlLgorCisJKiBkbGxzL2RpbnB1dC9kZXZpY2UuYzoKKwk8bGFyc3RpcUBsYXJzdGlxLmR5bmRucy5vcmc+CisJRGV2aWNlcyBuZXZlciBuZWVkIHRvIGJlIHBvbGxlZCwgc28gcmV0dXJuIERJX05PRUZGRUNUIGluIFBvbGwuCisKKwkqIHNlcnZlci9zZWxlY3QuYzoKKwlCaWxsIE1lZGxhbmQgPG1lZGJpMDFAYWNjcGFjLmNvbT4KKwlQcmV2ZW50IGRhbmdlciBvZiBhY2Nlc3NpbmcgZnJlZWQgbWVtb3J5ICh0aGVvcmV0aWNhbCBidXQgdW5saWtlbHkKKwlidWcpLgorCisJKiBwcm9ncmFtcy9yZWdhcGkvcmVnYXBpLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlzdHJzZXAgaXMgbm90IGltcGxlbWVudGVkIG9uIFNvbGFyaXMsIHJlcGxhY2UgaXQgd2l0aCBvdXIgb3duIHBvcnRhYmxlCisJaW1wbGVtZW50YXRpb24uCisKKwkqIGxpYnJhcnkvZGVidWcuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlSZW5hbWVkIHN0cnVjdCBvcHRpb24gdG8gc3RydWN0IGRlYnVnX29wdGlvbiB0byBhdm9pZCBjb21waWxlIHByb2JsZW1zCisJd2hlcmUgc3RydWN0IG9wdGlvbiBpcyBhbHJlYWR5IGRlZmluZWQuCisKKwkqIHRvb2xzL3dyYy93cml0ZXJlcy5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUZpeCBhIGJ1ZmZlciBvdmVyZmxvdyBpbiB3cml0ZV9uYW1lX3N0ciwgYnVnIGZvdW5kIGJ5CisJam9uYXRoYW5AY29ydnUuY29tLmF1LgorCisJKiB0b29scy93aW5lY2hlY2s6IDxnaHV0Y2hpc0BjaXNjby5jb20+CisJQXZvaWQgcGFyc2luZyB0aGUgd2hvbGUgdHJlZSB0byBmaW5kIGxpYndpbmUuc28uCisKKwkqIGxvYWRlci9tb2R1bGUuYywgd2luZG93cy9zeXNwYXJhbXMuYywgZGxscy91c2VyL2V4dGljb24uYywKKwkgIGRsbHMvd3NvY2szMi9zb2NrZXQuYywgZ3JhcGhpY3Mvd2luMTZkcnYvaW5pdC5jLAorCSAgZ3JhcGhpY3Mvd2luMTZkcnYvcHJ0ZHJ2LmMsIGRsbHMvc2hsd2FwaS9yZWcuYywKKwkgIGRsbHMvc2hsd2FwaS9zdHJpbmcuYywgZGxscy9zaGVsbDMyL2ljb25jYWNoZS5jLAorCSAgZGxscy9zaGVsbDMyL3BpZGwuYywgZGxscy9zaGVsbDMyL3NoZWxsb3JkLmMsCisJICBkbGxzL3NoZWxsMzIvc2hsZm9sZGVyLmMsIGRsbHMvc2hlbGwzMi9zaGxtZW51LmMsCisJICBkbGxzL3NoZWxsMzIvc2h2X2l0ZW1fY21lbnUuYywgZGxscy9vbGVhdXQzMi92YXJpYW50LmMsCisJICBkbGxzL3NoZWxsMzIvY2hhbmdlbm90aWZ5LmMsIGRsbHMvY29tY3RsMzIvY29tYm9leC5jLAorCSAgZGxscy9jb21jdGwzMi90YWIuYywgZGxscy9jb21tZGxnL2ZpbGVkbGdicm93c2VyLmMsCisJICBkbGxzL2tlcm5lbC90b29saGVscC5jLCBkbGxzL250ZGxsL3JlZy5jLCBjb250cm9scy9jb21iby5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCURvbid0IHByZWZpeCAlcCB3aXRoIDB4LgorCVZhcmlvdXMgRW5nbGlzaCBmaXhlcy4KKworCSogd2luZG93cy94MTFkcnYvY2xpcGJvYXJkLmMsIHdpbmRvd3MvY2xhc3MuYywgd2luZG93cy9kaWFsb2cuYywKKwkgIHRvb2xzL3dyYy9wYXJzZXIubCwgdG9vbHMvd3JjL3BwbC5sLCB3aW4zMi9kZXZpY2UuYywKKwkgIHNlcnZlci9yZXF1ZXN0LmMsIHRvb2xzL21ha2VfWDExd3JhcHBlcnMsIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jLCB0b29scy93aW5lYnVpbGQvdXRpbHMuYywgbXNkb3MvZG9zbWVtLmMsCisJICBtc2Rvcy9kcG1pLmMsIG1zZG9zL2ludDEwLmMsIHNjaGVkdWxlci9jbGllbnQuYywKKwkgIHNjaGVkdWxlci9zeXNkZXBzLmMsIHNjaGVkdWxlci90aHJlYWQuYywgbWVtb3J5L2dsb2JhbC5jLAorCSAgbWVtb3J5L3ZpcnR1YWwuYywgbWlzYy9jcHUuYywgbGlicmFyeS9wb3J0LmMsIGxvYWRlci9lbGYuYywKKwkgIGxvYWRlci9uZS9tb2R1bGUuYywgbG9hZGVyL25lL3Jlc291cmNlLmMsIGluY2x1ZGUvd2luZS9wb3J0LmgsCisJICBpbmNsdWRlL2Nkcm9tLmgsIGluY2x1ZGUvY29uZmlnLmguaW4sIGluY2x1ZGUvY29uc29sZS5oLAorCSAgaW5jbHVkZS9nZGkuaCwgaW5jbHVkZS9oZWFwLmgsIGluY2x1ZGUvdGhyZWFkLmgsIGluY2x1ZGUvdHNfc2hhcGUuaCwKKwkgIGluY2x1ZGUvdHNfeGY4NmRnYS5oLCBpbmNsdWRlL3RzX3hmODZkZ2EyLmgsIGluY2x1ZGUvdHNfeGY4NnZtb2RlLmgsCisJICBpbmNsdWRlL3RzX3hsaWIuaCwgaW5jbHVkZS90c194cG0uaCwgaW5jbHVkZS90c194cmVuZGVyLmgsCisJICBpbmNsdWRlL3RzX3hyZXNvdXJjZS5oLCBpbmNsdWRlL3RzX3hzaG0uaCwgaW5jbHVkZS90c194dXRpbC5oLAorCSAgaW5jbHVkZS90c194dmlkZW8uaCwgaW5jbHVkZS93aW5lX2dsLmgsIGluY2x1ZGUveDExZHJ2LmgsCisJICBkbGxzL3gxMWRydi9kZ2EyLmgsIGRsbHMveDExZHJ2L3gxMWRkcmF3LmgsIGRsbHMveDExZHJ2L3h2aWRtb2RlLmgsCisJICBmaWxlcy9kcml2ZS5jLCBkbGxzL3dpbm1tL3dpbmVvc3Mvb3NzLmgsIGRsbHMvd2luc29jay9hc3luYy5jLAorCSAgZGxscy93aW5zb2NrL3NvY2tldC5jLCBkbGxzL3R0eWRydi9iaXRtYXAuYywgZGxscy90dHlkcnYvb2JqZWN0cy5jLAorCSAgZGxscy90dHlkcnYvcGFsZXR0ZS5jLCBkbGxzL3R0eWRydi90dHlkcnYuaCwgZGxscy90dHlkcnYvdXNlci5jLAorCSAgZGxscy9udGRsbC9taXNjLmMsIGRsbHMvb2RiYzMyL3Byb3h5b2RiYy5jLCBkbGxzL2tlcm5lbC9jb21tLmMsCisJICBkbGxzL21zdmNydC9tc3ZjcnQuaCwgY29udHJvbHMvbWVudS5jLCBkbGxzL2RkcmF3L21lc2EuYywKKwkgIGRsbHMvZHBsYXl4L2RwbGF5LmMsIGNvbmZpZ3VyZS5pbiwgY29uc29sZS94dGVybS5jLCBjb25maWd1cmU6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggdGhlICNpbmNsdWRlIG9yZGVyIGZvciBjb25maWcuaC4KKwlBZGQgI2luY2x1ZGUgImNvbmZpZy5oIiBkaXJlY3RpdmVzIHdoZXJlIG5lZWRlZC4KKworCSogZGxscy9uZXRhcGkzMi9uZXRhcGkzMi5jLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL2RlYnVndG9vbHMuaCwKKwkgIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBkZWJ1Z3Rvb2xzLmggaW5kZXBlbmRlbnQgZnJvbSBjb25maWcuaC4KKworCSogc2VydmVyL3dpbmRvdy5jOgorCUFsbG93IG93bmVyIHRvIGJlIHRoZSBkZXNrdG9wIHdpbmRvdy4KKworCSogcHJvZ3JhbXMvcmVnYXBpL3JlZ2FwaS5jOgorCUhpZGVub3JpIFRha2VzaGltYSA8aGlkZW5vcmlAYTIuY3RrdHYubmUuanA+CisJVGhlICdkd29yZCcgdmFsdWVzIHNob3VsZCBiZSBzdG9yZWQgYXMgYmlnIGVuZGlhbiB2YWx1ZXMuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvbmIzMC5oLCBjb25maWd1cmUuaW4sIGRsbHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL25ldGFwaTMyLy5jdnNpZ25vcmUsIGRsbHMvbmV0YXBpMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL25ldGFwaTMyL25ldGFwaTMyLmMsIGRsbHMvbmV0YXBpMzIvbmV0YXBpMzIuc3BlYywgY29uZmlndXJlOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlX21jY29ybWFja0BzdGFydC5jb20uYXU+CisJQWRkZWQgbmV0YXBpMzIuZGxsIGFuZCB0aGUgTmV0YmlvcygpIGNhbGwuCisKKwkqIHdpbmRvd3MvY2FyZXQuYzoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGb3IgZHJhd2luZyBhIGNhcmV0LCBpbnRlcm5hbGx5IHJlcGxhY2VkIHRoZSBicnVzaCBieSBhIGJpdG1hcCAodGhpcworCWFsbG93cyBjYXJldCBvZiBzaXplID4gOHg4KSwKKworCSogbWlzYy9vcHRpb25zLmMsIG1pc2MvdmVyc2lvbi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCB2ZXJzaW9ucyBmb3IgV2luTUUgYW5kIFdpblhQLgorCUZpeCB0aGUgMTZiaXQgdmVyc2lvbiByZXR1cm4gZm9yIFdpbjIwMDAuCisJTW9yZSBjbG9zZWx5IG1hdGNoIHRoZSBXaW45NS85OCBDU0RWZXJzaW9uIGZpZWxkcy4KKwlFbmhhbmNlIGRvY3VtZW50YXRpb24gb2YgV2luOTUgdmVyc2lvbiBudW1iZXJzLgorCUNvbmZpcm0gdGhlIGV4aXN0aW5nIGRhdGEgZm9yIFdpbjIwMDAuCisKKwkqIGRsbHMvc2hsd2FwaS9yZWcuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggaW5jb3JyZWN0IHVzZSBvZiBhIFVuaWNvZGUgc3RyaW5nIGxpdGVyYWwuCisKKwkqIGdyYXBoaWNzL3gxMWRydi94Zm9udC5jLCBvYmplY3RzL2ZvbnQuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUFkZCB0cmFjZXMgdG8gaGVscCBkaWFnbm9zZSBzeXN0ZW1hdGljIGNhY2hlZC1tZXRyaWNzIHJlZ2VuZXJhdGlvbgorCXByb2JsZW1zLgorCisJKiBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJUmVuYW1lIFNJQ19Db21wYXJlRW50cnlzIHRvIFNJQ19Db21wYXJlRW50cmllcywgYW5kIG1ha2UgaXQgc3RhdGljLgorCisJKiBkbGxzL21zcmxlMzIvLmN2c2lnbm9yZSwgZGxscy9tc3JsZTMyL01ha2VmaWxlLmluLAorCSAgZGxscy9tc3JsZTMyL21zcmxlMzIuYywgZGxscy9tc3JsZTMyL21zcmxlMzIuc3BlYywgZGxscy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvYXZpY2FwMzIvLmN2c2lnbm9yZSwgZGxscy9hdmljYXAzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvYXZpY2FwMzIvYXZpY2FwMzIuc3BlYywgZGxscy9hdmljYXAzMi9hdmljYXAzMl9tYWluLmMsCisJICBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCUFkZGVkIHN0dWJzIGZvciBtc3JsZTMyLmRsbCBhbmQgaW1wbGVtZW50ZWQgUkxFOCBkZWNvZGVyLgorCUFkZGVkIHN0dWIgZm9yIGF2aWNhcDMyLgorCisyMDAxLTExLTA1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBvYmplY3RzL2ZvbnQuYywgZ3JhcGhpY3MveDExZHJ2L3hmb250LmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb252ZXJ0IEdldENoYXJXaWR0aCB0byBVbmljb2RlLgorCisJKiBkbGxzL3VzZXIvbWVzc2FnZS5jOgorCUd1eSBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJTW92ZSBTUFlfRW50ZXJNZXNzYWdlIGNhbGwgYWZ0ZXIgYWxsIHBvc3NpYmxlIGV4aXRzIHNvIHRoYXQgdGhlcmUgd2lsbAorCWJlIGEgbWF0Y2hpbmcgU1BZX0V4aXRNZXNzYWdlLgorCisJKiBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjLCBkbGxzL3NobHdhcGkvc3RyaW5nLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGxzdHJpbmcuYzoKKwlHdXkgQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCS0gSW5kaWNhdGUgdGhhdCBTdHJSZXRUb1N0ck57QXxXfSBhbmQgU3RyUmV0VG9CdWZ7QXxXfSBhcmUgaWRlbnRpY2FsCisJICBjb2RlIGJ1dCBkdXBsaWNhdGVkIGRlbGliZXJhdGVseS4KKwktIEltcGxlbWVudCBTdHJSQ2hySXtBfFd9LgorCisJKiB3aW5kb3dzL3NweS5jOgorCUd1eSBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJQWRkIHN1cHBvcnQgZm9yIFdpbmUgaW50ZXJuYWwgbWVzc2FnZXMuCisKKwkqIHRvb2xzL3dpbmVkdW1wL21haW4uYywgdG9vbHMvd2luZWR1bXAvbXNtYW5nbGUuYywKKwkgIHRvb2xzL3dpbmVkdW1wL291dHB1dC5jLCB0b29scy93aW5lZHVtcC9wZS5jLAorCSAgdG9vbHMvd2luZWR1bXAvd2luZWR1bXAuaDoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGaXhlZCBhbmQgZ2xvYmFsaXplZCBzb21lIHBhdGggYW5kIG1vZHVsZSBuYW1lIGhhbmRsaW5nLgorCVR3ZWFrZWQgdGhlIGRlbWFuZ2xpbmcgb2YgZnVuY3Rpb24gcG9pbnRlcnMgYXMgZnVuY3Rpb24gcGFyYW1ldGVycy4KKworCSogZGxscy93aW5tbS93aW5lb3NzL21peGVyLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgZHN0IC8gc3JjIGxpbmVzIGltcGxlbWVudGF0aW9uLgorCUFkZGVkIG11eC9taXhlciBjb250cm9sIGZvciBtYXN0ZXIgcmVjLgorCUFkZGVkIGZyYW1ld29yayBmb3IgbXVsdGlwbGUgbWl4ZXJzLgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmM6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAbmVyaW0ubmV0PgorCVRlc3QgZm9yIHdzX3RpbWVvdXQ9TlVMTCBpbiB3aW5zb2NrIHNlbGVjdCgpLgorCisJKiBjb25maWd1cmUuaW4sIGNvbmZpZ3VyZToKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVRlbGwgU29sYXJpcyB1c2VycyB3aGVyZSB0byBnZXQgWFBNLgorCisJKiBsaWJyYXJ5L3BvcnQuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUZBTFNFIGlzIG5vdCBkZWZpbmVkIG9uIFNvbGFyaXMuCisKKwkqIGdyYXBoaWNzL3gxMWRydi9kaWIuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUZpeCBsaW5lIGxlbmd0aCBjYWxjdWxhdGlvbiBpbiBYMTFEUlZfRElCX0NvbnZlcnRfYW55X2FzaXMuCisJQ29ycmVjdGx5IGluaXRpYWxpemUgdGhlIGNvbG9yIG1hc2tzIG9mIDI0YnBwIERJQnMuCisKKwkqIHdpbmRvd3MvY2xhc3MuYzoKKwlKb3NodWEgVGhpZWxlbiA8dGhpZWxlbkBuZXRwcmluY2UubmV0PgorCUZvciBnbG9iYWwgY2xhc3NlcywgR2V0Q2xhc3NJbmZvIG5vdyByZXR1cm5zIGEgaGFuZGxlIHRvIFVTRVIuCisKKwkqIG1zZG9zL2ludGVycnVwdHMuYywgaW5jbHVkZS9taXNjZW11Lmg6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJSW1wbGVtZW50ZWQgYSBkeW5hbWljIHRhYmxlIG9mIERPUyBpbnRlcnJ1cHQgaGFuZGxlcnMuCisKKzIwMDEtMTAtMjggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvd2luc3Bvb2wvaW5mby5jOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQG5lcmltLm5ldD4KKwlGaXggUmVnU2V0VmFsdWVFeCBjYWxscyBhbmQgY3Jhc2ggd2hlbiBEcml2ZXJOYW1lPSIiIGluIHJlZ2lzdHJ5LgorCisJKiBkbGxzL250ZGxsL3NpZ25hbF9pMzg2LmM6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJUHJvdGVjdCBhZ2FpbnN0IGFuIGludGVycnVwdC1wZW5kaW5nIHNpZ25hbCByZWN1cnNpb24uCisKKwkqIGRsbHMvcXVhcnR6L01ha2VmaWxlLmluLCBkbGxzL3F1YXJ0ei9SRUFETUUsIGRsbHMvcXVhcnR6L2FzeW5jc3JjLmMsCisJICBkbGxzL3F1YXJ0ei9hdmlkZWMuYywgZGxscy9xdWFydHovYmFzZXBpbi5jLCBkbGxzL3F1YXJ0ei9kZXZlbnVtLmMsCisJICBkbGxzL3F1YXJ0ei9kZXZlbnVtLmgsIGRsbHMvcXVhcnR6L2Rldm1vbi5jLCBkbGxzL3F1YXJ0ei9kZXZtb24uaCwKKwkgIGRsbHMvcXVhcnR6L2ZncGFzcy5jLCBkbGxzL3F1YXJ0ei9mbWFwLmMsIGRsbHMvcXVhcnR6L2lmZ3JhcGguYywKKwkgIGRsbHMvcXVhcnR6L2l1bmsuYywgZGxscy9xdWFydHovbXR5cGUuYywgZGxscy9xdWFydHovbXR5cGUuaCwKKwkgIGRsbHMvcXVhcnR6L3BhcnNlci5jLCBkbGxzL3F1YXJ0ei9yZWdzdnIuYywgZGxscy9xdWFydHovcmVnc3ZyLmgsCisJICBkbGxzL3F1YXJ0ei9zZWVrcGFzcy5jLCBkbGxzL3F1YXJ0ei92aWRyZW4uYywKKwkgIGRsbHMvcXVhcnR6L3dhdnBhcnNlLmMsIHdpbmVkZWZhdWx0LnJlZzoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCUZpeGVkIHNvbWUgYnVncy4KKwlJbXBsZW1lbnRlZCBJUHJvcGVydHlCYWcuCisJSW1wbGVtZW50ZWQgc29tZSBGaWx0ZXJNYXBwZXIyIG1ldGhvZHMuCisJSW1wbGVtZW50ZWQgQWRkU291cmNlRmlsdGVyLgorCUltcGxlbWVudGVkIFJlbmRlciBwYXJ0aWFsbHkuCisJSW1wbGVtZW50ZWQgQ29ubmVjdCBwYXJ0aWFsbHkuCisKKwkqIGluY2x1ZGUvc3RybWlmLmg6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlBZGRlZCBkZWZpbml0aW9ucyBvZiBNRVJJVHMuCisKKwkqIGRsbHMvbXN2aWRlby9tc3ZmdzMyLnNwZWMsIGRsbHMvbXN2aWRlby9tc3ZpZGVvX21haW4uYzoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCUFkZGVkIHN0dWIgZm9yIElDSW1hZ2VDb21wcmVzcy4KKwlJbXBsZW1lbnRlZCBJQ0ltYWdlRGVjb21wcmVzcy4KKworCSogZGxscy9zaGx3YXBpL29yZGluYWwuYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYzoKKwlHdXkgTC4gQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCS0gQWRkZWQgc3R1YnMgZm9yIF8xOCxfMjEsXzIyIHdoaWNoIHNlZW0gdG8gYmUgdXNlZCBvbmx5IGJ5IG5hdGl2ZQorCSAgc2hkb2N2dy5kbGwKKwktIEltcGxlbWVudGVkIF8yNiwgXzI3LCBfMjgsIF8zMiwgYW5kIF8zNCAobW9yZSBpc3cuLi4gZnVuY3Rpb25zKS4KKworCSogZGxscy9zaGx3YXBpL3VybC5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJU3R1YiBVcmxDb21iaW5lQSBhbmQgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBVcmxDb21iaW5lVy4KKworCSogZGxscy9zaGx3YXBpL3JlZy5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJSW1wbGVtZW50IFNIUmVnR2V0Qm9vbFVTVmFsdWV7QXxXfS4KKworCSogZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfaWNvbnMucmM6CisJSmVyZW15IE5ld21hbiA8am5ld21hbkBjb2Rld2VhdmVycy5jb20+CisJUmVwbGFjZWQgTWFydGluaSBnbGFzcy4KKworMjAwMS0xMC0yNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogbG9hZGVyL3BlX2ltYWdlLmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIHNlcnZlci9wcm9jZXNzLmM6CisJRG9uJ3Qga2VlcCBtYWluIGV4ZSBhbmQgZGxscyBoYW5kbGVzIG9wZW4gd2hlbiB0aGUgZmlsZSBpcyBvbgorCXJlbW92YWJsZSBtZWRpYS4KKworCSogZGxscy9zaGVsbDMyL3NobHZpZXcuYzoKKwlBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUFkZCBoYW5kbGluZyBmb3IgTFZOX0dFVERJU1BJTkZPVy4KKworMjAwMS0xMC0yNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9zaGx3YXBpL3JlZy5jOgorCUd1eSBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSBDb3JyZWN0IGltcGxlbWVudGF0aW9uIG9mIEhVU0tFWSBpbnRlcm5hbHMsIGluY2x1ZGluZyBmdW5jdGlvbnM6CisJICBTSFJlZ09wZW5VU0tleXtBfFd9LCBTSFJlZ0Nsb3NlVVNLZXksIFNIUmVnR2V0VVNWYWx1ZXtBfFd9LAorCSAgU0hSZWdRdWVyeUluZm9VU0tleXtBfFd9CisJLSBJbXBsZW1lbnQgU0hSZWdRdWVyeVVTVmFsdWV7QXxXfQorCisJKiBkbGxzL3NobHdhcGkvb3JkaW5hbC5jOgorCUd1eSBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSAgSW1wbGVtZW50OgorCSAgICAgIFNITFdBUElfMiAgLSBJZGVudGlmeSBpbnRlcm5ldCBwcm90b2NvbHMuCisJICAgICAgU0hMV0FQSV8yNSAgLSAgaXN3YWxwaGEKKwkgICAgICBTSExXQVBJXzMzICAtICBpc3dkaWdpdAorCisJKiB3aW5kb3dzL3dpbnBvcy5jOgorCUpvc2h1YSBUaGllbGVuIDx0aGllbGVuQG5ldHByaW5jZS5uZXQ+CisJU3dpdGNoIGZvY3VzIHRvIGFjdGl2YXRlZCB3aW5kb3cgZXZlbiBpZiBubyB3aW5kb3cgcHJldmlvdXNseSBoYWQgdGhlCisJZm9jdXMuCisKKwkqIG1lbW9yeS92aXJ0dWFsLmM6CisJVHJ5IHRvIHVzZSByZWFkIGluc3RlYWQgb2YgbW1hcCBmb3IgZmlsZXMgb24gcmVtb3ZhYmxlIG1lZGlhLCBzbyB0aGF0CisJd2UgZG9uJ3QgbmVlZCB0byBrZWVwIHRoZSBtYXBwaW5nIGhhbmRsZSBvcGVuLgorCisJKiBzZXJ2ZXIvZmlsZS5jLCBzZXJ2ZXIvbWFwcGluZy5jLCBzZXJ2ZXIvb2JqZWN0LmgsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvdHJhY2UuYywgZmlsZXMvZG9zX2ZzLmMsIGZpbGVzL2ZpbGUuYywKKwkgIGluY2x1ZGUvZmlsZS5oLCBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIG1pc2MvcmVnaXN0cnkuYzoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlTYXZlIGEgZGlzayBmaWxlJ3MgZHJpdmUgdHlwZSBpbiB0aGUgc2VydmVyIG9iamVjdC4KKworMjAwMS0xMC0yMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy93aW4uYzogQ29zbWV0aWMgZml4ZXMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2RldmVudW0vLmN2c2lnbm9yZSwKKwkgIGRsbHMvZGV2ZW51bS9NYWtlZmlsZS5pbiwgZGxscy9kZXZlbnVtL2RldmVudW0uc3BlYywKKwkgIGRsbHMvZGV2ZW51bS9kZXZlbnVtX21haW4uYywgZGxscy9tc2Rtby8uY3ZzaWdub3JlLAorCSAgZGxscy9tc2Rtby9NYWtlZmlsZS5pbiwgZGxscy9tc2Rtby9tc2Rtby5zcGVjLAorCSAgZGxscy9tc2Rtby9tc2Rtb19tYWluLmMsIGRsbHMvcWNhcC8uY3ZzaWdub3JlLAorCSAgZGxscy9xY2FwL01ha2VmaWxlLmluLCBkbGxzL3FjYXAvcWNhcC5zcGVjLCBkbGxzL3FjYXAvcWNhcF9tYWluLmM6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlBZGRlZCBzdHVicyBmb3IgbXNkbW8uZGxsLCBxY2FwLmRsbCBhbmQgZGV2ZW51bS5kbGwuCisKKwkqIGNvbmZpZ3VyZS5pbiwgZGxscy9nZGkvZnJlZXR5cGUuYywgaW5jbHVkZS9jb25maWcuaC5pbiwKKwkgIGluY2x1ZGUvZm9udC5oLCBvYmplY3RzL2ZvbnQuYywgY29uZmlndXJlOgorCUh1dyBEIE0gRGF2aWVzIDxoZGF2aWVzQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgR2V0Rm9udERhdGEuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvb2xlYXV0MzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL29sZWF1dDMyL29sZWF1dDMyLnNwZWMsIGRsbHMvb2xlYXV0MzIvcHJvcGVydHlmcmFtZS5jLAorCSAgZGxscy9vbGVhdXQzMi9zdHVicy5jOgorCUhpZGVub3JpIFRha2VzaGltYSA8aGlkZW5vcmlAYTIuY3RrdHYubmUuanA+CisJSW1wbGVtZW50ZWQgT2xlQ3JlYXRlUHJvcGVydHlGcmFtZSBhbmQKKwlPbGVDcmVhdGVQcm9wZXJ0eUZyYW1lSW5kaXJlY3QuCisKKwkqIGluY2x1ZGUvd2luYmFzZS5oLCBpbmNsdWRlL3dpbmNvbi5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCU1vdmVkL2FkZGVkIHNvbWUgY29uc29sZSBkZWZpbml0aW9ucy4KKworCSogbWlzYy92ZXJzaW9uLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJUmV2ZXJ0IDE2Yml0IHdpbjk1IHZlcnNpb24gYmFjayB0byBvcmlnaW5hbCB2YWx1ZS4gRml4ZXMgSW5zdGFsbFNoaWVsZAorCWluc3RhbGxlciB2ZXJzaW9uIGNoZWNrLgorCisJKiBncmFwaGljcy94MTFkcnYvY29kZXBhZ2UuYywgZ3JhcGhpY3MveDExZHJ2L3hmb250LmMsCisJICBpbmNsdWRlL3gxMWZvbnQuaCwgb2JqZWN0cy90ZXh0LmM6CisJSHV3IEQgTSBEYXZpZXMgPGhkYXZpZXNAY29kZXdlYXZlcnMuY29tPgorCUV4dFRleHRPdXRXIHdpdGggc3ltYm9sIGZvbnRzIHdvcmtzIHdpdGggY2hhcnMgaW4gdGhlIHJhbmdlcworCTB4MDAwMCAtLSAweDAwZmYgYW5kIDB4ZjAwMCAtLSAweGYwZmYgYW5kIG5vdCwgZm9yIGV4YW1wbGUsIHdpdGgKKwljaGFycyBpbiB0aGUgVW5pY29kZSBHcmVlayByYW5nZS4KKworCSogZGxscy9vbGUzMi9jb21wb2JqLmM6CisJSHV3IEQgTSBEYXZpZXMgPGhkYXZpZXNAY29kZXdlYXZlcnMuY29tPgorCUJldHRlciBmYWlsdXJlIG1lc3NhZ2VzIGZvciBDb0NyZWF0ZUluc3RhbmNlLgorCisJKiB3aW5kb3dzL2RjZS5jOgorCUZpeGVkIHdpbmRvdyBoYW5kbGUgY2hlY2sgaW4gR2V0RENFeC4KKworCSogd2luZG93cy93aW4uYzogQSBjb3VwbGUgb2Ygb3B0aW1pemF0aW9ucy4KKworCSogd2luMzIvZXhjZXB0LmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlFeHBhbmQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluICJEZWJ1Z2dlciIgc2V0dGluZy4KKwlSZXBsYWNlIGZpeGVkLXNpemUgYnVmZmVycyB3aXRoIGR5bmFtaWMgb25lcy4KKworCSogZGxscy9zaGVsbDMyL2NsYXNzZXMuYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgdGhlIGJlaGF2aW9yIGZvciBTSEdldEZpbGVJbmZvIHdoZW4gdGhlIFNIR0ZJX1VTRUZJTEVBVFRSSUJVVEVTCisJZmxhZyBpcyBzZXQuIENvcnJlY3RzIHRoZSBnaXZlbiB0eXBlIGFuZCBpY29uLgorCisyMDAxLTEwLTIyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3R0eWRydi93bmQuYywgZGxscy91c2VyL21lc3NhZ2UuYywgZGxscy91c2VyL3VzZXJfbWFpbi5jLAorCSAgZGxscy94MTFkcnYvd2luZG93LmMsIGRsbHMveDExZHJ2L3dpbnBvcy5jLCBkbGxzL3gxMWRydi94MTFkcnYuc3BlYywKKwkgIGluY2x1ZGUvdXNlci5oLCBpbmNsdWRlL3dpbi5oLCBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvdHJhY2UuYywKKwkgIHNlcnZlci93aW5kb3cuYywgd2luZG93cy9kZWZ3bmQuYywgd2luZG93cy93aW4uYywgd2luZG93cy93aW5wb3MuYywKKwkgIGNvbnRyb2xzL3Njcm9sbC5jOgorCVN0b3JlIGluIHRoZSBzZXJ2ZXIgYWxsIHRoZSB3aW5kb3cgaW5mb3JtYXRpb24gYWNjZXNzaWJsZSB3aXRoCisJR2V0L1NldFdpbmRvd0xvbmcuCisKKwkqIGRsbHMvd2lubW0vd2luZW9zcy9taWRpLmMsIGZpbGVzL2ZpbGUuYywgZGxscy9hZHZhcGkzMi9zZXJ2aWNlLmMsCisJICBkbGxzL250ZGxsL29tLmMsIGRsbHMvb2xlMzIvY29tcG9zaXRlbW9uaWtlci5jLAorCSAgZGxscy9vbGUzMi9lcnJvcmluZm8uYywgZGxscy9vbGUzMi9maWxlbW9uaWtlci5jLAorCSAgZGxscy9vbGUzMi9oZ2xvYmFsc3RyZWFtLmMsIGRsbHMvb2xlMzIvc3RnX3N0cmVhbS5jLAorCSAgZGxscy93aW5pbmV0L2Z0cC5jLCBkbGxzL3dpbmluZXQvaW50ZXJuZXQuYywKKwkgIGRsbHMvd2lubW0vbWNpd2F2ZS9tY2l3YXZlLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJU3BlbGxpbmcsIGdyYW1tYXIgYW5kIGEgYml0IG9mIGNvbW1lbnQgZm9ybWF0dGluZyBmaXhlcy4KKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy9xdWFydHovTWFrZWZpbGUuaW4sIGRsbHMvcXVhcnR6L2FzeW5jc3JjLmMsCisJICBkbGxzL3F1YXJ0ei9hc3luY3NyYy5oLCBkbGxzL3F1YXJ0ei9hdWRyZW4uYywgZGxscy9xdWFydHovYXVkcmVuLmgsCisJICBkbGxzL3F1YXJ0ei9hdmlkZWMuYywgZGxscy9xdWFydHovYXZpcGFyc2UuYywKKwkgIGRsbHMvcXVhcnR6L2Jhc2VmaWx0LmMsIGRsbHMvcXVhcnR6L2Jhc2VmaWx0LmgsCisJICBkbGxzL3F1YXJ0ei9iYXNlcGluLmMsIGRsbHMvcXVhcnR6L2NzY29udi5jLCBkbGxzL3F1YXJ0ei9mZ3Bhc3MuYywKKwkgIGRsbHMvcXVhcnR6L2ltZmlsdGVyLmMsIGRsbHMvcXVhcnR6L21haW4uYywgZGxscy9xdWFydHovbWVtYWxsb2MuYywKKwkgIGRsbHMvcXVhcnR6L210eXBlLmMsIGRsbHMvcXVhcnR6L210eXBlLmgsIGRsbHMvcXVhcnR6L3BhcnNlci5jLAorCSAgZGxscy9xdWFydHovcGFyc2VyLmgsIGRsbHMvcXVhcnR6L3F1YXJ0ei5zcGVjLCBkbGxzL3F1YXJ0ei9zYW1wbGUuYywKKwkgIGRsbHMvcXVhcnR6L3NlZWtwYXNzLmMsIGRsbHMvcXVhcnR6L3NlZWtwYXNzLmgsCisJICBkbGxzL3F1YXJ0ei92aWRlb2JsdC5jLCBkbGxzL3F1YXJ0ei92aWRlb2JsdC5oLAorCSAgZGxscy9xdWFydHovdmlkcmVuLmMsIGRsbHMvcXVhcnR6L3ZpZHJlbi5oLCBkbGxzL3F1YXJ0ei93YXZwYXJzZS5jLAorCSAgZGxscy9xdWFydHoveGZvcm0uYywgZGxscy9xdWFydHoveGZvcm0uaDoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCUZpeGVkIHNvbWUgYnVncy4KKwlJbXBsZW1lbnRlZCBBVkkgRGVjb21wcmVzc29yLgorCVN0YXJ0ZWQgaW1wbGVtZW50aW5nIENvbG9yIFNwYWNlIENvbnZlcnRlci4KKwlTdGFydGVkIGltcGxlbWVudGluZyBzZWVraW5nLgorCisJKiBkZWJ1Z2dlci93aW5lZGJnLmM6IEFkZGVkICItLWF1dG8iIG9wdGlvbi4KKworCSogZGxscy93aW5lcHMvaW5pdC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkIHN1cHBvcnQgZm9yIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiB0aGUgcHJpbnRlciBzZXR0aW5ncy4KKwlSZW1vdmUgdGhlIGZpeGVkLXNpemUgYnVmZmVycy4KKworCSogaW5jbHVkZS9tc3ZjcnQvc3lzL3N0YXQuaCwgaW5jbHVkZS9tc3ZjcnQvc3lzL3RpbWViLmgsCisJICBpbmNsdWRlL21zdmNydC9zeXMvdHlwZXMuaCwgaW5jbHVkZS9tc3ZjcnQvc3lzL3V0aW1lLmgsCisJICBpbmNsdWRlL21zdmNydC9jb25pby5oLCBpbmNsdWRlL21zdmNydC9jcnRkYmcuaCwKKwkgIGluY2x1ZGUvbXN2Y3J0L2N0eXBlLmgsIGluY2x1ZGUvbXN2Y3J0L2RpcmVjdC5oLAorCSAgaW5jbHVkZS9tc3ZjcnQvZG9zLmgsIGluY2x1ZGUvbXN2Y3J0L2VoLmgsIGluY2x1ZGUvbXN2Y3J0L2ZjbnRsLmgsCisJICBpbmNsdWRlL21zdmNydC9pby5oLCBpbmNsdWRlL21zdmNydC9sb2NhbGUuaCwKKwkgIGluY2x1ZGUvbXN2Y3J0L21hbGxvYy5oLCBpbmNsdWRlL21zdmNydC9wcm9jZXNzLmgsCisJICBpbmNsdWRlL21zdmNydC9zZWFyY2guaCwgaW5jbHVkZS9tc3ZjcnQvc3RkZGVmLmgsCisJICBpbmNsdWRlL21zdmNydC9zdGRpby5oLCBpbmNsdWRlL21zdmNydC9zdGRsaWIuaCwKKwkgIGluY2x1ZGUvbXN2Y3J0L3N0cmluZy5oLCBpbmNsdWRlL21zdmNydC90aW1lLmgsCisJICBpbmNsdWRlL21zdmNydC93Y2hhci5oLCBpbmNsdWRlL21zdmNydC93Y3R5cGUuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlBZGRlZCBfX1dJTkVfVVNFX01TVkNSVC4KKworCSogZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL3djc3RyaW5nLmM6CisJRGF2aWQgRWxsaW90dCA8ZGZlQHRnd2JkLm9yZz4KKwlJbXBsZW1lbnRlZCB0aGUgd2NzdG91bCBmdW5jdGlvbi4KKworMjAwMS0xMC0yMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGVidWdnZXIvd2luZWRiZy5jLCBkbGxzL29sZWF1dDMyL29sZTJkaXNwLmMsCisJICBkb2N1bWVudGF0aW9uL3BhdGNoZXMuc2dtbCwgZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZywKKwkgIGZpbGVzL2Rvc19mcy5jLCBmaWxlcy9wcm9maWxlLmMsIGdyYXBoaWNzL3gxMWRydi9vZW1iaXRtYXAuYywKKwkgIG1lbW9yeS9pbnN0ci5jLCB0b29scy93aW5lY2hlY2ssIHdpbjMyL2V4Y2VwdC5jLCB3aW5kb3dzL2tleWJvYXJkLmMsCisJICB3aW5kb3dzL3dpbi5jOgorCUFuZHJlYXMgTW9ociA8YW5kaUByaGx4MDEuZmh0LWVzc2xpbmdlbi5kZT4KKwlDb3NtZXRpY3MuCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWM6CisJR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwktIEFkZCBzdHVicyBmb3IgXzI1LCBfMzMsIF8zNQorCS0gQWRkL2NvcnJlY3QgY29kZSBmb3I6IF8xNSwgXzI5LCBfMzAsIF8zMSwgXzE1MSwgXzE1MiwgXzE1MywgXzE1NCwKKwkgIF8xNTguCisKKwkqIGRsbHMvc2hsd2FwaS9yZWcuYywgaW5jbHVkZS9zaGx3YXBpLmg6CisJR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwktIEltcGxlbWVudCBIVVNLRVkgZGVzaWduLgorCS0gSW1wbGVtZW50IGZ1bmN0aW9uczogU0hSZWdPcGVuVVNLZXl7QXxXfSwgU0hSZWdDbG9zZVVTS2V5LAorCSAgU0hSZWdHZXRVU1ZhbHVle0F8V30sIFNIUmVnUXVlcnlJbmZvVVNLZXl7QXxXfQorCisJKiBkbGxzL3NobHdhcGkvdXJsLmM6CisJR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwktIEltcGxlbWVudCBVcmxDYW5vbmljYWxpemVXLCBVcmxFc2NhcGVXLCBVcmxVbmVzY2FwZVcuCisJLSBTdHViIFVybEdldExvY2F0aW9ue0F8V30uCisKKwkqIGRsbHMvbnRkbGwvZGVidWd0b29scy5jOgorCUF2b2lkIGNyYXNoaW5nIG9uIG5vbi1pbml0aWFsaXplZCBkZWJ1ZyBpbmZvLgorCisJKiBpbmNsdWRlL3dpbmUvb2JqX3Byb3BlcnR5Lmg6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlGaXhlZCBhIHR5cG8uCisKKwkqIG9iamVjdHMvZm9udC5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJSW1wbGVtZW50ZWQgR2V0Q2hhcmFjdGVyUGxhY2VtZW50Vy4KKworCSogZGxscy94MTFkcnYveHZpZG1vZGUuYzoKKwlBbmRyZXcgTGV3eWNreSA8YW5kcmV3QHRyYW5zZ2FtaW5nLmNvbT4KKwlYRnJlZTg2IDQuMSBnYW1tYSByYW1wIHN1cHBvcnQuCisKKwkqIGluY2x1ZGUvZHNvdW5kLmg6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJRml4ZWQgYSB0eXBvLgorCisJKiBkbGxzL2tlcm5lbC9jb21tLmMsIGRsbHMvdXNlci9jb21tMTYuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAc3RhcnQuY29tLmF1PgorCVJldHVybiBUUlVFIG9uIHN1Y2Nlc3MgaW4gQ09NTV9CdWlsZE9sZENvbW1EQ0IuCisJRENCMTYuQmF1ZFJhdGUgPiA1NzYwMCBtZWFucyAxMTUyMDAuCisJT3BlbkNvbW0xNiBzaG91bGQgdXNlIG92ZXJsYXBwZWQgSS9PLgorCisyMDAxLTEwLTE4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3R0eWRydi90dHlkcnYuaCwgZGxscy90dHlkcnYvdHR5ZHJ2LnNwZWMsIGRsbHMvdHR5ZHJ2L3VzZXIuYywKKwkgIGRsbHMvdXNlci9tb3VzZS5jLCBkbGxzL3VzZXIvbW91c2Uuc3BlYywgZGxscy91c2VyL3VzZXJfbWFpbi5jLAorCSAgZGxscy94MTFkcnYvTWFrZWZpbGUuaW4sIGRsbHMveDExZHJ2L21vdXNlLmMsIGRsbHMveDExZHJ2L3dpbmRvdy5jLAorCSAgZGxscy94MTFkcnYveDExZHJ2LnNwZWMsIGluY2x1ZGUvbW91c2UuaCwgaW5jbHVkZS91c2VyLmgsCisJICBpbmNsdWRlL3gxMWRydi5oLCB3aW5kb3dzL2lucHV0LmMsIHdpbmRvd3MveDExZHJ2L01ha2VmaWxlLmluLAorCSAgd2luZG93cy94MTFkcnYvZXZlbnQuYywgd2luZG93cy94MTFkcnYva2V5Ym9hcmQuYywKKwkgIHdpbmRvd3MveDExZHJ2L21vdXNlLmM6CisJQ2hhbmdlZCBYMTEgbW91c2UgZHJpdmVyIHRvIHVzZSBTZW5kSW5wdXQsIGFuZCByZW1vdmVkIFdJTkVfTU9VU0VFVkVOVAorCWhhY2suIE1vdmVkIG1vdXNlLmMgdG8gZGxscy94MTFkcnYuCisJQWRkZWQgS2V5bWFwTm90aWZ5IGV2ZW50IGhhbmRsZXIsIGFuZCBmaXhlZCBoYW5kbGluZyB3aXRoIG11bHRpcGxlCisJYWx0L3NoaWZ0L2NvbnRyb2wga2V5cy4KKwlSZW1vdmVkIGRpbnB1dCBmdW5jdGlvbnMgZnJvbSBVU0VSIGRyaXZlci4KKworCSogaW5jbHVkZS93aW51c2VyLmg6IEFkZGVkIGEgZmV3IFhCVVRUT04gZGVmaW5lcy4KKworCSogd2luZG93cy9tZGkuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAc3RhcnQuY29tLmF1PgorCVVzZSBXSU5fUmVsZWFzZVB0ciBub3QgV0lOX1JlbGVhc2VXbmRQdHIgd2l0aCBXSU5fR2V0UHRyLgorCisJKiBkbGxzL2RpbnB1dC9NYWtlZmlsZS5pbjoKKwlNYWtlIGRpbnB1dCBhIHByb3Blcmx5IHNlcGFyYXRlZCBkbGwuCisKKwkqIGRsbHMvZGlucHV0L21vdXNlL21haW4uYzoKKwlVc2UgV0hfTU9VU0VfTEwgaG9vayBpbnN0ZWFkIG9mIHJlZGlyZWN0aW5nIHRoZSBtb3VzZSBldmVudCBoYW5kbGVyLgorCisJKiBkbGxzL2RpbnB1dC9rZXlib2FyZC9tYWluLmM6CisJRml4ZWQgR2V0RGV2aWNlU3RhdGUgYW5kIEdldERldmljZURhdGEgdG8gdXNlIG9ubHkgZXhwb3J0ZWQgQVBJcy4KKworMjAwMS0xMC0xNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZ3JhcGhpY3MveDExZHJ2L2RpYi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRml4IHRvbnMgb2YgY29sb3IgY29udmVyc2lvbiBidWdzLgorCVJlb3JnYW5pemUgdGhpbmdzIG1vcmUgcmF0aW9uYWxseSBhbmQgc28gdGhhdCBtb3JlIGNvZGUgaXMgc2hhcmVkLgorCisJKiB3aW5kb3dzL2lucHV0LmM6CisJQW5kcml5IFBhbGFtYXJjaHVrIDxhcGEzYUB5YWhvby5jb20+CisJRml4ZWQgbW91c2VfZXZlbnQgYnVnIC0gY3Vyc29yIHdhcyBtb3ZlZCBiZWZvcmUgbmV3IHBvc2l0aW9uIHdhcworCWNhbGN1bGF0ZWQuCisKKwkqIGRsbHMvbnRkbGwvZGVidWd0b29scy5jOgorCUpvaGFuIEdpbGwgPGpvaGFuZUBseXNhdG9yLmxpdS5zZT4KKwlSZWxheSB0cmFjaW5nIHdvdWxkIGNyYXNoIGlmIGl0IGNhbWUgdXBvbiBhIGZ1bmN0aW9uIGNhbGwgd2l0aCBhbgorCWludmFsaWQgcG9pbnRlciBhcyBhIHBhcmFtZXRlci4KKworCSogd2luZG93cy9pbnB1dC5jOiBKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJUmVsZWFzaW5nIGEgbW91c2UgYnV0dG9uIG5vdyBjbGVhcnMgYW4gZW50cnkgaW4gdGFibGUKKwlJbnB1dEtleVN0YXRlVGFibGUgaW5zdGVhZCBvZiBBc3luY0tleVN0YXRlVGFibGUuCisKKwkqIHdpbmRvd3Mvd2lucG9zLmM6CisJQmlsbCBNZWRsYW5kIDxtZWRiaTAxQGFjY3BhYy5jb20+CisJT25seSBtb2RpZnkgdGhlIGFuY2VzdG9yIGlmIHlvdSBmaW5kIGl0LgorCisJKiB3aW5kb3dzL3gxMWRydi9ldmVudC5jLCB3aW5kb3dzL3gxMWRydi9rZXlib2FyZC5jLAorCSAgaW5jbHVkZS93aW5lL2tleWJvYXJkMTYuaCwgd2luMzIvY29uc29sZS5jLCB3aW5kb3dzL2hvb2suYywKKwkgIHdpbmRvd3MvaW5wdXQuYywgd2luZG93cy9rZXlib2FyZC5jLCB3aW5kb3dzL3N5c3BhcmFtcy5jLAorCSAgaW5jbHVkZS9rZXlib2FyZC5oLCBpbmNsdWRlL3F1ZXVlLmgsIGluY2x1ZGUvdXNlci5oLAorCSAgaW5jbHVkZS93aW51c2VyLmgsIGluY2x1ZGUveDExZHJ2LmgsIGRsbHMvdXNlci91c2VyX21haW4uYywKKwkgIGRsbHMvdXNlci9rZXlib2FyZC5zcGVjLCBkbGxzL3VzZXIvbHN0ci5jOgorCUFkZGVkIHN1cHBvcnQgZm9yIGxvdy1sZXZlbCBtb3VzZSBhbmQga2V5Ym9hcmQgaG9va3MuCisJTWlzYyBrZXlib2FyZCBoYW5kbGluZyBjbGVhbnVwcy4KKworCSogd2luZG93cy9tZXNzYWdlLmMsIGRsbHMvdXNlci9tZXNzYWdlLmMsIGluY2x1ZGUvbWVzc2FnZS5oLAorCSAgc2VydmVyL21haW4uYywgc2VydmVyL3F1ZXVlLmMsIHNlcnZlci9yZXF1ZXN0LmMsIHNlcnZlci9yZXF1ZXN0Lmg6CisJTWFrZSBzdXJlIHRoYXQgR2V0TWVzc2FnZVBvcyBhbmQgR2V0TWVzc2FnZVRpbWUgcmV0dXJuIHNhbmUgdmFsdWVzCisJZm9yIGFsbCBtZXNzYWdlcy4KKworCSogZGxscy9kZHJhdy9kc3VyZmFjZS91c2VyLmM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCVdoZW4gYSBzdXJmYWNlIGJlY29tZXMgcHJpbWFyeSBzdXJmYWNlLCBtYXJrIHRoZSB3aG9sZSBzdXJmYWNlIGRhbWFnZWQuCisKKwkqIGdyYXBoaWNzL3gxMWRydi9wYWxldHRlLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlVc2UgdGhlIHNhbWUgY29sb3IgY29udmVyc2lvbiBhbGdvcml0aG0gYXMgdGhlIERJQiBjb2RlIChhbmQgV2luZG93cyksCisJaS5lLiBzaGlmdHMsIG5vdCBNdWxEaXZzLgorCUZpeCB0aGUgZ3JheXNjYWxlIGZvcm11bGEuCisKKwkqIGZpbGVzL2ZpbGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAc3RhcnQuY29tLmF1PgorCVNlcGFyYXRlIGNvZGUgdG8gb3ZlcmxhcHBlZCB0aW1lb3V0cyBpbnRvIEZJTEVfR2V0VGltZW91dC4KKworMjAwMS0xMC0xNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL21lc3NhZ2UuYywgZGxscy91c2VyL3VzZXJfbWFpbi5jLCBkbGxzL3gxMWRydi93aW5kb3cuYywKKwkgIGRsbHMveDExZHJ2L3dpbnBvcy5jLCBpbmNsdWRlL3F1ZXVlLmgsIGluY2x1ZGUvdXNlci5oLAorCSAgaW5jbHVkZS93aW4uaCwgaW5jbHVkZS93aW5wb3MuaCwgd2luZG93cy9kY2UuYywgd2luZG93cy9wYWludGluZy5jLAorCSAgd2luZG93cy9xdWV1ZS5jLCB3aW5kb3dzL3dpbi5jLCB3aW5kb3dzL3dpbnBvcy5jLAorCSAgd2luZG93cy94MTFkcnYvZXZlbnQuYywgY29udHJvbHMvaWNvbnRpdGxlLmMsIGRsbHMvdHR5ZHJ2L3duZC5jOgorCUFkZGVkIGludGVybmFsIFdpbmUgbWVzc2FnZXMgdG8gcGVyZm9ybSBTZXRXaW5kb3dQb3MsIFNob3dXaW5kb3cgYW5kCisJU2V0UGFyZW50IGluIHRoZSBjb3JyZWN0IHRocmVhZC4KKwlSZXBsYWNlIFFVRVVFX0lzRXhpdGluZ1F1ZXVlIGJ5IFVTRVJfSXNFeGl0aW5nVGhyZWFkLgorCVN0b3JlIHdpbmRvdyByZWN0YW5nbGVzIGluIHRoZSBzZXJ2ZXIuCisJUHJldmVudCBEZXN0cm95V2luZG93IG9uIHdpbmRvd3Mgbm90IGJlbG9uZ2luZyB0byB0aGUgY3VycmVudCB0aHJlYWQuCisKKwkqIHNlcnZlci9yZXF1ZXN0LmgsIHNlcnZlci90cmFjZS5jLCBzZXJ2ZXIvd2luZG93LmMsCisJICB0b29scy9tYWtlX3JlcXVlc3RzLCBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmOgorCUFkZGVkIHJlcXVlc3RzIHRvIHN0b3JlIHdpbmRvdyByZWN0YW5nbGVzIGluIHRoZSBzZXJ2ZXIuCisKKwkqIGNvbnRyb2xzL21lbnUuYywgY29udHJvbHMvc2Nyb2xsLmMsIGRsbHMvdXNlci9jb250cm9scy5oLAorCSAgaW5jbHVkZS9ub25jbGllbnQuaCwgd2luZG93cy9kZWZ3bmQuYywgd2luZG93cy9ub25jbGllbnQuYzoKKwlNb3ZlZCBzY3JvbGxiYXIgdHJhY2tpbmcgY29kZSB0byBzY3JvbGwuYy4KKwlBdm9pZCB1bm5lY2Vzc2FyeSBjb29yZGluYXRlcyBjb252ZXJzaW9uIGluIE5DX0hhbmRsZVN5c0NvbW1hbmQuCisKKwkqIFJFQURNRSwgZG9jdW1lbnRhdGlvbi9idWdzLnNnbWwsIGRvY3VtZW50YXRpb24vY3ZzLXJlZ3Jlc3Npb24uc2dtbDoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBuZXJpbS5uZXQ+CisJTWlzYyBkb2MgdXBkYXRlcy4KKworCSogd2luZWRlZmF1bHQucmVnOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCVJlZ2lzdHJ5IGVudHJpZXMgZm9yIHN0ZG9sZTMyLnRsYi4KKworCSogdG9vbHMvd2luZWR1bXAvbWFpbi5jLCB0b29scy93aW5lZHVtcC9vdXRwdXQuYywgdG9vbHMvd2luZWR1bXAvcGUuYzoKKwlHdXkgTC4gQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCS0gZWxpbWluYXRlIGRpZmZlcmVudCBzZWdtZW50YXRpb24gZmF1bHRzLgorCS0gd2hlbiBhdHRlbXB0aW5nIHRvIG9wZW4gYSBkbGwsIGFwcGVuZCAiLmRsbCIgdG8gZmluZCBpdCAod2FzCisJICBzdHJpcHBlZCBwcmV2aW91c2x5KS4KKwktIGlkZW50aWZ5IG5hbWVkIGV4cG9ydHMgc28gdGhhdCB0aGUgb3JkaW5hbCBudW1iZXIgaXMgIkAiIGluIC5zcGVjCisJICBmaWxlLgorCS0gc2V0dXAgb3V0cHV0IGRsbCBuYW1lIHByaW9yIHRvIGNyZWF0aW5nIG9yZGluYWwgc3ltYm9scy4KKwktIGRvbid0IG92ZXJsYXkgdGhlIG5hbWVkIGV4cG9ydHMgd2l0aCB0aGUgb3JkaW5hbCBleHBvcnRzLgorCS0gY29ycmVjdCB0ZXN0IGZvciBsYXN0IHN5bWJvbC4KKwktIGZpeCBnZW5lcmF0ZWQgaW5zdGFsbCBzY3JpcHQgdG8gbWF0Y2ggY3VycmVudCBtYWtlIGZpbGVzLgorCisyMDAxLTEwLTE1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL21kaS5jOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQG5lcmltLm5ldD4KKwlGaXggdGhlIGNhc2Ugd2hlcmUgY2hpbGQ9MCAobGFzdCBjaGlsZCkgaW4gTURJX0NoaWxkQWN0aXZhdGUuCisKKwkqIGNvbnRyb2xzL2ljb250aXRsZS5jLCBjb250cm9scy9zY3JvbGwuYywgZGxscy91c2VyL21zZzE2LmMsCisJICBkbGxzL3gxMWRydi9kZXNrdG9wLmMsIGRsbHMveDExZHJ2L3Njcm9sbC5jLCBkbGxzL3gxMWRydi93aW5kb3cuYywKKwkgIGRsbHMveDExZHJ2L3dpbnBvcy5jLCBpbmNsdWRlL3dpbi5oLCB3aW5kb3dzL2NsYXNzLmMsIHdpbmRvd3MvZGNlLmMsCisJICB3aW5kb3dzL2RlZmRsZy5jLCB3aW5kb3dzL2RlZnduZC5jLCB3aW5kb3dzL2RpYWxvZy5jLCB3aW5kb3dzL21kaS5jLAorCSAgd2luZG93cy9tZXNzYWdlLmMsIHdpbmRvd3Mvbm9uY2xpZW50LmMsIHdpbmRvd3MvcGFpbnRpbmcuYywKKwkgIHdpbmRvd3Mvc3B5LmMsIHdpbmRvd3MvdGltZXIuYywgd2luZG93cy93aW4uYzoKKwlSZW5hbWVkIFdJTl9HZXRXbmRQdHIgaW50byBXSU5fR2V0UHRyIGFuZCBhZGRlZCBjb3JyZXNwb25kaW5nCisJV0lOX1JlbGVhc2VQdHIuIFN0YXJ0ZWQgdXNpbmcgaXQgaW5zdGVhZCBvZiBXSU5fRmluZFduZFB0ciB3aGVyZSB3ZQorCWRvbid0IG5lZWQgdG8gYWNjZXNzIHdpbmRvd3Mgb2Ygb3RoZXIgcHJvY2Vzc2VzLgorCisJKiBpbmNsdWRlL3V1aWRzLmg6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlBZGRlZCBzb21lIG1pc3NpbmcgR1VJRHMuCisKKwkqIGRsbHMvbXN2Y3J0L2ZpbGUuYywgaW5jbHVkZS9tc3ZjcnQvc3RkaW8uaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVRoZSBfSU9YWFggbWFjcm9zIGNvbmZsaWN0IHdpdGggc3lzdGVtIGhlYWRlcnMgb24gU29sYXJpcy4gUHJlZml4CisJdGhlbS4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsLmM6CisJS2FpIE1vcmljaCA8bWFpbEBrYWktbW9yaWNoLmRlPgorCUludGVybmFsRXh0cmFjdEljb24xNiBmb3Jnb3QgdG8gY2xvc2UgZmlsZSBoYW5kbGUuCisKKwkqIGluY2x1ZGUvd2luYmFzZS5oLCBtZW1vcnkvYXRvbS5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCBJTlZBTElEX0FUT00gYW5kIE1BWElOVEFUT00gdG8gd2luYmFzZS5oLgorCVJlcGxhY2UgTUlOX1NUUl9BVE9NIHdpdGggTUFYSU5UQVRPTS4KKworMjAwMS0xMC0xNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy9jbGFzcy5jLCB3aW5kb3dzL2RpYWxvZy5jLCBsb2FkZXIvZWxmLmMsIGxvYWRlci9uZS9tb2R1bGUuYywKKwkgIGxvYWRlci9uZS9yZXNvdXJjZS5jLCBtZW1vcnkvZ2xvYmFsLmMsIG1lbW9yeS92aXJ0dWFsLmMsIG1pc2MvY3B1LmMsCisJICBtc2Rvcy9kb3NtZW0uYywgbXNkb3MvZHBtaS5jLCBzY2hlZHVsZXIvY2xpZW50LmMsCisJICBzY2hlZHVsZXIvc3lzZGVwcy5jLCBzY2hlZHVsZXIvdGhyZWFkLmMsIHNlcnZlci9yZXF1ZXN0LmMsCisJICB0b29scy93aW5lYnVpbGQvc3BlYzE2LmMsIHdpbjMyL2RldmljZS5jLCBjb250cm9scy9tZW51LmMsCisJICBkbGxzL2RwbGF5eC9kcGxheS5jLCBkbGxzL2tlcm5lbC9jb21tLmMsIGRsbHMvb2RiYzMyL3Byb3h5b2RiYy5jLAorCSAgZGxscy93aW5zb2NrL2FzeW5jLmMsIGRsbHMvd2luc29jay9zb2NrZXQuYywgZmlsZXMvZHJpdmUuYywKKwkgIGxpYnJhcnkvcG9ydC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJV2hlbiBpbmNsdWRpbmcgJ3dpbmUvcG9ydC5oJywgaW5jbHVkZSBpdCBmaXJzdC4KKwlSZW1vdmUgcmVkdW5kYW50ICdjb25maWcuaCcgaW5jbHVkZXMuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmMsIHRvb2xzL3dtYy9tY2wuYywKKwkgIHRvb2xzL3dtYy9tY3kueSwgdG9vbHMvd21jL3dtYy5jLCB3aW5kb3dzL3dpbnByb2MuYywKKwkgIHdpbmRvd3MveDExZHJ2L3dpbmVjbGlwc3J2LmMsIGRsbHMvdXNlci9leHRpY29uLmMsCisJICBkbGxzL3dpbmVwcy9ncmFwaGljcy5jLCBncmFwaGljcy9lbnYuYywgZ3JhcGhpY3MvcGF0aC5jLAorCSAgbG9hZGVyL2xvYWRvcmRlci5jLCBsb2FkZXIvcGVfcmVzb3VyY2UuYywgbWVtb3J5L2hlYXAuYywKKwkgIG1lbW9yeS9zZWxlY3Rvci5jLCBtc2Rvcy9pbnQxMS5jLCBtc2Rvcy9pbnQxNi5jLCByZWxheTMyL3JlbGF5Mzg2LmMsCisJICBzY2hlZHVsZXIvY3JpdHNlY3Rpb24uYywgc2VydmVyL21hcHBpbmcuYywgc2VydmVyL3RyYWNlLmMsCisJICB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsCisJICB0b29scy93aW5lYnVpbGQvcGFyc2VyLmMsIGNvbnNvbGUvZ2VuZXJpYy5jLCBjb25zb2xlL2ludGVyZmFjZS5jLAorCSAgY29uc29sZS9uY3Vyc2VzLmMsIGNvbnNvbGUvdHR5LmMsIGRsbHMvZGRyYXcvZDNkZGV2aWNlL21haW4uYywKKwkgIGRsbHMvZGRyYXcvZDNkZGV2aWNlL21lc2EuYywgZGxscy9kZHJhdy9kM2RleGVjdXRlYnVmZmVyLmMsCisJICBkbGxzL2RkcmF3L2QzZHRleHR1cmUuYywgZGxscy9udGRsbC9leGNlcHRpb24uYywKKwkgIGRsbHMvb3BlbmdsMzIvd2dsLmMsIGRsbHMvc2hlbGwzMi9zeXN0cmF5LmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXaGVuIGluY2x1ZGluZyBjb25maWcuaCwgaW5jbHVkZSBpdCBmaXJzdC4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9ycGNkY2UuaCwgaW5jbHVkZS9ycGNuZHIuaCwKKwkgIGluY2x1ZGUvcnBjcHJveHkuaDoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlBZGRlZCBzb21lIFJQQyBkZWZpbml0aW9ucy4KKworCSogb2JqZWN0cy9mb250LmMsIHdpbmRvd3MvZHJpdmVyLmMsIGRsbHMvc2hlbGwzMi9zaGVsbG9yZC5jLAorCSAgZGxscy91c2VyL2NvbW0xNi5jLCBkbGxzL3dpbm1tL2RyaXZlci5jLCBkbGxzL3dpbnNwb29sL2luZm8uYywKKwkgIGxvYWRlci9tb2R1bGUuYywgZGxscy9zaGVsbDMyL3BpZGwuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCURvbid0IHByaW50IE5VTEwgc3RyaW5ncyAoY3Jhc2hlcyBvbiBTb2xhcmlzKS4KKwlTbWFsbCBjb2RlIG1haW50YWluYWJpbGl0eSB0d2VhayBpbiBTaGVsbEV4ZWN1dGVFeEEuCisJVHdvIHR5cG8gZml4ZXMgaW4gd2lubW0uCisKKwkqIGluY2x1ZGUvYW12aWRlby5oLCBpbmNsdWRlL2NvbnRyb2wuaCwgaW5jbHVkZS9zdHJtaWYuaCwKKwkgIGRsbHMvcXVhcnR6L01ha2VmaWxlLmluLCBkbGxzL3F1YXJ0ei9hc3luY3NyYy5jLAorCSAgZGxscy9xdWFydHovYXN5bmNzcmMuaCwgZGxscy9xdWFydHovYXVkaW91dGwuYywKKwkgIGRsbHMvcXVhcnR6L2F1ZGlvdXRsLmgsIGRsbHMvcXVhcnR6L2F1ZHJlbi5jLAorCSAgZGxscy9xdWFydHovYXZpcGFyc2UuYywgZGxscy9xdWFydHovYmFzZWZpbHQuYywKKwkgIGRsbHMvcXVhcnR6L2Jhc2VwaW4uYywgZGxscy9xdWFydHovY29tcGxpc3QuYywKKwkgIGRsbHMvcXVhcnR6L2NvbXBsaXN0LmgsIGRsbHMvcXVhcnR6L2RldmVudW0uYywgZGxscy9xdWFydHovZGV2bW9uLmMsCisJICBkbGxzL3F1YXJ0ei9lbnVtdW5rLmMsIGRsbHMvcXVhcnR6L2ZnZXZlbnQuYywgZGxscy9xdWFydHovZmdpZGlzcC5jLAorCSAgZGxscy9xdWFydHovZmdwYXNzLmMsIGRsbHMvcXVhcnR6L2ZncmFwaC5jLCBkbGxzL3F1YXJ0ei9mZ3JhcGguaCwKKwkgIGRsbHMvcXVhcnR6L2ZtYXAuYywgZGxscy9xdWFydHovZm1hcC5oLCBkbGxzL3F1YXJ0ei9mbWFwMi5jLAorCSAgZGxscy9xdWFydHovZm1hcDIuaCwgZGxscy9xdWFydHovaWZncmFwaC5jLCBkbGxzL3F1YXJ0ei9pZ2NvbmZpZy5jLAorCSAgZGxscy9xdWFydHovaWdydmVyLmMsIGRsbHMvcXVhcnR6L2ltY250bC5jLCBkbGxzL3F1YXJ0ei9pbWZpbHRlci5jLAorCSAgZGxscy9xdWFydHovaW1wb3MuYywgZGxscy9xdWFydHovaW1zZWVrLmMsIGRsbHMvcXVhcnR6L21haW4uYywKKwkgIGRsbHMvcXVhcnR6L21lbWFsbG9jLmMsIGRsbHMvcXVhcnR6L210eXBlLmMsIGRsbHMvcXVhcnR6L210eXBlLmgsCisJICBkbGxzL3F1YXJ0ei9wYXJzZXIuYywgZGxscy9xdWFydHovcGFyc2VyLmgsCisJICBkbGxzL3F1YXJ0ei9xdWFydHpfcHJpdmF0ZS5oLCBkbGxzL3F1YXJ0ei9yZWdzdnIuYywKKwkgIGRsbHMvcXVhcnR6L3NhbXBsZS5jLCBkbGxzL3F1YXJ0ei9zZWVrcGFzcy5jLAorCSAgZGxscy9xdWFydHovc3lzY2xvY2suYywgZGxscy9xdWFydHovdmlkcmVuLmMsCisJICBkbGxzL3F1YXJ0ei93YXZwYXJzZS5jOgorCUhpZGVub3JpIFRha2VzaGltYSA8aGlkZW5vcmlAYTIuY3RrdHYubmUuanA+CisJU3RhcnRlZCBpbXBsZW1lbnRpbmcgQVZJIHNwbGl0dGVyLgorCUltcGxlbWVudGVkIEFzeW5jU291cmNlLgorCU1lcmdlZCBzb21lIEMgc291cmNlcy4KKwlGaXhlZCBzb21lIGJ1Z3MuCisKKwkqIGluY2x1ZGUvbW1yZWcuaDoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCUFkZGVkIE1QRUcxV0FWRUZPUk1BVCBhbmQgTVBFR0xBWUVSM1dBVkVGT1JNQVQuCisKKwkqIGZpbGVzL2Rvc19mcy5jLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUvZmlsZS5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCVBhc3Mgc2VjdXJpdHkgYXR0cmlidXRlcyBmb3IgRE9TRlMgY3JlYXRpb24uCisKKwkqIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCUZpeGVkIGJ1Z3Mgd2l0aCBwcm9wZ2V0IG1ldGhvZHMgd2l0aCBpbnB1dCBhcmd1bWVudHMuCisJSW1wcm92ZWQgdmFyaWFudCBkZWJ1ZyBkdW1wcy4KKworCSogZGxscy9vbGVhdXQzMi9zYWZlYXJyYXkuYzoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlGaXhlZCBidWdzIGluIHNhZmUgYXJyYXlzLgorCS0gZW5sYXJnaW5nIGEgc2FmZSBhcnJheSBkaWRuJ3QgY2xlYXIgdGhlIG5ldyBlbnRyaWVzCisJLSBlbGVtZW50IGFjY2VzcyBvbmx5IHZhbGlkYXRlZCB0aGUgZmlyc3QgZGltZW5zaW9uCisJLSB0aGUgdmFsaWRhdGlvbiBhbHdheXMgZmFpbGVkIHdoZW4gdGhlIGFycmF5IGNvbnRhaW5lZCAxIGVsZW1lbnQKKworCSogZGxscy9vbGVhdXQzMi9vbGVwaWN0dXJlLmM6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJRml4IGEgVUlOVDE2IHJlZGVmaW5pdGlvbiBwcm9ibGVtLgorCisJKiByZWxheTMyL2J1aWx0aW4zMi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJUmVjb2duaXplIHRoZSBTb2xhcmlzIGRsb3BlbiBlcXVpdmFsZW50IG9mICJjYW5ub3Qgb3BlbiIuCisKKwkqIHRvb2xzL3dpbmVtYWtlcjoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggaGFuZGxpbmcgb2YgZW1wdHkgbGlzdHMgaW4gaW5zdGFsbCBhbmQgdW5pbnN0YWxsIHRhcmdldHMuCisJSW5zdGFsbCB0aGUgZXhlY3V0YWJsZXMgLnNvIGxpYnJhcmllcyBpbiAkYmluZGlyIChub3QgJGxpYmRpciEpLgorCisyMDAxLTEwLTEyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL01ha2VmaWxlLmluLCB3aW5kb3dzL3Byb3BlcnR5LmMsIHdpbmRvd3Mvd2luLmMsCisJICBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci9wcm9wZXJ0eS5jLCBpbmNsdWRlL3dpbi5oLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLAorCSAgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3RyYWNlLmMsIHNlcnZlci93aW5kb3cuYzoKKwlTdG9yZSB3aW5kb3cgcHJvcGVydGllcyBpbiB0aGUgc2VydmVyLiBNb3ZlZCBwcm9wZXJ0eS5jIHRvIGRsbHMvdXNlci4KKworCSogbWVtb3J5L2F0b20uYywgc2VydmVyL2F0b20uYywgc2VydmVyL29iamVjdC5oLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLAorCSAgc2VydmVyL3RyYWNlLmMsIHRvb2xzL21ha2VfcmVxdWVzdHMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaDoKKwlBZGRlZCBhdG9tX3QgdHlwZSBmb3IgYXRvbXMgdG8gbWFrZSBzdXJlIHdlIHVzZSB0aGUgc2FtZSB0eXBlCisJZXZlcnl3aGVyZS4gSGFuZGxlIE1JTl9TVFJfQVRPTSBvZmZzZXQgaW4gdGhlIHNlcnZlci4KKworCSogZGxscy91c2VyL2NvbnRyb2xzLmgsIGluY2x1ZGUvd2luYmFzZS5oLCBpbmNsdWRlL3dpbmRlZi5oLAorCSAgaW5jbHVkZS93aW51c2VyLmg6CisJTW92ZWQgTUFLRUlOVEFUT00gdG8gd2luYmFzZS5oIGFuZCBhZGRlZCBVbmljb2RlIHZlcnNpb24uCisKKwkqIHdpbmRvd3MvY3Vyc29yaWNvbi5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUhhbmRsZSBiYWQgcG9pbnRlciBhcmd1bWVudHMgdG8gTG9hZEltYWdlQSgpIChhbmQgZnVuY3Rpb25zCisJY2FsbGluZ0xvYWRJbWFnZUEpIHdpdGggYW4gZXhjZXB0aW9uIGhhbmRsZXIuCisKKwkqIHdpbmRvd3MveDExZHJ2L2NsaXBib2FyZC5jOgorCURvbWluaWsgU3RyYXNzZXIgPGRvbWluaWsuc3RyYXNzZXJAdC1vbmxpbmUuZGU+CisJV29ya2Fyb3VuZCBYMTEgQmFkV2luZG93IGVycm9yIGlmIG5vIHBhcmVudCB3aW5kb3cgaXMgZm91bmQuCisKKwkqIHRvb2xzL3dpbmVtYWtlcjoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggdGhlIFdpbmUgdG9vbHMgc2VhcmNoIHBhdGguCisJQWRkIC91c3IvbG9jYWwvbGliIHRvIHRoZSBkZWZhdWx0IG50ZGxsIHNlYXJjaCBwYXRoLgorCisyMDAxLTEwLTExICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3F1ZXVlLmgsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwKKwkgIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9xdWV1ZS5jLCBzZXJ2ZXIvcmVxdWVzdC5oLAorCSAgc2VydmVyL3RyYWNlLmMsIHdpbmRvd3MvcXVldWUuYzoKKwlSZW1vdmVkIHRoZSBjbGVhbnVwX3dpbmRvd19xdWV1ZSByZXF1ZXN0LgorCisJKiBkbGxzL3R0eWRydi93bmQuYywgZGxscy94MTFkcnYvc2Nyb2xsLmMsIGRsbHMveDExZHJ2L3dpbnBvcy5jLAorCSAgaW5jbHVkZS93aW4uaCwgd2luZG93cy9wcm9wZXJ0eS5jLCB3aW5kb3dzL3dpbi5jLCB3aW5kb3dzL3dpbnBvcy5jOgorCVJlbW92ZWQgbmV4dCBhbmQgY2hpbGQgZmllbGRzIGluIHRoZSB3aW5kb3cgc3RydWN0dXJlIGFuZCB1c2UKKwlXSU5fTGlzdENoaWxkcmVuIGluc3RlYWQuCisKKwkqIGluY2x1ZGUvdXVpZHMuaDoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCUFkZGVkIHNvbWUgbWlzc2luZyBHVUlEcy4KKworCSogdG9vbHMvd2luZW1ha2VyOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRml4IHRoZSAuc3BlYy5jIHJ1bGUuCisKKzIwMDEtMTAtMTAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvdHR5ZHJ2L3duZC5jLCBkbGxzL3gxMWRydi93aW5kb3cuYywgZGxscy94MTFkcnYvd2lucG9zLmMsCisJICBpbmNsdWRlL3dpbi5oLCB3aW5kb3dzL3dpbi5jLCB3aW5kb3dzL3dpbnBvcy5jOgorCVN0b3JlIHdpbmRvdyBwYXJlbnQgYXMgYW4gSFdORCBpbnN0ZWFkIG9mIGEgcG9pbnRlci4KKworCSogZmlsZXMvZmlsZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlX21jY29ybWFja0BzdGFydC5jb20uYXU+CisJRG8gb3ZlcmxhcHBlZCByZWFkcyBpZiBhbmQgb25seSBpZiB0aGUgZmlsZSB3YXMgb3BlbmVkIHdpdGgKKwlGSUxFX0ZMQUdfT1ZFUkxBUFBFRC4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFsbG9jYXRlIHRoZSBhcnJheSBhbmQgc3RyaW5ncyBpbiBvbmUgbHVtcCAoYnVnIGZvdW5kIGJ5IE1hbHRlCisJU3Rhcm9zdGlrKS4KKwlTYW1lIHRoaW5nIGZvciB0aGUgbHBDbWRsaW5lPSIiIGNhc2UuCisJVGhlcmUgaXMgbm8gTlVMTCBwb2ludGVyIGF0IHRoZSBlbmQgb2YgdGhlIGFyZ3YgbGlzdC4KKworCSogb2JqZWN0cy90ZXh0LmM6CisJSHV3IEQgTSBEYXZpZXMgPGhkYXZpZXNAY29kZXdlYXZlcnMuY29tPgorCUdldFRleHRDaGFyc2V0SW5mbyBzaG91bGQgcmV0dXJuIHRoZSBjaGFyc2V0IHRoYXQgdGhlIGRyaXZlciBpcworCWFjdHVhbGx5IHVzaW5nLCByYXRoZXIgdGhhbiB0aGF0IHNwZWNpZmllZCBpbiB0aGUgTE9HRk9OVC4KKworCSogZG9jdW1lbnRhdGlvbi9pbnRyb2R1Y3Rpb24uc2dtbDoKKwlBbmRyaXkgUGFsYW1hcmNodWsgPGFwYTNhQHlhaG9vLmNvbT4KKwlJbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IFhGcmVlODYgV2luZG93cyBzZXJ2ZXIuCisKKwkqIGRsbHMva2VybmVsL2Zvcm1hdF9tc2cuYywgZGxscy9tc3ZjcnQvbG9jYWxlLmMsCisJICBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYywgaW5jbHVkZS93aW5iYXNlLmgsIGluY2x1ZGUvd2ludXNlci5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCU1vdmUgdGhlIFJUX1hYWCBtYWNyb3MgdG8gd2ludXNlci5oLgorCXdpbnVzZXIuaDogQWRkIHN1cHBvcnQgZm9yIE5PR0RJLgorCXdpbnVzZXIuaDogTW9kaWZ5IHRvIGFsbG93IGNvbXBpbGF0aW9uIHdpdGhvdXQgd2luZ2RpLmguCisKKwkqIGluY2x1ZGUvc2hsb2JqLmgsIGRsbHMvc2hlbGwzMi9zaGVsbHBhdGguYzoKKwlDaHJpcyBHcmVlbiA8Y2hyaXNfZV9ncmVlbkB5YWhvby5jb20+CisJQWRkZWQgbmFtZXMgb2YgdGhlICJtaXNzaW5nIiBwYXRocyBmb3IgU0hHZXRTcGVjaWFsRm9sZGVyUGF0aEEuCisKKzIwMDEtMTAtMDkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHdpbmRvd3MvY2xhc3MuYzogRml4ZWQgbG9ja2luZyBvZiBjbGFzcyBsaXN0LgorCVByaW50IEVSUiB3aGVuIGFjY2Vzc2luZyBjbGFzc2VzIG9mIG90aGVyIHByb2Nlc3Nlcy4KKworCSogaW5jbHVkZS93aW4uaCwgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLAorCSAgc2VydmVyL3RyYWNlLmMsIHNlcnZlci93aW5kb3cuYywgd2luZG93cy93aW4uYzoKKwlTdG9yZSB3aW5kb3cgY2xhc3MgYXRvbSBpbiB0aGUgc2VydmVyLgorCUtlZXAgdW5saW5rZWQgd2luZG93cyBvbiBhIHNlcGFyYXRlIGxpc3QuCisJSW1wbGVtZW50ZWQgaW50ZXItcHJvY2VzcyBGaW5kV2luZG93KCkuCisKKwkqIGluY2x1ZGUvd2luYmFzZS5oLCBpbmNsdWRlL3dpbmUvd2ludXNlcjE2Lmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJUmVtb3ZlIG5vbiB3aW5kb3dzIG1hY3Jvcy4KKworCSogc2NoZWR1bGVyL3B0aHJlYWQuYzoKKwlTaWxlbmNlIHRoZSBwdGhyZWFkX2tpbGxfb3RoZXJfdGhyZWFkc19ucCBGSVhNRS4KKworCSogbWVtb3J5L3ZpcnR1YWwuYzoKKwlGaXggTWFwVmlld09mRmlsZSB0byBhbHdheXMgcmV0dXJuIGEgNjRLLWFsaWduZWQgYWRkcmVzcy4KKwlBdm9pZCBjb252ZXJ0aW5nIHBvaW50ZXJzIHRvIFVJTlQuCisKKwkqIHRvb2xzL3dpbmFwaV9jaGVjay9tb2R1bGVzLmRhdCwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjE2L2tlcm5lbC5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMTYvd2luc29jay5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIvYWR2YXBpMzIuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL2tlcm5lbDMyLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9tYXBpMzIuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL21zaW1nMzIuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3F1YXJ0ei5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIvc2hlbGwzMi5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIvc3RpLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3VybC5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIvd3MyXzMyLmFwaToKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlBUEkgZmlsZXMgdXBkYXRlLgorCisJKiBkbGxzL2FkdmFwaTMyL2NyeXB0LmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJRml4ZWQgaXNzdWUgZm91bmQgYnkgd2luYXBpX2NoZWNrLgorCisJKiBkbGxzL3dpbnNvY2svYXN5bmMuYywgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS93czJzcGkuaDoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlBZGRlZCBuZXcgaW5jbHVkZSBmaWxlIHdzMnNwaS5oIGZvciBhZGRpbmcgbmVlZGVkIHR5cGVzLgorCisJKiBkbGxzL3NldHVwYXBpL3NldHVwYXBpLnNwZWM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtbGluZS5jb20+CisJRml4ZWQgcGFyYW1ldGVycyBvZiBTZXR1cE9wZW5JbmZGaWxlQS4KKworMjAwMS0xMC0wOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy9wYWludGluZy5jOgorCU1vdmVkIE1zZ1dhaXRGb3JNdWx0aXBsZU9iamVjdHMgY2FsbCBvbiBSRFdfVVBEQVRFTk9XIG91dCBvZiB0aGUKKwlSRFdfUGFpbnQgcmVjdXJzaW9uLgorCisJKiBpbmNsdWRlL3dpbnVzZXIuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlBZGQgc3VwcG9ydCBmb3IgTk9DT0xPUi4KKworCSogaW5jbHVkZS93aW5iYXNlLmgsIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaCwgbWlzYy92ZXJzaW9uLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJTW92ZSBXSU5ERUJVR0lORk8gZnJvbSB3aW5iYXNlLmggdG8gd2luYmFzZTE2LmggYW5kIHJlbmFtZSB0bworCVdJTkRFQlVHSU5GTzE2LgorCU1vdmUgdGhlIHJlbGF0ZWQgbWFjcm9zIHRvIHZlcnNpb24uYyBhbmQgaWZkZWYgdGhlbSBvdXQgKGtlcHQgZm9yCisJZG9jdW1lbnRhdGlvbiBvbmx5LCB0aGV5IGFyZSBub3QgdXNlZCkuCisKKwkqIGRlYnVnZ2VyL2hhc2guYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlXSU5FTElCIGFwcGxpY2F0aW9ucyAobGlrZSByZWFrdGl2YXRlKSBtaWdodCBoYXZlIHZlcnkgbG9uZyAoQysrKQorCXN5bWJvbHMuIFVzZSBhIGxhcmdlciBidWZmZXIuCisKKwkqIGZpbGVzL2RyaXZlLmM6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAbmVyaW0ubmV0PgorCUdldERpc2tGcmVlU3BhY2VFeCBzaG91bGQgYWNjZXB0IGFuIGlucHV0IGxpa2UgIkM6Ii4KKworCSogZmlsZXMvZmlsZS5jLCBzZXJ2ZXIvZmlsZS5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCS0gZml4ZWQgY29weSZwYXN0ZSBidWcgKEdFTkVSSUNfV1JJVEUgaW5zdGVhZCBvZiBHRU5FUklDX1JFQUQpCisJLSB3aGVuIGdldHRpbmcgdGhlIHR5cGUgb2YgYSBoYW5kbGUsIGl0IGhhcyB0byBiZSBkb25lIGV2ZW4gaWYgbm8gZmQKKwkgIGlzIGF0dGFjaGVkIHRvIGl0IChjb25zb2xlIGZvciBleGFtcGxlKQorCisJKiBkbGxzL3F1YXJ0ei9hc3luY3NyYy5jLCBkbGxzL3F1YXJ0ei9hc3luY3NyYy5oLAorCSAgZGxscy9xdWFydHovYXVkcmVuLmMsIGRsbHMvcXVhcnR6L2Jhc2VmaWx0LmMsCisJICBkbGxzL3F1YXJ0ei9iYXNlZmlsdC5oLCBkbGxzL3F1YXJ0ei9iYXNlcGluLmMsCisJICBkbGxzL3F1YXJ0ei9pZ2NvbmZpZy5jLCBkbGxzL3F1YXJ0ei9tYWluLmMsIGRsbHMvcXVhcnR6L21lbWFsbG9jLmMsCisJICBkbGxzL3F1YXJ0ei9tdHlwZS5jLCBkbGxzL3F1YXJ0ei9tdHlwZS5oLCBkbGxzL3F1YXJ0ei9wYXJzZXIuYywKKwkgIGRsbHMvcXVhcnR6L3BhcnNlci5oLCBkbGxzL3F1YXJ0ei9xdWFydHouc3BlYywgZGxscy9xdWFydHovc2FtcGxlLmMsCisJICBkbGxzL3F1YXJ0ei9zYW1wbGUuaCwgZGxscy9xdWFydHovdmlkcmVuLmMsIGRsbHMvcXVhcnR6L3ZpZHJlbi5oLAorCSAgZGxscy9xdWFydHovd2F2cGFyc2UuYywgaW5jbHVkZS9hbXZpZGVvLmgsIGRsbHMvcXVhcnR6L01ha2VmaWxlLmluLAorCSAgd2luZWRlZmF1bHQucmVnOgorCUhpZGVub3JpIFRha2VzaGltYSA8aGlkZW5vcmlAYTIuY3RrdHYubmUuanA+CisJU3RhcnRlZCBJbXBsZW1lbnRpbmcgVmlkZW8gUmVuZGVyZXIuCisJU3RhcnRlZCBJbXBsZW1lbnRpbmcgV0FWRS9BVS9BSUZGIFBhcnNlci4KKwlTdGFydGVkIEltcGxlbWVudGluZyBmaWxlIHNvdXJjZS4KKwlGaXhlZCBzb21lIGJ1Z3MuCisKKwkqIGRsbHMvdXNlci91c2VyMzIuc3BlYywgZGxscy91c2VyL3VzZXJfbWFpbi5jOgorCVJlbmFtZWQgVVNFUl9Jbml0IGludG8gVXNlckNsaWVudERsbEluaXRpYWxpemUuCisKKwkqIGZpbGVzL2Rvc19mcy5jLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUvZmlsZS5oLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLAorCSAgc2VydmVyL3NlcmlhbC5jLCBzZXJ2ZXIvdHJhY2UuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAc3RhcnQuY29tLmF1PgorCU1ha2Ugc2VyaWFsIGZkIGJsb2NraW5nIG1vZGUgZGVwZW5kIG9uIEZJTEVfRkxBR19PVkVSTEFQUEVELgorCisJKiBvYmplY3RzL3RleHQuYywgZG9jdW1lbnRhdGlvbi9mb250cy5zZ21sLCBncmFwaGljcy94MTFkcnYveGZvbnQuYywKKwkgIGRsbHMvY29tbWRsZy9wcmludGRsZy5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVNtYWxsIHR5cG8gZml4ZXMvdXBkYXRlcy4KKworCSogaW5jbHVkZS93aW5iYXNlLmgsIG1pc2MvZXJyb3IuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlNb3ZlIHRoZSBFUlJfWFhYIG1hY3JvcyBmcm9tIHdpbmJhc2UuaCB0byBlcnJvci5jLgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGluY2x1ZGUvd2luc29jay5oLCBpbmNsdWRlL3dzaXB4Lmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRml4IHRoZSBTT0NLQUREUl9JUFggZGVjbGFyYXRpb24uCisJQ2VudHJhbGl6ZSBhbGwgc29ja2FkZHJfeHh4IGNvbnZlcnNpb25zIGluIHdzX3NvY2thZGRyX3dzMnUgYW5kCisJd3Nfc29ja2FkZHJfdTJ3cy4KKwlSZW1vdmUgdWdseSBjYXN0cyBpbiBUUkFDRXMuCisKKwkqIGNvbnRyb2xzL2VkaXQuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCURlZmVyIGVkaXQgc3R5bGUgY29ycmVjdGlvbiB1bnRpbCBFRElUU1RBVEUgaXMgZnVsbHkgaW5pdGlhbGl6ZWQuCisKKwkqIGRsbHMvbXN2Y3J0L3RocmVhZC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJX2JlZ2ludGhyZWFkOiBEb24ndCBzdG9yZSB0aGUgdHJhbXBvbGluZSBvbiB0aGUgc3RhY2suCisKKwkqIGluY2x1ZGUvd2luZGVmLmgsIGluY2x1ZGUvd2luZ2RpLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJTW92ZSBDT0xPUlJFRiBmcm9tIHdpbmdkaS5oIHRvIHdpbmRlZi5oLgorCUFkZCBhIHByb3RvdHlwZSBmb3IgR2RpRmx1c2guCisKKwkqIHRvb2xzL3dpbmVtYWtlcjoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlXcmFwcGVycyBtdXN0IGFsd2F5cyBiZSBjb21waWxlZCBpbiBTVFJJQ1QgbW9kZS4KKworCSogZGVidWdnZXIvZGVidWcubDoKKwlQcm92aWRlIGhlbHAgZXZlbiB3aGVuIGluIHRoZSBOT1BST0NFU1Mgc3RhdGUuCisKKwkqIHdpbmRvd3MveDExZHJ2L2NsaXBib2FyZC5jLCB3aW5kb3dzL3gxMWRydi93aW5lY2xpcHNydi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRml4IGluZmluaXRlIGxvb3AgcHJvYmxlbSBpbiB3aW5lY2xpcHNydiBzdGFydHVwLgorCUxhdW5jaFNlcnZlcjogRG9uJ3QgZ2l2ZSB1cCBvbiB0aGUgZmlyc3QgbWVzc2FnZS4KKwlBZGRlZCBHZXRTZWxlY3Rpb25FdmVudDogTGltaXQgQ1BVIHVzZSBhbmQgaW50cm9kdWNlIHRpbWVvdXQuCisKKwkqIHdpbmRvd3MvbWVzc2FnZS5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQmV0dGVyIGhhbmRsaW5nIG9mIHRoZSB0aW1lb3V0IGluIFdhaXRGb3JJbnB1dElkbGUuCisJVXNlIFdBSVRfRkFJTEVEIHJhdGhlciB0aGFuIHRoZSBjb3JyZXNwb25kaW5nIGxpdGVyYWwuCisKKwkqIGRsbHMvdXJsbW9uL3Vtb24uYywgaW5jbHVkZS91cmxtb24uaDoKKwlNYWx0ZSBTdGFyb3N0aWsgPG1hbHRlQGtkZS5vcmc+CisJQ3JlYXRlVVJMTW9uaWtlciB0YWtlcyBhIExQQ1dTVFIsIG5vdCBhIExQV1NUUi4KKworMjAwMS0xMC0wNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy9wYWludGluZy5jOgorCVByb2Nlc3MgcGVuZGluZyBldmVudHMgYmVmb3JlIHNlbmRpbmcgV01fUEFJTlQgb24gUkRXX1VQREFURU5PVy4KKworCSogc2VydmVyL25hbWVkX3BpcGUuYywgc2VydmVyL3NvY2suYzoKKwlBZGRlZCBnZXRfZmlsZV9pbmZvIHN1cHBvcnQgdG8gbmFtZWQgcGlwZXMgYW5kIHNvY2tldHMgdG8gYXZvaWQKKwlicmVha2luZyB0aGUgZ2V0X2hhbmRsZV9mZCByZXF1ZXN0LgorCisJKiBkbGxzL2tlcm5lbC9mb3JtYXRfbXNnLmMsIGluY2x1ZGUvd2luYmFzZS5oOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbWxpbmUuY29tPgorCUFkZGVkIGRlZmluZXMgZm9yIHJlc291cmNlIHR5cGVzIFJUX01FU1NBR0VUQUJMRSwgUlRfVkVSU0lPTi4KKworCSogZGxscy91c2VyL21lc3NhZ2UuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBuZXJpbS5uZXQ+CisJRml4IHNpZ24gZXh0ZW5zaW9uIHByb2JsZW0gaW4gbWFwX3dwYXJhbV9XdG9BLgorCisJKiBpbmNsdWRlL3VybG1vbi5oLCBpbmNsdWRlL3dpbmUvb2JqX3Byb3BlcnR5Lmg6CisJTWFsdGUgU3Rhcm9zdGlrIDxtYWx0ZUBrZGUub3JnPgorCUFkZGVkIElQZXJzaXN0UHJvcGVydHlCYWcyIGFuZCBJUHJvcGVydHlCYWcyIGRlZmluaXRpb25zLCBhZGRlZAorCW1pc3NpbmcgIEJJTkRJTkZPIG1lbWJlci4KKworCSogd2luZG93cy9jdXJzb3JpY29uLmM6CisJSm9oYW4gR2lsbCA8am9oYW5lQGx5c2F0b3IubGl1LnNlPgorCVRoZSBMUl8gZGVmaW5lcyBkbyBub3QgcmVzaWRlIGluIHdpbmRvd3MuaCBhbnltb3JlLgorCisJKiBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYzoKKwlIdXcgRCBNIERhdmllcyA8aGRhdmllc0Bjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlIHNvbWUgdW5uZWNlc3NhcnkgQWRkUmVmJ3MuCisKKwkqIHdpbmRvd3MveDExZHJ2L2tleWJvYXJkLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgWEtfTW9kZV9zd2l0Y2ggdG8gdGhlIGxpc3Qgb2YgaWdub3JlZCBrZXlzeW1zLgorCisJKiB0b29scy93aW5lbGF1bmNoZXIuaW46CisJRGFuaWVsIFNhYm8gPGRhbmllbHNhYm9AaG90bWFpbC5jb20+CisJQSAnZmknIHdhcyBuZWVkZWQgaW4gdGhlIGxhc3QgaWYgc3RhdGVtZW50LgorCisyMDAxLTEwLTA0ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3ZlcnNpb24uaCwgQU5OT1VOQ0UsIENoYW5nZUxvZzoKKwlSZWxlYXNlIDIwMDExMDA0LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyMDAxLTEwLTA0ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiBncmFwaGljcy94MTFkcnYvZGliLmM6CmRpZmYgLS1naXQgYS9pbmNsdWRlL3ZlcnNpb24uaCBiL2luY2x1ZGUvdmVyc2lvbi5oCmluZGV4IGQ1NzJhNDYuLjMxNTQwZjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdmVyc2lvbi5oCisrKyBiL2luY2x1ZGUvdmVyc2lvbi5oCkBAIC0xICsxIEBACi0jZGVmaW5lIFdJTkVfUkVMRUFTRV9JTkZPICJXaW5lIHJlbGVhc2UgMjAwMTEwMDQiCisjZGVmaW5lIFdJTkVfUkVMRUFTRV9JTkZPICJXaW5lIHJlbGVhc2UgMjAwMTExMDgiCg==