ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggNmQwY2JjMS4uNGViZGJmNyAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNCArMSw0IEBACi1UaGlzIGlzIHJlbGVhc2UgMjAwMDEwMjYgb2YgV2luZSwgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIFdpbmRvd3Mgb24KK1RoaXMgaXMgcmVsZWFzZSAyMDAwMTIwMiBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgogVW5peC4gIFRoaXMgaXMgc3RpbGwgYSBkZXZlbG9wZXJzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MKIGFuZCB1bmltcGxlbWVudGVkIGZlYXR1cmVzLiAgTW9zdCBhcHBsaWNhdGlvbnMgc3RpbGwgZG8gbm90IHdvcmsKIGNvcnJlY3RseS4KQEAgLTYsMTEgKzYsMTIgQEAKIFBhdGNoZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byAianVsbGlhcmRAd2luZWhxLmNvbSIuICBQbGVhc2UgZG9uJ3QKIGZvcmdldCB0byBpbmNsdWRlIGEgQ2hhbmdlTG9nIGVudHJ5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDAwMTAyNjogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0JLSBUb25zIG9mIGhlYWRlciBmaXhlcyBmb3IgV2luZWxpYiBjb21waWxlcy4KLQktIEV4ZWMgc3VwcG9ydCBmcm9tIERPUyBtb2RlLgorV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMDEyMDI6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorCS0gTmV3ICd3aW5lbWFrZXInIHNjcmlwdCB0byBhdXRvbWF0ZSBzb3VyY2UgcG9ydGluZy4KKwktIE5ldyBkbGwgaW1wb3J0IG1lY2hhbmlzbSB0byByZXBsYWNlIEVMRiBsaW5raW5nIG9mIC5zbyBmaWxlcy4KIAktIE1hbnkgaW50ZXJuYXRpb25hbGl6YXRpb24gZml4ZXMuCi0JLSBUaGUgdXN1YWwgYXNzb3J0bWVudCBvZiBjb21tb24gY29udHJvbHMgaW1wcm92ZW1lbnRzLgorCS0gQSBsb3Qgb2YgcG9ydGFiaWxpdHkgZml4ZXMuCisJLSBCdWlsdGluIGNydGRsbCBtdWNoIGltcHJvdmVkLgogCS0gTG90cyBvZiBidWcgZml4ZXMuCiAKIFNlZSB0aGUgUkVBRE1FIGZpbGUgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucy4KQEAgLTE5LDEyICsyMCwxMyBAQAogdGhlIHJlbGVhc2UgaXMgYXZhaWxhYmxlIGF0IHRoZSBmdHAgc2l0ZXMuICBUaGUgc291cmNlcyB3aWxsIGJlIGF2YWlsYWJsZQogZnJvbSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKIAotICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMDEwMjYudGFyLmd6Ci0gIGZ0cDovL3RzeC0xMS5taXQuZWR1L3B1Yi9saW51eC9BTFBIQS9XaW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMDEwMjYudGFyLmd6Ci0gIGZ0cDovL2Z0cC5pbmZvbWFnaWMuY29tL3B1Yi9taXJyb3JzL2xpbnV4L3N1bnNpdGUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDAxMDI2LnRhci5negotICBmdHA6Ly9vcmN1cy5wcm9nc29jLnV0cy5lZHUuYXUvcHViL1dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAwMTAyNi50YXIuZ3oKKyAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDAxMjAyLnRhci5negorICBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAwMTIwMi50YXIuZ3oKKyAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS91bml4L2xpbnV4L21pcnJvcnMvc3Vuc2l0ZS51bmMuZWR1L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAwMTIwMi50YXIuZ3oKKyAgZnRwOi8vb3JjdXMucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi9XaW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMDEyMDIudGFyLmd6CiAKLUl0IHNob3VsZCBhbHNvIGJlIGF2YWlsYWJsZSBmcm9tIGFueSBzaXRlIHRoYXQgbWlycm9ycyB0c3gtMTEgb3Igc3Vuc2l0ZS4KK0l0IHNob3VsZCBhbHNvIGJlIGF2YWlsYWJsZSBmcm9tIGFueSBvdGhlciBzaXRlIHRoYXQgbWlycm9ycyBpYmlibGlvLm9yZy4KK0ZvciBtb3JlIGRvd25sb2FkIGxvY2F0aW9ucywgc2VlIGh0dHA6Ly9mdHBzZWFyY2gubHljb3MuY29tLgogCiBZb3UgY2FuIGFsc28gZ2V0IHRoZSBjdXJyZW50IHNvdXJjZSBkaXJlY3RseSBmcm9tIHRoZSBDVlMgdHJlZS4gQ2hlY2sKIGh0dHA6Ly93d3cud2luZWhxLmNvbS9kZXYuaHRtbCBmb3IgZGV0YWlscy4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjMWJhY2VlLi40MTk4NWUyIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsMTgwNiBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwMC0xMi0wMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogc2VydmVyL21hcHBpbmcuYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDaGVjayB0aGUgYXR0cmlidXRlcyBvZiB0aGUgKmN1cnJlbnQqIHNlY3Rpb24sIG5vdCBvbmx5IHRoZSBhdHRyaWJ1dGVzCisJb2YgdGhlICpmaXJzdCogc2VjdGlvbi4uLgorCisJKiB3aW5kb3dzL3dpbnByb2MuYzoKKwlGaXhlZCBXSU5QUk9DX0dldFB0cigpIHRvIGFsd2F5cyBwYXNzIHRoZSBzdGFydCBvZiB0aGUgYmxvY2sgdG8KKwlIZWFwVmFsaWRhdGUoKS4KKworCSogc2NoZWR1bGVyL3Byb2Nlc3MuYzoKKwlEaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2UgaWYgbG9hZGluZyBhIFdpbmVsaWIgYXBwIGZhaWxlZCAoc3VnZ2VzdGVkIGJ5CisJRnJhbmNvaXMgR291Z2V0KS4KKworCSogZGxscy9kZHJhdy9kM2RkZXZpY2UvbWVzYS5jLCBkbGxzL2RkcmF3L2QzZGV4ZWN1dGVidWZmZXIuYywgZGxscy9kZHJhdy9kM2RtYXRlcmlhbC5jLCBkbGxzL2RwbGF5eC9kcGxheS5jLCBkbGxzL2RwbGF5eC9kcGxheXhfZ2xvYmFsLmMsIGRsbHMvZHBsYXl4L2RwbG9iYnkuYywgZGxscy9kcGxheXgvbmFtZV9zZXJ2ZXIuYywgaW5jbHVkZS9kM2R0eXBlcy5oLCBpbmNsdWRlL2RwbGF5LmgsIGluY2x1ZGUvZHBsb2JieS5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVVzZSB0aGUgRFVNTVlVTklPTk5BTUUgbWFjcm9zIHNvIHRoYXQgdGhlIGhlYWRlcnMgY2FuIGJlIHVzZWQgaW4KKwlXaW5lbGliLgorCisJKiBpZjE2MzIvYnVpbHRpbi5jLCBpbmNsdWRlL2ZpbGUuaCwgbG9hZGVyL2VsZi5jLCBsb2FkZXIvbG9hZG9yZGVyLmMsIGxvYWRlci9tb2R1bGUuYywgbG9hZGVyL25lL21vZHVsZS5jLCBmaWxlcy9kb3NfZnMuYywgZmlsZXMvZmlsZS5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgQVNDSUktb25seSB2ZXJzaW9uIG9mIHRvdXBwZXIsIHRvbG93ZXIsIHN0cmNhc2VjbXAgYW5kIHRoZSBsaWtlCisJZm9yIGZpbGUgYW5kIG1vZHVsZSBJL08uCisKKwkqIGRsbHMvd3NvY2szMi9zb2NrZXQuYywgZGxscy93c29jazMyL3dzb2NrMzIuc3BlYywgaW5jbHVkZS93aW5zb2NrMi5oOgorCVVzZSBpb2N0bHNvY2tldCgpIGluc3RlYWQgb2YgaW9jdGwoKSBzbyB0aGF0IHdlIGNhbiBpbXBvcnQgd3MyXzMyLmRsbAorCWFnYWluICh1bnRlc3RlZCkuCisKKwkqIGRsbHMvY3J0ZGxsL2NydGRsbF9tYWluLmMsIGRsbHMvY3J0ZGxsL2ZpbGUuYywgZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jLCBkbGxzL250ZGxsL21pc2MuYywgbG9hZGVyL3Jlc291cmNlLmMsIHdpbjMyL2NvbnNvbGUuYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlBZGRlZC9tb2RpZmllZCBkb2N1bWVudGF0aW9uIGZvciBmdW5jdGlvbiBhcmd1bWVudHMuCisKKwkqIHRvb2xzL3dpbmFwaV9jaGVjay9tb2R1bGVzLmRhdCwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjE2L2tlcm5lbC5hcGksIHRvb2xzL3dpbmFwaV9jaGVjay93aW4xNi93aW5zb2NrLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjE2L3dwcm9jcy5hcGksIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9rZXJuZWwzMi5hcGksIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi91c2VyMzIuYXBpOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCU1pbm9yIEFQSSBmaWxlcyB1cGRhdGUuCisKKwkqIGRsbHMvY29tbWRsZy9maWxlZGxnOTUuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJRmlsZU9wZW5EbGdQcm9jOTU6IG5vdGlmeSBhcHBsaWNhdGlvbiBvZiBjaGFuZ2VkIHNlbGVjdGlvbiBhZnRlcgorCWZpbGxpbmcgdGVtcGxhdGUuCisKKwkqIGRsbHMvd2lubW0vbWNpY2RhL21jaWNkYS5jLCBtaXNjL2Nkcm9tLmM6CisJRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgYnVncyB3aGVuIHRyYXkgd2FzIG9wZW4uCisKKwkqIHdpbmRvd3Mvd2lucHJvYy5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgc2V2ZXJhbCBhZGRpdGlvbmFsIHRvL2Zyb20gdW5pY29kZSBtZXNzYWdlIG1hcHBpbmdzLgorCisJKiBwcm9ncmFtcy9NYWtlcHJvZy5ydWxlcy5pbiwgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmMsIGRsbHMvTWFrZWRsbC5ydWxlcy5pbjoKKwlBbHdheXMgcHV0IHRoZSBkbGwgY29uc3RydWN0b3IgaW4gdGhlIC5pbml0IHNlY3Rpb24sIGFuZCBsaWtlIHRoZQorCS5zcGVjLm8gZmlsZSBmaXJzdCB0byBlbnN1cmUgY29ycmVjdCBjYWxsaW5nIG9yZGVyIG9mIHRoZSBjb25zdHJ1Y3RvcnMuCisKKwkqIG1zZG9zL2ludDEwLmMsIG1zZG9zL2ludDE1LmMsIG9iamVjdHMvYnJ1c2guYywgd2luMzIvZXhjZXB0LmMsIGRsbHMvY3J0ZGxsL2NydGRsbC5oLCBkbGxzL2NydGRsbC9maWxlLmMsIGRsbHMvb2xlMzIvY2xpcGJvYXJkLmMsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jLCBtZW1vcnkvc2VsZWN0b3IuYywgbWlzYy9yZWdpc3RyeS5jLCB3aW5lLmluaToKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUZpeGVkIG1pc2NlbGxhbmVvdXMgdHlwb3MsIHN5bnRhY3RpYyBhbmQgZ3JhbW1hdGljYWwgZXJyb3JzLgorCisJKiBERVZFTE9QRVJTLUhJTlRTLCBpbmNsdWRlL2RwbGF5LmgsIGluY2x1ZGUvZHBsb2JieS5oLCBpbmNsdWRlL3Byc2h0LmgsIGluY2x1ZGUvd2luZS9vYmpfYmFzZS5oLCBpbmNsdWRlL3dpbm5scy5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgdGhlIGNhc2Ugb2YgIldpbmVsaWIiLgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmVtYWtlci5tYW46CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggdGhlIFdpbmVsaWIgY2FzZS4KKwlUaGUgbGlua2luZyBhc3BlY3RzIGhhdmUgYmVlbiBzb2x2ZWQgYnkgdGhlIGxhc3Qgd2luZWJ1aWxkIHVwZGF0ZSAtPgorCXJlbW92ZWQgZnJvbSB0aGUgdG9kbyBsaXN0LgorCVRoZSBjb25maWd1cmUgc2NyaXB0IGhhcyBiZWVuIHVwZGF0ZWQgLT4gcmVtb3ZlZCBmcm9tIHRoZSB0b2RvIGxpc3QuCisKKwkqIHRvb2xzL3dpbmVtYWtlcjoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUlmIHRoZXJlIGlzIGEgc2luZ2xlIHRhcmdldCwgaXQgc2hvdWxkIGFsc28gZ2V0IHRoZSAncHJvamVjdF9zZXR0aW5ncworCXNvdXJjZXMnLgorCUlmIGEgc3ViZGlyZWN0b3J5IGlzIGNhbGxlZCAnaW5jbHVkZScgdGhlbiBhZGQgaXQgdG8gdGhlIGluY2x1ZGUgcGF0aC4KKworCSogd2luZG93cy93aW5wcm9jLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZGltaUBjcy50b3JvbnRvLmVkdT4KKwlJbmNsdWRlIGNvbmZpZy5oLgorCisJKiBpbmNsdWRlL3dpbnVzZXIuaDoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIHNldmVyYWwgY2xpcGJvYXJkIGZvcm1hdHMuCisKKwkqIE1ha2UucnVsZXMuaW46CisJRGVubmlzIEJq9nJrbHVuZCA8ZGJAemlnby5kaHMub3JnPgorCUNvbXBpbGUgZml4IGZvciBidWlsZGluZyB3aW5lIG91dHNpZGUgdGhlIHNvdXJjZSB0cmVlLgorCisJKiBkbGxzL3dpbmluZXQvaW50ZXJuZXQuYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbnRlcm5ldENsb3NlSGFuZGxlIGRpZG4ndCByZXR1cm4gVFJVRSBpbiBhbGwgYXBwcm9wcmlhdGUgY2FzZXMuCisKKwkqIHdpbjMyL2RldmljZS5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIGEgLS13aW52ZXIgbnQ0MCBoaW50IHRvIFZ4RCBlcnJvciBtZXNzYWdlLgorCisJKiBkbGxzL2ltbTMyL2ltbS5jLCBkbGxzL2ltbTMyL2ltbTMyLnNwZWM6CisJSGlkZW5vcmkgVGFrZXNoaW1hPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCUFkZGVkIHNvbWUgc3R1YnMuCisKKwkqIHdpbmRvd3MvZGVmd25kLmM6CisJTG91aXMgUGhpbGlwcGUgR2Fnbm9uIDxsb3Vpc3BoaWxpcHBlQG1hY2FkYW1pYW4uY29tPgorCS0gVGFrZSB0aGUgbW91c2UgY2FwdHVyZSBvbiBhIFdNX05DUkJVVFRPTkRPV04gb24gdGhlIGNhcHRpb24gYmFyLAorCSAgcmVsZWFzZSBpdCBvbiBhIFdNX1JCVVRUT05VUAorCS0gRG9uJ3Qgc2VuZCBXTV9DT05URVhUTUVOVSBvbiBhIFdNX05DUkJVVFRPTlVQCisJLSBVc2UgcGFyZW50LXJlbGF0aXZlIGNvb3JkaW5hdGVzIHdoZW4gY2FsbGluZyBOQ19IYW5kbGVOQ0hpdFRlc3QKKworMjAwMC0xMi0wMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogb2JqZWN0cy9lbmhtZXRhZmlsZS5jLCBvYmplY3RzL2ZvbnQuYywgb2JqZWN0cy9tZXRhZmlsZS5jLCBvYmplY3RzL3BhbGV0dGUuYywgb2JqZWN0cy90ZXh0LmMsIG9sZS9vbGUybmxzLmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIHdpbmRvd3MvY2xhc3MuYywgd2luZG93cy9jdXJzb3JpY29uLmMsIHdpbmRvd3MvZGNlLmMsIHdpbmRvd3MvaG9vay5jLCB3aW5kb3dzL2tleWJvYXJkLmMsIHdpbmRvd3MvbWVzc2FnZS5jLCB3aW5kb3dzL3dpbi5jLCB3aW5kb3dzL3dpbnByb2MuYywgZ3JhcGhpY3MvbWV0YWZpbGVkcnYvaW5pdC5jLCBsb2FkZXIvdGFzay5jLCBtZW1vcnkvdmlydHVhbC5jLCBtaXNjL3N5c3RlbS5jLCBtc2Rvcy9pbnQxMC5jLCBvYmplY3RzL2JydXNoLmMsIG9iamVjdHMvZGMuYywgZGxscy93aW5hc3BpL3dpbmFzcGkzMi5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsIGRsbHMvd2luc29jay9zb2NrZXQuYywgZGxscy93aW5zcG9vbC9pbmZvLmMsIGZpbGVzL2RyaXZlLmMsIGdyYXBoaWNzL2Rpc3BkaWIuYywgZ3JhcGhpY3MvZW5obWV0YWZpbGVkcnYvaW5pdC5jLCBkbGxzL21zYWNtL2Zvcm1hdC5jLCBkbGxzL250ZGxsL3JlZy5jLCBkbGxzL29sZTMyL2NvbXBvYmouYywgZGxscy9vbGUzMi9vbGUyLmMsIGRsbHMvb2xlMzIvb2xlMm5scy5jLCBkbGxzL29sZTMyL29sZTJzdHVicy5jLCBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYywgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYywgZGxscy9zaGVsbDMyL3NoZWxsLmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uYywgZGxscy9zaGVsbDMyL3NoZWxsb2xlLmMsIGRsbHMvc2hlbGwzMi9zaGVsbG9yZC5jLCBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmMsIGRsbHMvc2hlbGwzMi9zaGxtZW51LmMsIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9yZWcuYywgZGxscy91c2VyL2V4dGljb24uYywgZGxscy91c2VyL2xzdHIuYywgY29udHJvbHMvc2Nyb2xsLmMsIGRsbHMvY29tbWRsZy9maWxlZGxnLmMsIGRsbHMvY29tbWRsZy9wcmludGRsZy5jLCBkbGxzL2tlcm5lbC9jb21tLmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJQWRkZWQvbW9kaWZpZWQgZG9jdW1lbnRhdGlvbiBmb3IgZnVuY3Rpb24gYXJndW1lbnRzLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLCBkbGxzL2tlcm5lbC90aHVuay5jLCBkbGxzL21zdmlkZW8vbXN2aWRlb19tYWluLmMsIGRsbHMvc2V0dXBhcGkvc2V0dXB4X21haW4uYywgbG9hZGVyL25lL21vZHVsZS5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIFdpbjE2IGRvY3VtZW50YXRpb24gbm90IGZpeGVkIGJlY2F1c2Ugb2YgYSBidWcgaW4gd2luYXBpX2NoZWNrLgorCisJKiBkbGxzL2NydGRsbC9jcnRkbGwuc3BlYywgZGxscy9jcnRkbGwvY3J0ZGxsX21haW4uYywgZGxscy9jcnRkbGwvZmlsZS5jLCBkbGxzL2ljbXAvaWNtcF9tYWluLmMsIGRsbHMva2VybmVsL2tlcm5lbC5zcGVjLCBkbGxzL3dpbmluZXQvZnRwLmMsIGluY2x1ZGUvY29uZmlnLmguaW4sIGxvYWRlci9kb3MvZG9zbW9kLmMsIG1pc2MvcmVnaXN0cnkuYywgc2VydmVyL2NvbnRleHRfc3BhcmMuYywgY29uZmlndXJlLCBjb25maWd1cmUuaW46CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJRml4ZWQgc29tZSBpc3N1ZXMgZm91bmQgYnkgd2luYXBpX2NoZWNrLgorCisJKiB0b29scy93aW5hcGlfY2hlY2svd2luMzIvZ2RpMzIuYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luMzIva2VybmVsMzIuYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luMzIvbnRkbGwuYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luMzIvdXNlcjMyLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjE2L2NvbXBvYmouYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2NoZWNrLCB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX29wdGlvbnMucG0sIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGlfcGFyc2VyLnBtOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gRml4ZWQgYSBidWcgY29uY2VybmluZyBXaW4xNiBkb2N1bWVudGF0aW9uLgorCS0gRml4ZWQgc29tZSBidWdzIGNvbmNlcm5pbmcgYXJndW1lbnQgZG9jdW1lbnRhdGlvbgorCS0gTWlub3IgQVBJIGZpbGVzIHVwZGF0ZQorCisJKiBzY2hlZHVsZXIvcHJvY2Vzcy5jLCB0b29scy9jdmR1bXAvY3ZkdW1wLmgsIHRvb2xzL2ZudDJiZGYuYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jLCB3aW5kb3dzL2RjZS5jLCB3aW5kb3dzL2RyaXZlci5jLCB3aW5kb3dzL2lucHV0LmMsIHdpbmRvd3MvcXVldWUuYywgd2luZG93cy9zcHkuYywgd2luZG93cy91c2VyLmMsIHdpbmRvd3Mvd2lucG9zLmMsIGdyYXBoaWNzL3dpbjE2ZHJ2L2ZvbnQuYywgaWYxNjMyL3RodW5rLmMsIGxvYWRlci9kb3MvbW9kdWxlLmMsIGxvYWRlci9lbGYuYywgbG9hZGVyL2VsZmRsbC5jLCBsb2FkZXIvbW9kdWxlLmMsIGxvYWRlci9uZS9yZXNvdXJjZS5jLCBsb2FkZXIvcGVfaW1hZ2UuYywgbG9hZGVyL3BlX3Jlc291cmNlLmMsIGxvYWRlci9yZXNvdXJjZS5jLCBsb2FkZXIvdGFzay5jLCBtaXNjL3ZlcnNpb24uYywgbXNkb3MvZHBtaS5jLCBtc2Rvcy92eGQuYywgcmVsYXkzMi9idWlsdGluMzIuYywgcmVsYXkzMi9zbm9vcC5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZzk1LmMsIGRsbHMvY29tbWRsZy9maW5kZGxnLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnLmMsIGRsbHMvY29tbWRsZy9wcmludGRsZy5jLCBkbGxzL2NydGRsbC90aW1lLmMsIGRsbHMvb2xlMzIvaWZzLmMsIGRsbHMvb2xlMzIvb2xlMm5scy5jLCBkbGxzL29sZTMyL3N0b3JhZ2UuYywgZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jLCBkbGxzL3VzZXIvZXh0aWNvbi5jLCBkbGxzL3VzZXIvbW91c2UuYywgZGxscy92ZXJzaW9uL3Jlc291cmNlLmMsIGRsbHMvd2lubW0vbG9sdmxkcnYuYywgZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkZWJ1Z2dlci9tc2MuYywgZGxscy9jb21jdGwzMi9hbmltYXRlLmMsIGRsbHMvY29tY3RsMzIvcmViYXIuYywgZGxscy9jb21tZGxnL2NvbG9yZGxnLmMsIGRsbHMvY29tbWRsZy9maWxlZGxnLmM6CisJUmVtb3ZlZCBzb21lIHVubmVjZXNzYXJ5IGluY2x1ZGVzLgorCisJKiBpbmNsdWRlL21vZHVsZS5oLCBpbmNsdWRlL25lZXhlLmgsIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaDoKKwlNb3ZlZCB1c2VmdWwgTkUgZm9ybWF0IGRlZmluaXRpb25zIHRvIHdpbmJhc2UxNi5oLgorCisJKiBpbmNsdWRlL3dpbm50LmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywgdG9vbHMvd2luZWJ1aWxkL3JlbGF5LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCU1vZGlmaWVkIHdpbmVidWlsZCB0byB1c2UgdGhlIF9fQVNNX0ZVTkMgbWFjcm8gZm9yIGdyZWF0ZXIgcG9ydGFiaWxpdHkuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbC5zcGVjLCBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLCBkbGxzL2tlcm5lbC91dHRodW5rLmMsIGRsbHMva2VybmVsL3dwcm9jcy5zcGVjLCBsb2FkZXIvbmUvbW9kdWxlLmMsIGxvYWRlci9uZS9zZWdtZW50LmMsIG1zZG9zL2ludDJmLmMsIG1zZG9zL2ludGVycnVwdHMuYzoKKwlNb3ZlZCB0aGUgZmV3IHJlbWFpbmluZyBmdW5jdGlvbnMgaW4gd3Byb2NzLmRsbCB0byBrZXJuZWwuZGxsLgorCU5vIGxvbmdlciBsb2FkIHdwcm9jcy5kbGwgdW5jb25kaXRpb25hbGx5LgorCVJlc3RvcmVkIGRlZmF1bHQgaW50ZXJydXB0IGhhbmRsZXIgYmVoYXZpb3IgKHJlcG9ydGVkIGJ5IEFuZHJlYXMgTW9ocikuCisKKwkqIGRsbHMvdXNlci91c2VyMzIuc3BlYywgZGxscy93aW5zb2NrL3NvY2tldC5jLCBkbGxzL3dpbnNvY2svd2luc29jay5zcGVjLCBkbGxzL3dzb2NrMzIvTWFrZWZpbGUuaW4sIGRsbHMvd3NvY2szMi9zb2NrZXQuYywgZGxscy93c29jazMyL3dzb2NrMzIuc3BlYywgZmlsZXMvZG9zX2ZzLmMsIGluY2x1ZGUvd2luYmFzZS5oLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL3NoZWxsMzIvTWFrZWZpbGUuaW4sIGRsbHMvc2hlbGwzMi9zaGVsbC5jLCBkbGxzL3NoZWxsMzIvc2hlbGwuc3BlYywgZGxscy9zaGVsbDMyL3NoZWxsMzIuc3BlYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jLCBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmMsIGRsbHMvc2hlbGwzMi9zaGVsbHJlZy5jOgorCUZpbmlzaGVkIHNlcGFyYXRpb24gb2Ygc2hlbGwzMiBhbmQgd3NvY2szMi4KKworCSogbGlicmFyeS9wb3J0LmMsIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL3dpbmUvcG9ydC5oOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJU3VwcGx5IGR1bW15IGdldHJsaW1pdCBpZiBhYnNlbnQuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbC5zcGVjOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCUZpeGVkIHNlZ3N0ciB0byBzdHIgcHJvdG8uCisKKwkqIGRlYnVnZ2VyL2RlYnVnZ2VyLmgsIGRlYnVnZ2VyL3R5cGVzLmM6CisJRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJQ2xlYW5lZCB1cCBpbnRlcm5hbCB0eXBlcyBkZWZpbml0aW9uLgorCisJKiBkZWJ1Z2dlci9zdGFicy5jOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCUltcHJvdmVkIHN0YWJzIGxvYWRpbmcgKG5vdyB1c2luZyByZWN1cnNpdmUgcGFyc2luZywgcmVxdWlyZWQgYnkgc3RhYnMKKwlnZW5lcmF0ZWQgYnkgbGF0ZXN0IGdjYyB2ZXJzaW9ucykuCisKKwkqIGRlYnVnZ2VyL2V4cHIuYzoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlXb3JrIGFyb3VuZCBmb3IgZGVyZWYgaXNzdWVzIChsZWFzdCBpbXBhY3Qgc29sdXRpb24gdGFrZW4sIGV2ZW4gaWYgaXNzdWVzIHJlbWFpbikuCisKKwkqIGRsbHMva2VybmVsL25scy9jaHQubmxzLCBkbGxzL2tlcm5lbC9ubHMvY3plLm5scywgZGxscy9rZXJuZWwvbmxzL2Rhbi5ubHMsIGRsbHMva2VybmVsL25scy9maW4ubmxzLCBkbGxzL2tlcm5lbC9ubHMvdHJrLm5scywgZGxscy9rZXJuZWwvbmxzL3poaS5ubHM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBIG51bWJlciBvZiBhZGRpdGlvbnMgdG8gdGhlIG5scyBmaWxlcy4gQWxzbyBvbmUgY29ycmVjdGlvbiwgd2UgaGFkCisJODk1IGZvciB0aGUgQ3plY2ggZGVmYXVsdCBjb2RlcGFnZSBidXQgYWNjb3JkaW5nIHRvIG1pY3Jvc29mdCBpdAorCXNob3VsZCBiZSA4NTIuCisKKwkqIHRvb2xzL3dpbmVsYXVuY2hlci5pbjoKKwlKZXJlbXkgV2hpdGUgPGp3aGl0ZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSB3aW5lbGF1bmNoZXIgd29yayBiZXR0ZXIgZm9yIHNvdXJjZSB0cmVlIGJ1aWxkcy4KKwlNYWtlIHdpbmVsYXVuY2hlciBkZXRlY3QgdGhlIGxhY2sgb2YgYSB+Ly53aW5lcmMgZmlsZSBhbmQgcHJvbXB0IHRoZQorCXVzZXIgYWJvdXQgaXQuCisJUGFzcyBjb21tYW5kIGxpbmUgcGFyYW1ldGVycyBhIGJpdCBtb3JlIGdyYWNpb3VzbHk7IGltcHJvdmVzCisJaW50ZXJhY3Rpb24gd2l0aCBnbWMgYW5kIGtmbS4KKworCSogd2luZG93cy94MTFkcnYvd25kLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJQWRkZWQgdGhlIEtERSAyIGJldGEgYW5kIGZpbmFsIG1ldGhvZCBvZiBzcGVjaWZ5aW5nIHN5c3RyYXkgd2luZG93cy4KKworMjAwMC0xMS0zMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29udHJvbHMvbGlzdGJveC5jOgorCUxvdWlzIFBoaWxpcHBlIEdhZ25vbiA8bG91aXNwaGlsaXBwZUBtYWNhZGFtaWFuLmNvbT4KKwlEb24ndCB1cGRhdGUgc2Nyb2xsYmFycyB3aGVuIHByb2Nlc3NpbmcgV01fREVTVFJPWS4KKworCSogd2luZG93cy93aW5wcm9jLmM6CisJQ2hlY2sgZm9yIE5VTEwgaGFuZGxlIGJlZm9yZSBjYWxsaW5nIEhlYXBWYWxpZGF0ZS4KKworCSogZG9jdW1lbnRhdGlvbi93aW5lbWFrZXIubWFuOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQnJpbmcgdGhlIG1hbiBwYWdlIGluIGxpbmUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gb2Ygd2luZW1ha2VyLgorCisJKiB0b29scy93aW5lbWFrZXI6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEluIGludGVyYWN0aXZlIG1vZGUsIGRvbid0IGlnbm9yZSBpbnZhbGlkIG9wdGlvbnMsIGFzayB0aGUgdXNlciBhZ2FpbgorCS0gVXBwZXJjYXNlIGV4dGVuc2lvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgYWZ0ZXIgYWxsIChoaW50OiAkKFNSQzouYz0ubykpCisJLSBQYXNzIHRoZSBnbG9iYWwgZGVmaW5lcyBhbmQgaW5jbHVkZSBwYXRoIHRvIFdSQworCS0gQmFzZSB0aGUgY2xlYW51cCBvbiB0aGUgT0JKUyB2YXJpYWJsZSBzbyB0aGF0IGl0IHdvcmtzIGV2ZW4gaWYgdGhlCisJICBzb3VyY2VzIGFyZSBpbiBhIHN1YmRpcmVjdG9yeQorCisJKiB0b29scy93aW5lbWFrZXI6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEZpeCB0aGUgaGFuZGxpbmcgb2YgcmVsYXRpdmUgaW5jbHVkZS9saWJyYXJ5IHBhdGhzCisJLSBJbiBpbnRlcmFjdGl2ZSBtb2RlLCBwcmludCAiLi8iIGZvciB0aGUgdG9wIGxldmVsIGRpcmVjdG9yeSByYXRoZXIKKwkgIHRoYW4gYW4gZW1wdHkgc3RyaW5nCisJLSBXZSBkb24ndCBuZWVkIHRvIGZvcmNlIGEgc3BhY2UgYmVmb3JlIGFzc2lnbm1lbnRzCisJLSBBbGlnbiBUT1BTUkNESVIgJiBjbyBsaWtlIGFsbCB0aGUgb3RoZXIgYXNzaWduZW1lbnRzCisJLSBDb21waWxlIERsbHMgZmlyc3QgKGRlcGVuZGVuY2llcyB3b3VsZCBkbyBpdCBtb3JlIG9yIGxlc3MgYW55d2F5KQorCS0gV29yZGluZyBjaGFuZ2UgaW4gdGhlIHVzYWdlCisKKwkqIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwgZGxscy91c2VyL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL21jaS5jLCBkbGxzL3dpbm1tL3dpbm1tLnNwZWMsIG1pc2MvcmVnaXN0cnkuYywgZGVidWdnZXIvTWFrZWZpbGUuaW4sIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvYWR2YXBpMzIvTWFrZWZpbGUuaW4sIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYywgZGxscy9hZHZhcGkzMi9yZWdpc3RyeS5jLCBkbGxzL2dkaS9NYWtlZmlsZS5pbjoKKwlGaW5pc2hlZCBzZXBhcmF0aW9uIG9mIGFkdmFwaTMyLgorCisJKiBkbGxzL29sZTMyL01ha2VmaWxlLmluLCBkbGxzL29sZTMyL2lmcy5jLCBkbGxzL2RkcmF3L01ha2VmaWxlLmluLCBkbGxzL2RkcmF3L2RkcmF3LnNwZWM6CisJRmluaXNoZWQgc2VwYXJhdGlvbiBvZiBvbGUzMi4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMnVuZG9jLmM6CisJR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwlJbXBsZW1lbnQgYmV0dGVyIHZlcnNpb24gb2YgRFBBX01lcmdlLgorCisJKiBkbGxzL3dpbmluZXQvZnRwLmM6CisJR2VyYWxkIFBmZWlmZXIgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CisJQWRkIG1pc3NpbmcgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4gdG8gZ2V0IHN0cnVjdCBpbl9hZGRyIG9uIGFsbCBwbGF0Zm9ybXMuCisKKwkqIG1lbW9yeS9oZWFwLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgY3Jhc2ggaW4gVW5NYXBMUyBmb3IgcG9pbnRlcnMgbm90IGJlbG9uZ2luZyB0byB0aGUgc2VncHRyIGhlYXAuCisKKwkqIGRsbHMvd2lubW0vbWNpd2F2ZS8uY3ZzaWdub3JlLCBkbGxzL3dpbm1tL21pZGltYXAvLmN2c2lnbm9yZSwgZGxscy93aW5tbS93YXZlbWFwLy5jdnNpZ25vcmUsIGRsbHMvd2lubW0vd2luZW9zcy8uY3ZzaWdub3JlLCBkbGxzL3dpbnNvY2svLmN2c2lnbm9yZSwgZGxscy93aW5zcG9vbC8uY3ZzaWdub3JlLCBkbGxzL3dvdzMyLy5jdnNpZ25vcmUsIGRsbHMvd3NvY2szMi8uY3ZzaWdub3JlLCBkbGxzL3gxMWRydi8uY3ZzaWdub3JlLCBkbGxzL3VzZXIvLmN2c2lnbm9yZSwgZGxscy92ZXJzaW9uLy5jdnNpZ25vcmUsIGRsbHMvd2luMzJzLy5jdnNpZ25vcmUsIGRsbHMvd2luYXNwaS8uY3ZzaWdub3JlLCBkbGxzL3dpbmVwcy8uY3ZzaWdub3JlLCBkbGxzL3dpbmluZXQvLmN2c2lnbm9yZSwgZGxscy93aW5tbS8uY3ZzaWdub3JlLCBkbGxzL3dpbm1tL2pveXN0aWNrLy5jdnNpZ25vcmUsIGRsbHMvd2lubW0vbWNpYW5pbS8uY3ZzaWdub3JlLCBkbGxzL3dpbm1tL21jaWF2aS8uY3ZzaWdub3JlLCBkbGxzL3dpbm1tL21jaWNkYS8uY3ZzaWdub3JlLCBkbGxzL3dpbm1tL21jaXNlcS8uY3ZzaWdub3JlLCBkbGxzL29wZW5nbDMyLy5jdnNpZ25vcmUsIGRsbHMvcHNhcGkvLmN2c2lnbm9yZSwgZGxscy9yYXNhcGkzMi8uY3ZzaWdub3JlLCBkbGxzL3JpY2hlZGl0Ly5jdnNpZ25vcmUsIGRsbHMvcnBjcnQ0Ly5jdnNpZ25vcmUsIGRsbHMvc2VyaWFsdWkvLmN2c2lnbm9yZSwgZGxscy9zZXR1cGFwaS8uY3ZzaWdub3JlLCBkbGxzL3NoZWxsMzIvLmN2c2lnbm9yZSwgZGxscy9zaGZvbGRlci8uY3ZzaWdub3JlLCBkbGxzL3NobHdhcGkvLmN2c2lnbm9yZSwgZGxscy90YXBpMzIvLmN2c2lnbm9yZSwgZGxscy90dHlkcnYvLmN2c2lnbm9yZSwgZGxscy91cmxtb24vLmN2c2lnbm9yZSwgZGxscy9tcHIvLmN2c2lnbm9yZSwgZGxscy9tc2FjbS8uY3ZzaWdub3JlLCBkbGxzL21zbmV0MzIvLmN2c2lnbm9yZSwgZGxscy9tc3ZpZGVvLy5jdnNpZ25vcmUsIGRsbHMvbnRkbGwvLmN2c2lnbm9yZSwgZGxscy9vZGJjMzIvLmN2c2lnbm9yZSwgZGxscy9vbGUzMi8uY3ZzaWdub3JlLCBkbGxzL29sZWF1dDMyLy5jdnNpZ25vcmUsIGRsbHMvb2xlY2xpLy5jdnNpZ25vcmUsIGRsbHMvb2xlZGxnLy5jdnNpZ25vcmUsIGRsbHMvb2xlcHJvMzIvLmN2c2lnbm9yZSwgZGxscy9vbGVzdnIvLmN2c2lnbm9yZSwgZGxscy9jcnRkbGwvLmN2c2lnbm9yZSwgZGxscy9kY2ltYW4zMi8uY3ZzaWdub3JlLCBkbGxzL2RkcmF3Ly5jdnNpZ25vcmUsIGRsbHMvZGlucHV0Ly5jdnNpZ25vcmUsIGRsbHMvZHBsYXkvLmN2c2lnbm9yZSwgZGxscy9kcGxheXgvLmN2c2lnbm9yZSwgZGxscy9kc291bmQvLmN2c2lnbm9yZSwgZGxscy9nZGkvLmN2c2lnbm9yZSwgZGxscy9pY21wLy5jdnNpZ25vcmUsIGRsbHMvaW1hZ2VobHAvLmN2c2lnbm9yZSwgZGxscy9pbW0zMi8uY3ZzaWdub3JlLCBkbGxzL2tlcm5lbC8uY3ZzaWdub3JlLCBkbGxzL2x6ZXhwYW5kLy5jdnNpZ25vcmUsIGRsbHMvYWR2YXBpMzIvLmN2c2lnbm9yZSwgZGxscy9hdmlmaWwzMi8uY3ZzaWdub3JlLCBkbGxzL2NvbWN0bDMyLy5jdnNpZ25vcmUsIGRsbHMvY29tbWRsZy8uY3ZzaWdub3JlOgorCURhdmlkIEVsbGlvdHQgPGRmZUBpbmZpbml0ZS1pbnRlcm5ldC5uZXQ+CisJUmVtb3ZlIGxpYlhYWFguc28uMS4wIGxpbmVzIGZyb20gLmN2c2lnbm9yZSBmaWxlcy4KKworCSogZGxscy9jb21jdGwzMi9NYWtlZmlsZS5pbiwgZGxscy9jb21jdGwzMi9jb21jdGwzMi5zcGVjLCBkbGxzL2NvbW1kbGcvTWFrZWZpbGUuaW4sIGRsbHMvY29tbWRsZy9jb2xvcmRsZy5jLCBkbGxzL2NvbW1kbGcvY29tZGxnMzIuc3BlYywgZGxscy9jb21tZGxnL2ZpbGVkbGcuYywgZGxscy9jb21tZGxnL2ZvbnRkbGcuYzoKKwlGaW5pc2hlZCBzZXBhcmF0aW9uIG9mIGNvbWNsdDMyIGFuZCBjb21kbGczMi4KKworCSogcHJvZ3JhbXMvcHJvZ21hbi9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvcHJvZ21hbi9ncnBmaWxlLmMsIHByb2dyYW1zL3Byb2dtYW4vbWFpbi5jOgorCUZpeGVkIHByb2dtYW4gaW50ZXJuYWwgZGVwZW5kZW5jaWVzIGFuZCBidWlsZCBpdCBsaWtlIHRoZSBvdGhlcgorCXByb2dyYW1zLgorCisJKiBkbGxzL2dkaS9nZGkzMi5zcGVjLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJRXhwb3J0IGEgZmV3IDE2LWJpdCBmdW5jdGlvbnMgbmVlZGVkIGJ5IGhpZ2hlci1sZXZlbCBkbGxzLgorCisJKiBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGluY2x1ZGUvc2VydmVyLmgsIHNjaGVkdWxlci9jbGllbnQuYzoKKwlFeHBvcnQgdGhlIHdpbmUgc2VydmVyIGZ1bmN0aW9ucyBmcm9tIG50ZGxsLgorCisJKiB0b29scy93aW5hcGlfY2hlY2svd2luMTYvdG9vbGhlbHAuYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luMzIvY3J0ZGxsLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL21vZHVsZXMuZGF0LCB0b29scy93aW5hcGlfY2hlY2svbmF0aXZlYXBpLmRhdCwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaS5wbSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9jaGVjaywgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9sb2NhbC5wbSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9vcHRpb25zLnBtLCB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX3BhcnNlci5wbToKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwktIEFkZGVkIG5ldyBvcHRpb24gLS1kb2N1bWVudGF0aW9uLWFyZ3VtZW50cworCS0gTWlub3IgQVBJIGZpbGVzIHVwZGF0ZQorCisJKiBkbGxzL3JpY2hlZGl0L2NoYXJsaXN0LmMsIGRsbHMvcmljaGVkaXQvcmVhZGVyLmMsIGRsbHMvcmljaGVkaXQvcmljaGVkaXQuYywgZGxscy9yaWNoZWRpdC9ydGYuaCwgZGxscy91cmxtb24vdW1vbi5jLCBkbGxzL3dpbmluZXQvZnRwLmMsIGRsbHMvd2luaW5ldC9odHRwLmMsIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jLCBkbGxzL3dpbmluZXQvdXRpbGl0eS5jLCBpbmNsdWRlL29jaWRsLmgsIGluY2x1ZGUvcnBjLmgsIGluY2x1ZGUvdW5rbnduLmgsIGluY2x1ZGUvd2luZG93cy5oLCBtc2Rvcy9pbnQxMS5jLCBkbGxzL29sZTMyL2NsaXBib2FyZC5jLCBkbGxzL29sZTMyL2ZpbGVtb25pa2VyLmMsIGRsbHMvb2xlYXV0MzIvY29ubnB0LmMsIGRsbHMvb2xlYXV0MzIvb2xlMmRpc3AuYywgZGxscy9vbGVhdXQzMi9vbGVhdXQuYywgZGxscy9vbGVhdXQzMi9vbGVmb250LmMsIGRsbHMvb2xlYXV0MzIvb2xlcGljdHVyZS5jLCBkbGxzL29sZWF1dDMyL3N0dWJzLmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJRG9uJ3QgaW5jbHVkZSB3aW5kb3dzLmggaW50ZXJuYWxseS4KKworCSogZG9jdW1lbnRhdGlvbi93aW5lLm1hbi5pbiwgbWlzYy92ZXJzaW9uLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgYWxpYXMgY2FwYWJpbGl0eSB0byAtLXdpbnZlci4KKwl3aW4yMDAwIGlzIHRoZSBvZmZpY2lhbCB2YWx1ZS4KKworCSogZGxscy9vbGVhdXQzMi9NYWtlZmlsZS5pbiwgZ3JhcGhpY3Mvd2luMTZkcnYvZm9udC5jLCBpZjE2MzIvdGh1bmsuYywgaW5jbHVkZS9oZWFwLmgsIGluY2x1ZGUvd2luYmFzZS5oLCBtZW1vcnkvaGVhcC5jLCBtZW1vcnkvc2VsZWN0b3IuYywgc2NoZWR1bGVyL3Byb2Nlc3MuYywgZGxscy9rZXJuZWwvdXR0aHVuay5jLCBkbGxzL21zdmlkZW8vTWFrZWZpbGUuaW46CisJVXNlIHRoZSBIRUFQX1dJTkVfU0VHUFRSIGZsYWcgdG8gc3BlY2lmeSBhbGxvY2F0aW9ucyBvbiB0aGUgc2VncHRyIGhlYXAuCisJQWRkZWQgYSBoYWNrIGluIE1hcExTIHRvIHJlY29nbml6ZSBzdWNoIGFsbG9jYXRpb25zIGFuZCB1c2UgdGhlIGhlYXAKKwlzZWxlY3RvciBpbiB0aGlzIGNhc2UuCisKKwkqIGRsbHMvd2luYXNwaS9NYWtlZmlsZS5pbiwgZGxscy93aW5hc3BpL2FzcGkuYywgZGxscy93aW5hc3BpL3dpbmFzcGkxNi5jOgorCVJlbW92ZWQgZGVwZW5kZW5jaWVzIG9uIFdpbmUgaW50ZXJuYWwgZnVuY3Rpb25zLgorCisJKiB3aW5kb3dzL3dpbnByb2MuYzoKKwlBbHdheXMgaW5pdGlhbGl6ZSBtc2cxNiBhbmQgd3BhcmFtMTYgaW4gV0lOUFJPQ19NYXBNc2czMldUbzE2LgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmUuY29uZi5tYW4uaW4sIGRvY3VtZW50YXRpb24vd2luZS5tYW4uaW4sIGluY2x1ZGUvbG9hZG9yZGVyLmgsIGxvYWRlci9sb2Fkb3JkZXIuYywgbG9hZGVyL21vZHVsZS5jLCBsb2FkZXIvbmUvbW9kdWxlLmMsIHJlbGF5MzIvYnVpbHRpbjMyLmMsIHdpbmUuaW5pOgorCVJlbW92ZWQgImVsZmRsbCIgbG9hZCBvcmRlciBvcHRpb24gYW5kIHVwZGF0ZWQgZG9jdW1lbnRhdGlvbi4KKworMjAwMC0xMS0yOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luMzIvZGV2aWNlLmMsIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBkbGxzL250ZGxsL3NpZ25hbF9pMzg2LmMsIGluY2x1ZGUvY29uZmlnLmguaW4sIHNlcnZlci9jb250ZXh0X2kzODYuYywgc2VydmVyL3B0cmFjZS5jLCBzZXJ2ZXIvcmVxdWVzdC5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJRG8gbm90IGluY2x1ZGUgc3lzL3B0cmFjZS5oIGFuZCBzeXMvdXNlci5oIHVuY29uZGl0aW9uYWxseS4KKwlPdGhlciBwb3J0YWJpbGl0eSBmaXhlcy4KKworCSogZGxscy9jb21jdGwzMi9pbWFnZWxpc3QuYywgZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jLCBpbmNsdWRlL3dpbmdkaS5oLCBvYmplY3RzL2RjLmM6CisJQnJpYW4gVGVhZ3VlIDxidGVhZ3VlQHJpY2UuZWR1PgorCUFkZCBhIHN0dWIgZm9yIHRoZSBDQVBTMSBjYXBhYmlsaXR5IGluIEdldERldmljZUNhcHMuCisJRGVmaW5lIHRoZSBDQVBTMSBiaXQgZmxhZ3MgaW4gd2luZ2RpLmgKKwlNYWtlIHZhcmlvdXMgY2FsbHMgdG8gR2V0RGV2aWNlQ2FwcyBpbiBETExTIHVzZSAjZGVmaW5lZCB2YWx1ZXMuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYywgd2luZG93cy9rZXlib2FyZC5jLCB3aW5kb3dzL3dpbnByb2MuYywgZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwvdGh1bmsuYywgZGxscy9rZXJuZWwvd293dGh1bmsuYywgZGxscy91c2VyL21vdXNlLmMsIGlmMTYzMi9yZWxheS5jLCBpbmNsdWRlL2J1aWx0aW4xNi5oLCBpbmNsdWRlL3dpbmUvd2luYmFzZTE2LmgsIGxvYWRlci9uZS9tb2R1bGUuYywgbG9hZGVyL25lL3NlZ21lbnQuYywgbWlzYy9zeXN0ZW0uYywgbXNkb3MvZHBtaS5jLCBzY2hlZHVsZXIvdGhyZWFkLmMsIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jOgorCVJlbmFtZWQgQ2FsbFRvMTYqIGZ1bmN0aW9ucyB0byB3aW5lX2NhbGxfdG9fMTYqIGFuZCBleHBvcnQgdGhlbSBmcm9tCisJa2VybmVsMzIuc3BlYy4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGcuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJRml4ZWQgcmV0dXJuZWQgbGVuZ3RoIG9mIGZpbGVzLgorCisJKiBjb25maWd1cmUuaW4sIGRlYnVnZ2VyL3N0YWJzLmMsIGluY2x1ZGUvY29uZmlnLmguaW4sIGNvbmZpZ3VyZToKKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCURvIG5vdCB1c2UgYS5vdXQuaC4KKworCSogZGxscy9jb21tZGxnL2ZvbnRkbGcuYywgZGxscy9tcHIvTWFrZWZpbGUuaW4sIGRsbHMvbXByL3duZXQuYywgZGxscy93aW5tbS9tY2lhbmltL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL21jaWFuaW0vbWNpYW5pbS5jLCBkbGxzL3dpbm1tL21jaWF2aS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS9tY2lhdmkvbWNpYXZpLmMsIGRsbHMvd2luc3Bvb2wvTWFrZWZpbGUuaW4sIGRsbHMvd2luc3Bvb2wvaW5mby5jLCBkbGxzL3dpbnNwb29sL3dpbnNwb29sLmRydi5zcGVjLCBpbmNsdWRlL3dpbmdkaS5oLCBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jOgorCUNsZWFuZWQgdXAgc29tZSBtb3JlIGRlcGVuZGVuY2llcyBvbiBXaW5lIGludGVybmFsIGZ1bmN0aW9ucy4KKworCSogZmlsZXMvZmlsZS5jLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL3dpbmUvcG9ydC5oLCBsaWJyYXJ5L3BvcnQuYywgc2NoZWR1bGVyL2NsaWVudC5jLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjoKKwlBZGRlZCBpbXBsZW1lbnRhdGlvbiBvZiBsc3RhdCB0byBwb3J0LmMuCisKKwkqIHdpbjMyL2RldmljZS5jOgorCUtlZXMgU2Nob2VubWFrZXJzIDxrZWVzc0BtaWxsdHJvbmljcy5jb20+CisJQWRkZWQgSEFTUCBkZXZpY2Ugc3R1Yi4KKworCSogb2JqZWN0cy9nZGlvYmouYzoKKwlMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCUZpeGVkIHRoZSBzaXplIG9mIHRoZSBsYXJnZV9oYW5kbGVzIGFycmF5LgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmMsIGRsbHMvb2xlY2xpL29sZWNsaTMyLnNwZWMsIGRsbHMvdHR5ZHJ2L3R0eWRydi5zcGVjLCBkbGxzL3dpbm1tL2pveXN0aWNrL2pveXN0aWNrLmRydi5zcGVjOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJRml4ZWQgYSBmZXcgY29tcGlsYXRpb24gd2FybmluZ3MuCisKKwkqIGNvbnRyb2xzL2NvbWJvLmMsIGNvbnRyb2xzL3N0YXRpYy5jLCB3aW5kb3dzL2RlZnduZC5jLCB3aW5kb3dzL21kaS5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCVdNX1NFVFRFWFQgc2hvdWxkIHJldHVybiBUUlVFIG9uIHN1Y2Nlc3MuCisKKwkqIG1lbW9yeS92aXJ0dWFsLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJVmlydHVhbFF1ZXJ5IHNob3VsZCByZXR1cm4gMCBmb3IgYWxsIGFkZHJlc3NlcyA+PSAweGMwMDAwMDAwLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlPd25lcmRhdGEgbGlzdHZpZXdzIHdlcmUgbm90IGNsZWFyaW5nIHByZXZpb3VzbHkgc2VsZWN0ZWQgaXRlbXMgd2hlbiBhCisJbmV3IGl0ZW0gaXMgc2V0IGFzIHNlbGVjdGVkIHVzaW5nIFNldEl0ZW0gYW5kIHRoZSBsaXN0dmlldyBoYXMKKwlMVklTX1NJTkdMRVNFTC4KKworMjAwMC0xMS0yOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy94MTFkcnYva2V5Ym9hcmQuYzoKKwlBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCVdlIHdlcmUgcmV0dXJuaW5nIGNoYXJhY3RlcnMgZm9yIHZhcmlvdXMgQ1RSTCArIFN5bWJvbCBrZXlzdHJva2VzCisJd2hpY2ggc2hvdWxkIG5vdCByZXR1cm4gY2hhcmFjdGVycy4KKworCSogbWlzYy9jcHUuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPE1hcmN1cy5NZWlzc25lckBjYWxkZXJhLmRlPgorCWxpbnV4LTIuNC4wLXRlc3QxMCBub3cgY2FsbHMgJ2ZsYWdzJyBhcyAnZmVhdHVyZXMnLgorCisJKiB3aW5kb3dzL3dpbi5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGR0aW1vc2hrb3ZAY29kZXdlYXZlcnMuY29tPgorCVNsaWdodGx5IHJlYXJyYW5nZSBXSU4xNi9XSU4zMkEvV0lOMzIgd2luZG93IGNyZWF0aW9uLgorCisJKiBjb250cm9scy9idXR0b24uYywgY29udHJvbHMvd2lkZ2V0cy5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGR0aW1vc2hrb3ZAY29kZXdlYXZlcnMuY29tPgorCU1hZGUgYnV0dG9uIGNvbnRyb2wgZnVsbHkgdW5pY29kZSBhd2FyZS4KKworCSogZGxscy9zZXR1cGFwaS9zZXR1cHgxNi5oLCBkbGxzL3NldHVwYXBpL3NldHVweF9tYWluLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJLSBmaXggY3Jhc2ggaW4gU0VUVVBYX1RyYW5zbGF0ZUxESUQoKQorCS0gaW1wbGVtZW50IGN1c3RvbSBMRElEIGxvb2t1cAorCisJKiBtaXNjL2Nkcm9tLmMsIG1pc2MvY3B1LmMsIG1pc2MvdmVyc2lvbi5jLCBvYmplY3RzL2VuaG1ldGFmaWxlLmMsIG9iamVjdHMvZm9udC5jLCBvbGUvb2xlMm5scy5jLCB3aW4zMi9jb25zb2xlLmMsIHdpbjMyL2luaXQuYywgd2luZG93cy9jbGlwYm9hcmQuYywgd2luZG93cy9kZWZ3bmQuYywgd2luZG93cy9kaWFsb2cuYywgd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL21zZ2JveC5jLCB3aW5kb3dzL3N5c3BhcmFtcy5jLCB3aW5kb3dzL3VzZXIuYywgd2luZG93cy93aW5wcm9jLmMsIGZpbGVzL2RpcmVjdG9yeS5jLCBmaWxlcy9kb3NfZnMuYywgZmlsZXMvZHJpdmUuYywgZmlsZXMvZmlsZS5jLCBmaWxlcy9wcm9maWxlLmMsIGdyYXBoaWNzL2VuaG1ldGFmaWxlZHJ2L2luaXQuYywgZ3JhcGhpY3MvbWV0YWZpbGVkcnYvdGV4dC5jLCBncmFwaGljcy93aW4xNmRydi9mb250LmMsIGdyYXBoaWNzL3dpbjE2ZHJ2L3RleHQuYywgaWYxNjMyL2J1aWx0aW4uYywgaW5jbHVkZS93aW5lL3dpbmVzdHJpbmcuaCwgbG9hZGVyL21vZHVsZS5jLCBsb2FkZXIvbmUvY29udmVydC5jLCBsb2FkZXIvcGVfcmVzb3VyY2UuYywgbWVtb3J5L2Vudmlyb24uYywgbWVtb3J5L3JlZ2lzdHJ5LmMsIG1lbW9yeS9zdHJpbmcuYywgZGxscy9zaGVsbDMyL3NoZWxsbGluay5jLCBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmMsIGRsbHMvc2hlbGwzMi9zaGxmb2xkZXIuYywgZGxscy9zaGVsbDMyL3NobHZpZXcuYywgZGxscy9zaGVsbDMyL3Nodl9pdGVtX2NtZW51LmMsIGRsbHMvc2hlbGwzMi9zeXN0cmF5LmMsIGRsbHMvc2hsd2FwaS9wYXRoLmMsIGRsbHMvc2hsd2FwaS9zdHJpbmcuYywgZGxscy90dHlkcnYvZ3JhcGhpY3MuYywgZGxscy92ZXJzaW9uL2luZm8uYywgZGxscy93aW5tbS9qb3lzdGljay5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsIGRsbHMva2VybmVsL2Zvcm1hdF9tc2cuYywgZGxscy9semV4cGFuZC9semV4cGFuZF9tYWluLmMsIGRsbHMvbXByL3duZXQuYywgZGxscy9tc2FjbS9kcml2ZXIuYywgZGxscy9tc2FjbS9maWx0ZXIuYywgZGxscy9tc2FjbS9mb3JtYXQuYywgZGxscy9tc2FjbS9wY21jb252ZXJ0ZXIuYywgZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jLCBkbGxzL250ZGxsL3J0bHN0ci5jLCBkbGxzL250ZGxsL3NlYy5jLCBkbGxzL29sZTMyL2NsaXBib2FyZC5jLCBkbGxzL29sZTMyL2NvbXBvYmouYywgZGxscy9vbGUzMi9maWxlbW9uaWtlci5jLCBkbGxzL29sZTMyL2l0ZW1tb25pa2VyLmMsIGRsbHMvb2xlMzIvb2xlMi5jLCBkbGxzL29sZTMyL3N0b3JhZ2UuYywgZGxscy9vbGUzMi9zdG9yYWdlMzIuYywgZGxscy9zaGVsbDMyL3BpZGwuYywgY29udHJvbHMvbWVudS5jLCBkbGxzL2FkdmFwaTMyL2FkdmFwaS5jLCBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmMsIGRsbHMvYWR2YXBpMzIvc2VjdXJpdHkuYywgZGxscy9hZHZhcGkzMi9zZXJ2aWNlLmMsIGRsbHMvY29tY3RsMzIvY29tYm9leC5jLCBkbGxzL2NvbWN0bDMyL2RhdGV0aW1lLmMsIGRsbHMvY29tY3RsMzIvaGVhZGVyLmMsIGRsbHMvY29tY3RsMzIvcmViYXIuYywgZGxscy9jb21jdGwzMi9zdGF0dXMuYywgZGxscy9jb21jdGwzMi90b29sYmFyLmMsIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYywgZGxscy9jb21tZGxnL2ZpbGVkbGcuYywgZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZ2Jyb3dzZXIuYywgZGxscy9jb21tZGxnL2ZpbGV0aXRsZS5jLCBkbGxzL2NvbW1kbGcvZmluZGRsZzMyLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnLmM6CisJR290IHJpZCBvZiB0aGUgV2luZSBpbnRlcm5hbCBsc3RyY3B5KiBmdW5jdGlvbnMgYW5kIG9mIHdpbmVzdHJpbmcuaC4KKworCSogZG9jdW1lbnRhdGlvbi93aW5lLm1hbi5pbjoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVcGRhdGVkIG1hbiBwYWdlLgorCisJKiBtZW1vcnkvaGVhcC5jLCBpbmNsdWRlL2hlYXAuaDoKKwlNYWRlIEhFQVBfc3RyZHVwKiBmdW5jdGlvbnMgaW5saW5lICh0ZW1wb3JhcnkpLgorCisJKiBkbGxzL3dpbnNwb29sL2luZm8uYywgd2luMzIvbmV3Zm5zLmM6CisJTW92ZWQgRW51bVBvcnRzQSB0byBkbGxzL3dpbnNwb29sLgorCisyMDAwLTExLTI3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiAqLyouYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCVJlcXVpcmUge0RFQ0xBUkUsREVGQVVMVH1fREVCVUdfQ0hBTk5FTCBzdGF0ZW1lbnRzIHRvIGVuZCBpbiBhIDsKKworCSogcmVsYXkzMi9yZWxheTM4Ni5jLCB0b29scy93aW5lYnVpbGQvbWFpbi5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmM6CisJU2V0IGRlYnVnZ2luZyBvcHRpb24gYmFzZWQgb24gTk9fVFJBQ0VfTVNHUyBkZWZpbmUuIE9ubHkgb3V0cHV0IDMyLWJpdAorCXJlbGF5IHN0dWJzIGlmIGRlYnVnZ2luZyBpcyBvbi4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuaW4sIGluY2x1ZGUvYWNjb25maWcuaCwgaW5jbHVkZS9jb25maWcuaC5pbiwgaW5jbHVkZS93aW5udC5oOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJVGVzdCBpZiB3ZSBuZWVkIHRvIHB1dCB0aGUgLnR5cGUgZGlyZWN0aXZlIGluc2lkZSBhIC5kZWYgZGlyZWN0aXZlLgorCisJKiBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlUcnVuY2F0ZSBkZXN0IGJsaXQgcmVjdGFuZ2xlIGRvd24gdG8gc3VyZmFjZSBzaXplLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvbWlkaS5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVdBUk4oKSBhYm91dCBtaXNzaW5nIC9kZXYvc2VxdWVuY2VyLCBpdCdzIHRvbyBjb25mdXNpbmcgZm9yIG5ld2JpZXMuCisKKwkqIGdyYXBoaWNzL3gxMWRydi9vZW1iaXRtYXAuYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBbHNvIG1lbnRpb24geHBtLWRldmVsIGluIHRoZSBlcnJvciBtc2cuCisKKwkqIG1pc2MvY3B1LmM6IEFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCUFkZCBGbG9hdGluZ1BvaW50UHJvY2Vzc29yIGVtcHR5IGVudHJ5IHRvIHRoZSByZWdpc3RyeS4KKworCSogY29udHJvbHMvbWVudS5jOgorCUxvdWlzIFBoaWxpcHBlIEdhZ25vbiA8bG91aXNwaGlsaXBwZUBtYWNhZGFtaWFuLmNvbT4KKwlXaGVuIHByb2Nlc3NpbmcgbW91c2UgbWVzc2FnZXMgaW4gTUVOVV9UcmFja01lbnUsIHVzZSB0aGUgY29vcmRpbmF0ZXMKKwlpbiBsUGFyYW0gaW5zdGVhZCBvZiB0aG9zZSBpbiBNU0c6OnB0LgorCisJKiBsb2FkZXIvcGVfaW1hZ2UuYzoKKwlEaXNwbGF5IHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB3aGVuIGltcG9ydCBmYWlsZWQuCisKKwkqIGRsbHMvc2hsd2FwaS9NYWtlZmlsZS5pbiwgZGxscy9zaGx3YXBpL3N0cmluZy5jLCBkbGxzL3VzZXIvbmV0d29yay5jLCBkbGxzL3dpbjMycy9NYWtlZmlsZS5pbiwgZGxscy93aW4zMnMvdzMyc2tlcm5lbC5jLCBkbGxzL3dpbjMycy93MzJza3JubC5zcGVjLCBkbGxzL3dpbjMycy93MzJzeXMuYywgd2luZG93cy9kZWZ3bmQuYywgd2luZG93cy9tZGkuYywgd2luZG93cy9tc2dib3guYywgd2luZG93cy9ub25jbGllbnQuYywgd2luZG93cy9zeXNjb2xvci5jLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2NvbW1kbGcvZmlsZWRsZzk1LmMsIGRsbHMvbXByL3duZXQuYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jLCBjb250cm9scy9kZXNrdG9wLmMsIGNvbnRyb2xzL2ljb250aXRsZS5jLCBjb250cm9scy9zdGF0aWMuYzoKKwlGaXhlZCBhIGZldyBkZXBlbmRlbmNpZXMgb24gMTYtYml0IG9yIGludGVybmFsIGZ1bmN0aW9ucy4gRml4ZWQgYSBmZXcKKwl3YXJuaW5ncy4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jLCBkbGxzL3dpbm1tL21taW8uYzoKKwlGaXhlZCBTRUdQVFJfR0VUIHVzYWdlLgorCisJKiBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJQWRkZWQgZW50cnkgZm9yIFByaXZhdGVFeHRyYWN0SWNvbnNBLgorCisJKiBsb2FkZXIvbmUvc2VnbWVudC5jLCBtc2Rvcy9pbnQyMS5jLCBtc2Rvcy92eGQuYywgZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwvdGh1bmsuYywgZGxscy9rZXJuZWwvdXR0aHVuay5jLCBkbGxzL2tlcm5lbC93b3d0aHVuay5jLCBkbGxzL2x6ZXhwYW5kL01ha2VmaWxlLmluLCBkbGxzL2x6ZXhwYW5kL2x6ZXhwYW5kX21haW4uYywgZGxscy9vbGUzMi9jb21wb2JqLmMsIGZpbGVzL2ZpbGUuYywgaW5jbHVkZS9maWxlLmgsIGluY2x1ZGUvd2luYmFzZS5oOgorCUltcGxlbWVudGVkIERvc0ZpbGVIYW5kbGVUb1dpbjMySGFuZGxlLCBXaW4zMkhhbmRsZVRvRG9zRmlsZUhhbmRsZSBhbmQKKwlEaXNwb3NlTFozMkhhbmRsZSBhbmQgdXNlIHRoZW0gdG8gcmVwbGFjZSBmaWxlLmMgaW50ZXJuYWwgZnVuY3Rpb25zLgorCVJlbmFtZWQgV09XKiBmdW5jdGlvbnMgaW50byBLMzJXT1cqLgorCisJKiBkbGxzL2tlcm5lbC90b29saGVscC5zcGVjOgorCUFkZGVkIGVudHJ5IGZvciBUZXJtaW5hdGVBcHAxNi4KKworCSogd2luZG93cy9jdXJzb3JpY29uLmMsIHdpbmRvd3MvZGlhbG9nLmMsIHdpbmRvd3MvZHJpdmVyLmMsIHdpbmRvd3Mvd2luLmMsIGRsbHMvd2lubW0vbG9sdmxkcnYuYywgZGxscy93aW5tbS9tbXN5c3RlbS5jLCBmaWxlcy9kaXJlY3RvcnkuYywgZ3JhcGhpY3Mvd2luMTZkcnYvcHJ0ZHJ2LmMsIGlmMTYzMi90aHVuay5jLCBpbmNsdWRlL3dpbmUvd2luYmFzZTE2LmgsIGluY2x1ZGUvd2luZS93aW51c2VyMTYuaCwgbG9hZGVyL21vZHVsZS5jLCBsb2FkZXIvcmVzb3VyY2UuYywgY29udHJvbHMvbWVudS5jLCBkbGxzL2NvbW1kbGcvY29sb3JkbGcuYywgZGxscy9jb21tZGxnL2ZpbGVkbGcuYywgZGxscy9jb21tZGxnL2ZpbmRkbGcuYywgZGxscy9jb21tZGxnL2ZvbnRkbGcuYywgZGxscy9rZXJuZWwva2VybmVsLnNwZWMsIGRsbHMvb2xlMzIvaWZzLmMsIGRsbHMvb2xlMzIvc3RvcmFnZS5jLCBkbGxzL3NoZWxsMzIvc2hlbGwuYywgZGxscy91c2VyL3Jlc291cmNlLmMsIGRsbHMvdXNlci91c2VyLnNwZWM6CisJQ2hhbmdlZCBHZXRQcm9jQWRkcmVzczE2IGFuZCAxNi1iaXQgcmVzb3VyY2UgZnVuY3Rpb25zIHRvIHRha2Ugbm9ybWFsCisJcG9pbnRlcnMgaW5zdGVhZCBvZiBTRUdQVFJzLgorCVJlbW92ZWQgV0lOMTZfR2V0VGVtcERyaXZlLgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmUubWFuLmluLCBtaXNjL29wdGlvbnMuYywgbWlzYy92ZXJzaW9uLmMsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCS0gYWRkZWQgd2ludmVyIHNldHRpbmdzIG50MmssIHdpbjMwIGFuZCB3aW4yMCAoeWVzLCBzb21lIHJhcmUgcHJvZ3JhbXMgbmVlZCB0aGlzKQorCSAgYW5kICpkb2N1bWVudCogaXQgKHdpbjk4IHdhcyBub3QgZG9jdW1lbnRlZCBwcmV2aW91c2x5KQorCS0gT2FCdWlsZFZlcnNpb246IGFkZCB2YWx1ZSBmb3IgTlQ0IFNQNgorCS0gc3BlbGxpbmcgZml4ZXMKKworCSogY29uZmlndXJlLCBjb25maWd1cmUuaW4sIGRsbHMvY3J0ZGxsL2NydGRsbC5oLCBkbGxzL2NydGRsbC9jcnRkbGwuc3BlYywgZGxscy9jcnRkbGwvY3J0ZGxsX21haW4uYywgaW5jbHVkZS9jb25maWcuaC5pbiwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL2NydGRsbC5hcGksIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9udGRsbC5hcGk6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwktIGNvbmZpZ3VyZSB0ZXN0cyBmb3IgZmluaXRlKCkvZnBjbGFzcygpLCBmaXhlcyBCU0QgY29tcGlsZQorCS0gd2luYXBpX2NoZWNrIHVwZGF0ZXMsIGZpeCBlcnJubyBpbiBtb3JlIG1hdGggY2FsbHMKKworCSogd2luMzIvZXhjZXB0LmMsIGluY2x1ZGUvdG9vbGhlbHAuaCwgbG9hZGVyL3Rhc2suYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnRlZCBUZXJtaW5hdGVBcHAgbmVlZGVkIGZvciBEQmFzZSA1LjAuCisJTWFkZSBGYXRhbEFwcEV4aXQxNiBob25vciB0aGUgU0VNX05PR1BGQVVMVEVSUk9SQk9YIGVycm9yX21vZGUgZmxhZy4KKworCSogY29udHJvbHMvZWRpdC5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGR0aW1vc2hrb3ZAY29kZXdlYXZlcnMuY29tPgorCUdlbmVyYWwgY2xlYW4gdXAgb2YgdGhlIGVkaXQgY29udHJvbDogcmVtb3ZlZCB0cmFuc2ZlciBvZiB1bnVzZWQKKwl2YXJpYWJsZXMsIGZpeGVkIHNpZ25lZC91bnNpZ25lZCBtaXNtYXRjaGVzLgorCisJKiB0b29scy93aW5lYnVpbGQvcGFyc2VyLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlUaGUgaW5pdCBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIG1haW4uCisKKwkqIG1lbW9yeS9nbG9iYWwuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkdGltb3Noa292QGNvZGV3ZWF2ZXJzLmNvbT4KKwlHbG9iYWxBbGxvYyBhcyBHbG9iYWxBbGxvYzE2IHNob3VsZCByb3VuZCBzaXplIHRvIDMyLgorCUNhbGwgU2V0TGFzdEVycm9yIGluIEdsb2JhbExvY2suCisKKzIwMDAtMTEtMjYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvd2luMzJzL3dpbjMyczE2LmMsIG1lbW9yeS9zZWxlY3Rvci5jOgorCU1vdmVkIFVUU2VsZWN0b3JPZmZzZXRUb0xpbmVhciBhbmQgVVRMaW5lYXJUb1NlbGVjdG9yT2Zmc2V0IHRvCisJZGxscy93aW4zMnMuCisKKwkqIGRsbHMvc2V0dXBhcGkvTWFrZWZpbGUuaW4sIGRsbHMvc2V0dXBhcGkvaW5mcGFyc2UuYywgZGxscy9zZXR1cGFwaS9zZXR1cHgxNi5oOgorCVJlbW92ZWQgZGVwZW5kZW5jeSBvbiAxNi1iaXQgZmlsZSBJL08gZnVuY3Rpb25zLgorCisJKiBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgZGxscy91c2VyL3VzZXIuc3BlYywgZGxscy91c2VyL3VzZXIzMi5zcGVjLCBkbGxzL3VzZXIvd3NwcmludGYuYywgZGxscy93aW5tbS9tY2kuYywgZGxscy93aW5zcG9vbC9NYWtlZmlsZS5pbiwgZGxscy93aW5zcG9vbC93aW5zcG9vbC5kcnYuc3BlYywgaW5jbHVkZS93aW5lL3dpbnVzZXIxNi5oLCBpbmNsdWRlL3dpbnVzZXIuaCwgbWlzYy9NYWtlZmlsZS5pbiwgbWlzYy93c3ByaW50Zi5jLCBtc2Rvcy9pbnQxMS5jLCBvbGUvb2xlMm5scy5jLCBkZWJ1Z2dlci9tb2R1bGUuYywgZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jLCBkbGxzL2NydGRsbC9NYWtlZmlsZS5pbiwgZGxscy9jcnRkbGwvY3J0ZGxsLnNwZWMsIGRsbHMvY3J0ZGxsL2NydGRsbF9tYWluLmMsIGRsbHMva2VybmVsL2RlYnVnZ2VyLmM6CisJTW92ZWQgd3NwcmludGYgZnVuY3Rpb25zIHRvIGRsbHMvdXNlci4KKworCSogY29udHJvbHMvc2Nyb2xsLmM6CisJQ2hyaXMgTW9yZ2FuIDxjbW9yZ2FuQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCBkcmF3IHNjcm9sbGJhcnMgaWYgdGhlaXIgY2xpZW50IHJlY3RhbmdsZSBpcyBlbXB0eS4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUlnbm9yZSBTT0xfU09DS0VUL1NPX0RFQlVHIHNldHNvY2tvcHQoKSBjYWxscy4KKworCSogZmlsZXMvcHJvZmlsZS5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVJlbW92ZWQgc3RyYW5nZSBjaGVja2ogZm9yICFmaWxlbmFtZSwgc28gd2UgZG9uJ3QgZ2V0IHNlY3Rpb24gTlVMTAorCWFjY2Vzc2VzIGxhdGVyLgorCisJKiBsb2FkZXIvcGVfaW1hZ2UuYzoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCVJlcGxhY2VkIHVfY2hhci91X3Nob3J0L3VfbG9uZyBieSBCWVRFL1dPUkQvRFdPUkQgZm9yIGluY3JlYXNlZCBwb3J0YWJpbGl0eS4KKworCSogZGxscy9jb21jdGwzMi91cGRvd24uYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCUNvcnJlY3RlZCBkZWZhdWx0IHZhbHVlcyB3aXRoIGhlbHAgZnJvbSBVbHJpY2ggQ3pla2FsbGEuCisKKwkqIGRsbHMvY3J0ZGxsL2NydGRsbC5zcGVjLCBkbGxzL2tlcm5lbC9rZXJuZWwuc3BlYywgZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9udGRsbC9udGRsbC5zcGVjLCB0b29scy93aW5lYnVpbGQvUkVBRE1FLCB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL3BhcnNlci5jLCB0b29scy93aW5lYnVpbGQvc3BlYzE2LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlBZGRlZCBlbnRyeSBwb2ludCBmbGFncyAtbm9pbXBvcnQsIC1ub3JlbGF5LCAtcmV0NjQgYW5kIC1pMzg2LgorCVJlcGxhY2VkICdieXRlJywgJ3dvcmQnIGFuZCAnbG9uZycgYnkgJ3ZhcmlhYmxlJyBhbmQgbWFkZSBpdCB3b3JrIGZvcgorCVdpbjMyIHRvby4KKwlNYWRlIHBhcnNlciBtb3JlIHJvYnVzdCBhZ2FpbnN0IHRydW5jYXRlZCBmaWxlcy4KKworCSogaW5jbHVkZS9jZHJvbS5oLCBpbmNsdWRlL2VsZmRsbC5oLCB3aW5kb3dzL3gxMWRydi93aW5lY2xpcHNydi5jLCBkbGxzL2RkcmF3L3gxMV9wcml2YXRlLmgsIGRsbHMvd2lubW0vd2luZW9zcy9vc3MuaDoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCU1ha2Ugc3VyZSBhbGwgZmlsZXMgdXNpbmcgY29uZmlnLmggY29uc3RhbnRzIGFjdHVhbGx5ICNpbmNsdWRlICJjb25maWcuaCIKKworCSogZGxscy9vbGUzMi9vbGUzMl9tYWluLmMsIGRsbHMvZGNpbWFuMzIvZGNpbWFuX21haW4uYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlGaXhlZCBzb21lIGlzc3VlcyBmb3VuZCBieSB3aW5hcGlfY2hlY2suCisKKwkqIHRvb2xzL3dpbmFwaV9jaGVjay9tb2R1bGVzLmRhdCwgdG9vbHMvd2luYXBpX2NoZWNrL25hdGl2ZWFwaS5kYXQsIHRvb2xzL3dpbmFwaV9jaGVjay93aW4xNi9hdmlmaWxlLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL2RjaW1hbjMyLmFwaToKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlNaW5vciBBUEkgZmlsZXMgdXBkYXRlLgorCisJKiB0b29scy93aW5lYnVpbGQvaW1wb3J0LmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJVGhlIF9fd2luZV9jYWxsX2Zyb21fMTZfIGNhbGxzIGluIHRoZSBpbXBvcnQgdGFibGUgc2hvdWxkIHVzZSBhIHZhbGlkCisJc2VnbWVudCBmb3IgZGVyZWZlcmVuY2luZyB0aGVpciBwb2ludGVyICh1c2luZyBDUykuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBkbGxzL2ljbXAvaWNtcF9tYWluLmMsIGRsbHMvd2luaW5ldC91dGlsaXR5LmMsIGRsbHMvd2luc29jay9hc3luYy5jLCBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGluY2x1ZGUvY29uZmlnLmguaW4sIGluY2x1ZGUvd2luc29jay5oOgorCUhpZGVub3JpIFRha2VzaGltYSA8aGlkZW5vcmlAYTIuY3RrdHYubmUuanA+CisJQWRkZWQgY2hlY2tpbmcgZm9yIG5ldGRiLmguCisJRG9uJ3QgaW5jbHVkZSBhcnBhL2luZXQuaCBhbmQgc3lzL3NvY2tldC5oIGlmIHN5c3RlbSBkb2Vzbid0IGhhdmUgdGhlc2UgaGVhZGVycy4KKworCSogaW5jbHVkZS94MTFkcnYuaCwgZ3JhcGhpY3MveDExZHJ2L2RpYi5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJRG8gbm90IGNvbXBpbGUgY29kZSB0aGF0IG1ha2VzIHVzZSBvZiB0aGUgWCBTaG0gZXh0ZW5zaW9uLgorCisyMDAwLTExLTI1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9kZWJ1Z2dlci5jLCBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jLCBpbmNsdWRlL3dpbm50Lmg6CisJTW92ZWQgR0VUX0lQIG91dCBvZiB3aW5udC5oLgorCisJKiBwcm9ncmFtcy9wcm9nbWFuL0NoYW5nZUxvZywgcHJvZ3JhbXMvcHJvZ21hbi9SdS5yYywgcHJvZ3JhbXMvcHJvZ21hbi9kaWFsb2cuYywgcHJvZ3JhbXMvcHJvZ21hbi9yc3JjLnJjOgorCVZhc2lseSBJLiBWb2xjaGVua28gPEZvb2RUZWNobm9sb2dpc3RAcGlzZW0ubmV0PgorCUFkZGVkIFJ1c3NpYW4gbGFuZ3VhZ2Ugc3VwcG9ydC4KKwlGaXhlZCBidWcgb2YgZmlsZSBicm93c2luZyBvcGVyYXRpb24gKGZpbGVwYXRoIGxlbmd0aCBjb3JyZWN0ZWQpLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgaW5jbHVkZS9jb25maWcuaC5pbiwgdG9vbHMvYmluMnJlcy5jLCB0b29scy93aW5lYnVpbGQvcmVzMTYuYywgdG9vbHMvd2luZWJ1aWxkL3JlczMyLmM6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlBZGRlZCBjaGVja2luZyBmb3IgbW1hcC4KKworCSogdG9vbHMvd3JjL3V0aWxzLmM6CisJQWRkZWQgYSBmZXcgbWlzc2luZyBsYW5ndWFnZXMuCisKKwkqIGRsbHMva2VybmVsL2xvY2FsZV9yYy5yYywgZGxscy9rZXJuZWwvbmxzL2hrZy5ubHMsIGRsbHMva2VybmVsL25scy9wcmMubmxzLCBkbGxzL2tlcm5lbC9ubHMvc2dwLm5sczoKKwlOZXJpanVzIEJhbGl1bmFzIDxuZXJpanVzQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKwlBZGRlZCBtaXNzaW5nIGxvY2FsZXMgdG8gbG9jYWxlX3JjLnJjLgorCisJKiBncmFwaGljcy94MTFkcnYvZGliLmM6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJTWFkZSBYMTFEUlZfRElCX0dldEltYWdlQml0c18xNiBhd2FyZSBvZiA1NjUgRElCcy4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmMsIGluY2x1ZGUvd2luZS9vYmpfb2xlYXV0Lmg6CisJRnJhbmNvaXMgSmFjcXVlcyA8ZnJhbmNvaXNqQG1hY2FkYW1pYW4uY29tPgorCS0gc3VwcG9ydCBmb3IgYXJndW1lbnRzIHdpdGggcmVmZXJlbmNlZCB0eXBlcworCS0gaW1wb3J0ZWQgdHlwZSBsaWJyYXJpZXMKKwktIGRpc3BpbnRlcmZhY2VzCisJLSBkdWFsIGludGVyZmFjZXMKKwktIHJlZiBjb3VudCBwcm9ibGVtcworCS0gbWVtb3J5IGxlYWtzIGZpeGVkCisKKwkqIGRsbHMvY3J0ZGxsL2NydGRsbF9tYWluLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJZ2xpYmMyLjIgbmVlZHMgX19VU0VfSVNPQzk5IGZvciBGUF9OQU4gYW5kIGlzZmluaXRlKCkuCisKKwkqIHdpbjMyL2NvbnNvbGUuYywgaW5jbHVkZS93aW5jb24uaCwgZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYzoKKwlGaXhlZCBHZXRMYXJnZXN0Q29uc29sZVdpbmRvd1NpemUgcmV0dXJuIHR5cGUgZm9yIFdpbmVsaWIgYXBwcy4KKworCSogZGxscy9vbGUzMi9vbGUzMi5zcGVjLCBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjLCBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjLCBkbGxzL3NobHdhcGkvc3RyaW5nLmMsIGRsbHMvd2luMzJzL3czMnNrcm5sLnNwZWM6CisJQWRkZWQgYSBmZXcgZm9yd2FyZHMuCisKKwkqIGRsbHMvdXNlci9taXNjLmMsIGRsbHMvdXNlci91c2VyMzIuc3BlYzoKKwlGaXhlZCB0eXBvcy4KKworCSogaW5jbHVkZS9iaXRtYXAuaCwgaW5jbHVkZS94MTFkcnYuaCwgb2JqZWN0cy9kaWIuYywgZGxscy90dHlkcnYvYml0bWFwLmMsIGRsbHMvdHR5ZHJ2L2RjLmMsIGRsbHMvdHR5ZHJ2L3R0eWRydi5oLCBncmFwaGljcy94MTFkcnYvZGliLmMsIGdyYXBoaWNzL3gxMWRydi9pbml0LmM6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJSW1wbGVtZW50ZWQgR2V0L1NldERJQkNvbG9yVGFibGUuCisKKwkqIGRsbHMva2VybmVsL25scy9sdGgubmxzLCBkbGxzL2tlcm5lbC9ubHMvbHZpLm5sczoKKwlOZXJpanVzIEJhbGl1bmFzIDxuZXJpanVzQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKwlDb21wbGV0ZWQgbHZpLm5scyBhbmQgbHRoLm5scy4KKworCSogd2luZG93cy9tZXNzYWdlLmM6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJQ2hlY2sgd2hldGhlciBzZW5kZXJRIGlzIE5VTEwgYmVmb3JlIHRyeWluZyB0byBsb2NrIGl0LgorCisJKiBkbGxzL2NydGRsbC9jcnRkbGwuaCwgZGxscy9jcnRkbGwvY3J0ZGxsLnNwZWMsIGRsbHMvY3J0ZGxsL2NydGRsbF9tYWluLmMsIGRsbHMvY3J0ZGxsL2ZpbGUuYywgZGxscy9jcnRkbGwvc3RyaW5nLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwktIEZpeCBjdHlwZSgpLCBtYWtlIGlzKiBmdW5jdGlvbnMgYmluYXJ5IGNvbXBhdGlibGUKKwktIEFkZCAxMyBmdW5jdGlvbnMsIHNldCBlcnJubyBpbiBtYXRoIGNhbGxzCisKKwkqIGRsbHMvd2luaW5ldC9mdHAuYywgaWYxNjMyL3JlbGF5LmMsIHdpbmRvd3MvdXNlci5jLCBkbGxzL2RpbnB1dC9qb3lzdGljay9saW51eC5jLCBkbGxzL250ZGxsL2RlYnVndG9vbHMuYywgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYywgZGxscy9zZXR1cGFwaS9zZXR1cGFwaS5zcGVjLCBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnLmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJRml4ZWQgc29tZSBpc3N1ZXMgZm91bmQgYnkgd2luYXBpX2NoZWNrLgorCisJKiB0b29scy93aW5hcGlfY2hlY2svbW9kdWxlcy5kYXQsIHRvb2xzL3dpbmFwaV9jaGVjay9uYXRpdmVhcGkuZGF0LCB0b29scy93aW5hcGlfY2hlY2svd2luMzIvY3J0ZGxsLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL2tlcm5lbDMyLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL250ZGxsLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3JwY3J0NC5hcGksIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9zZXR1cGFwaS5hcGksIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi91cmxtb24uYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luMzIvdXNlcjMyLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9jaGVjazoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlNaW5vciBBUEkgZmlsZXMgdXBkYXRlLgorCisJKiBpbmNsdWRlL2NvbWNhdC5oLCBpbmNsdWRlL3JwYy5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJSW5jbHVkZSB0aGUgc2FtZSBoZWFkZXJzIGFzIG9uIFdpbmRvd3MuCisKKwkqIGRsbHMvb2xlMzIvY29tcG9iai5jLCBkbGxzL29sZTMyL2NvbXBvYmpfcHJpdmF0ZS5oLCBkbGxzL29sZTMyL2ZpbGVtb25pa2VyLmMsIGRsbHMvb2xlMzIvbW9uaWtlci5jLCBpbmNsdWRlL2NvbXBvYmouaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCWNvbXBvYmouaCBpcyBhIHN5bm9ueW0gZm9yIG9iamJhc2UuaAorCU1vdmVkIGFsbCB0aGUgb3RoZXIgY29udGVudHMgdG8gZGxscy9vbGUzMi9jb21wb2JqX3ByaXZhdGUuaAorCisJKiBkbGxzL2NvbWN0bDMyL2hlYWRlci5jOgorCUVyaWMgS29obCA8ZWtvaGxAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIG5vdGlmaWNhdGlvbiBmb3JtYXQgaGFuZGxpbmcuCisKKwkqIGNvbnRyb2xzL2xpc3Rib3guYywgZGxscy91c2VyL3VzZXIuc3BlYywgZGxscy91c2VyL3VzZXIzMi5zcGVjOgorCU92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCUltcGxlbWVudGVkIFdpbjE2IGJlaGF2aW91ciBvZiBERExfRFJJVkVTIGluIERsZ0Rpckxpc3QuCisKKwkqIHdpbmRvd3MveDExZHJ2L2tleWJvYXJkLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZHRpbW9zaGtvdkBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgVG9Vbmljb2RlIFRSQUNFIG1lc3NhZ2UuCisKKwkqIGRsbHMvY3J0ZGxsL2NydGRsbC5oLCBkbGxzL2NydGRsbC9jcnRkbGwuc3BlYywgZGxscy9jcnRkbGwvY3J0ZGxsX21haW4uYywgZGxscy9jcnRkbGwvZmlsZS5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJLSBBZGQgbWF0aCBjYWxsczogc2NhbGIsIGZwY2xhc3MsIG5leHRhZnRlciwgbG9nYiwgX0NJKgorCS0gQWRkIGZ1dGltZSwgdXRpbWUsIHB1cmVjYWxsLCBnZXRwaWQKKworCSogZGxscy9udGRsbC9taXNjLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlOVERMTF9fQ0lwb3cgcmV0dXJucyBkb3VibGUsIG5vdCBMT05HLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzoKKwlTdGVwaGFuZSBMdXNzaWVyIDxzdGVwaGFuZUBtYWNhZGFtaWFuLmNvbT4KKwktIFJlYWQgYWxsIHRoZSBmcmFnbWVudHMgYXZhaWxhYmxlLCBub3Qgb25seSBvbmUgZnJhZ21lbnQgYmVmb3JlCisJICBnb2luZyBiYWNrIHRvIHNsZWVwLgorCS0gVXNlIFNORENUTF9EU1BfU0VUVFJJR0dFUiBpb2N0bCBjb21tYW5kIHRvIHRyaWdnZXIgdGhlIHN0YXJ0IHRoZQorCSAgcmVjb3JkaW5nLiBJZiB0aGlzIGNvbW1hbmQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgZGV2aWNlLCByZWFkIDQKKwkgIGJ5dGVzIGluIHRoZSBzb3VuZCBkZXZpY2UgaW5zdGVhZC4KKworCSogd2luZG93cy9kaWFsb2cuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkdGltb3Noa292QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc3VwcG9ydCBmb3IgbmF0aW9uYWwgY2hhcmFjdGVycyBhcyBhY2NlbGVyYXRvcnMgaW4gZGlhbG9ncy4KKworCSogd2luZG93cy9tZXNzYWdlLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZHRpbW9zaGtvdkBjb2Rld2VhdmVycy5jb20+CisJQWx3YXlzIGdlbmVyYXRlIHVuaWNvZGUgQ0hBUiBtZXNzYWdlcy4KKworCSogZGxscy9vbGUzMi9oZ2xvYmFsc3RyZWFtLmMsIGRsbHMvb2xlMzIvc3RnX2JpZ2Jsb2NrZmlsZS5jOgorCUZpeGVkIHdhcm5pbmdzLgorCisJKiBzY2hlZHVsZXIvcHJvY2Vzcy5jLCB3aW5kb3dzL2N1cnNvcmljb24uYywgd2luZG93cy9kcml2ZXIuYywgZGVidWdnZXIvd2luZWRiZy5jLCBkbGxzL29sZTMyL2lmcy5jLCBtc2Rvcy9kb3NtZW0uYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb3NtZXRpY3MuCisKKwkqIGluY2x1ZGUvd2luZS93aW5nZGkxNi5oOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIEdkaVNlZUdkaURvMTYuCisKKwkqIGluY2x1ZGUvd2lubnQuaDoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmVkIGRvdWJsZSBBTllTSVpFX0FSUkFZIGRlZmluZS4KKworCSogdG9vbHMvd2luZW1ha2VyOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJV2hlbiBhdXRvZGV0ZWN0ZWQgdGhlIE1GQyB3ZXJlIHN0aWxsIGdlbmVyYXRpbmcgd3JhcHBlcnMuCisJRml4ZWQgaW5jb25zaXN0ZW5jaWVzIGluIHRoZSB1c2Ugb2YgJ25vJyBpbiB0aGUgb3B0aW9uIG5hbWVzLgorCVVwZGF0ZWQgdGhlIE1GQyBsaW5rLWxpc3QgKGNvbmZpZ3VyZS5pbikuCisJTWFkZSB0aGUgTWFrZWZpbGUuaW4gbGF5b3V0IG1vcmUgcmVhZGFibGUuCisKKwkqIGRsbHMvY29tY3RsMzIvdXBkb3duLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZGltaUBjcy50b3JvbnRvLmVkdT4KKwlVcGRhdGUgY29tbWVudHMsIGNsZWFudXAgd2FybmluZyBtZXNzYWdlcy4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jLCBtZW1vcnkvc2VsZWN0b3IuYywgbXNkb3MvZHBtaS5jLCBtc2Rvcy9pbnQxMS5jLCByZWxheTMyL3JlbGF5Mzg2LmMsIHNjaGVkdWxlci9jcml0c2VjdGlvbi5jLCBzZXJ2ZXIvdHJhY2UuYywgZGxscy9udGRsbC9leGNlcHRpb24uYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCUluY2x1ZGUgY29uZmlnLmggaW4gZmlsZXMgdGhhdCB0ZXN0IGZvciBjb25zdGFudHMgZGVmaW5lZCBpbiBpdC4KKworCSogZGxscy9rZXJuZWwvY29tbS5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJQXZvaWQgdXNpbmcgVElPQ01fKiBjb25zdGFudHMgaWYgbm90IGF2YWlsYWJsZS4KKworCSogaW5jbHVkZS93aW5lL29ial9iYXNlLmg6CisJRGltaXRyaWUgTy4gUGF1biA8ZGltaUBjcy50b3JvbnRvLmVkdT4KKwlGaXhlZCB0eXBvIGluIG1hY3JvIElDT01fTUVUSE9EMTEgcGFyYW1ldGVyIGxpc3QuCisKKwkqIGRsbHMvaW1hZ2VobHAvbW9kaWZ5LmM6CisJRXJpYyBLb2hsIDxla29obEBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50ZWQgUEUgZmlsZSBjaGVja3N1bSBjYWxjdWxhdGlvbi4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMi5oLCBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmMsIGRsbHMvY29tY3RsMzIvdGFiLmMsIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOgorCUVyaWMgS29obCA8ZWtvaGxAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZWQgY2FsbHMgdG8gaW50ZXJuYWwgKG5vbi1leHBvcnRlZCkgd2luZSBmdW5jdGlvbnMuCisKKwkqIGRsbHMva2VybmVsL2xvY2FsZV9yYy5yYzoKKwlBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIHRoZSB0dXJraXNoIGxvY2FsZS4KKworCSogd2luZG93cy94MTFkcnYvY2xpcGJvYXJkLmM6CisJVWxyaWNoIEN6ZWthbGxhIDx1Y3pla2FsbGFAY29kZXdlYXZlcnMuY29tPgorCUFsbG93IGZvciB6ZXJvLWxlbmd0aCBzdHJpbmcgc2VsZWN0aW9ucy4KKworCSogZGxscy9jb21jdGwzMi9oZWFkZXIuYzoKKwlVbHJpY2ggQ3pla2FsbGEgPHVjemVrYWxsYUBjb2Rld2VhdmVycy5jb20+CisJU2VuZCBIRE5fSVRFTUNIQU5HSU5HIGFuZCBIRE5fSVRFTUNIQU5HRUQgd2hlbiByZXNpemluZy4KKworCSogb2xlL29sZTJubHMuYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb21wYXJlU3RyaW5nVyByZXR1cm5lZCB3cm9uZyByZXN1bHRzIHNvbWV0aW1lcy4KKworCSogb2xlL01ha2VmaWxlLmluOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJV2Ugbm8gbG9uZ2VyIGhhdmUgYW4gb2xlL25scyBkaXJlY3RvcnkuCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9yZWcuYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlBZGRlZCBzb21lIG9yZGluYWwgc3R1YnMsIGltcGxlbWVudGVkIFNIRGVsZXRlVmFsdWUqLCBTSFNldFZhbHVlKi4KKworCSogd2luZG93cy9tZXNzYWdlLmM6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJSW1wbGVtZW50ZWQgU2VuZE5vdGlmeU1lc3NhZ2UoKS4KKworCSogdG9vbHMvd2luZWluc3RhbGw6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJTWFkZSB3aW5laW5zdGFsbCBhIGJpdCBtb3JlIHZlcmJvc2UuCisKKwkqIGRsbHMvZ2RpL3dpbmcuYzogT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJV2luRyB3YXMgd3JpdHRlbiBmb3IgOGJwcCBESUJzLCBzbyBzb21lIGFwcHMgYXNzdW1lIHRoYXQsIHNvIGFsd2F5cworCXJlY29tbWVuZCA4YnBwLCByZWdhcmRsZXNzIG9mIHRoZSBhY3R1YWwgZGlzcGxheSBkZXB0aC4KKworCSogZ3JhcGhpY3MvcGFpbnRpbmcuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlHZXRQaXhlbCBuZWVkcyB0byByZXR1cm4gQ0xSX0lOVkFMSUQgaWYgbm90IGluc2lkZSBjbGlwcGluZyByZWdpb24uCisKKwkqIGRsbHMvb2xlMzIvb2xlMzIuc3BlYywgZGxscy9vbGUzMi9vbGUzMl9tYWluLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJQWRkZWQgT0xFMzIuRGxsUmVnaXN0ZXJTZXJ2ZXIgc3R1Yi4KKworCSogZGxscy9hdmlmaWwzMi9hdmlmaWxlLnNwZWM6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJUm91dGVkIGEgY291cGxlIG9mIDE2LWJpdCBhdmlmaWxlLmRsbCBoYW5kbGVycyB0byB0aGUgMzItYml0CisJaGFuZGxlcnMuLi4gd2VsbCwgd29ya3MgZm9yIENpdmlsaXphdGlvbiBJSS4KKworCSogZGxscy9udGRsbC9udGRsbC5zcGVjOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUFkZGVkIHBvdygpIGZvcndhcmQuCisKKwkqIHJlbGF5MzIvc25vb3AuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlEb24ndCB0ZXN0ICFISVdPUkQgdmFsdWVzIGZvciBwb2ludGVybmVzcy4KKworCSogaW5jbHVkZS93aW5kZWYuaDoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCUZpeGVkIGNvbXBpbGF0aW9uIHdhcm5pbmcgb24gQ3lnd2luLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlNdWx0aUJ5dGVUb1dpZGVDaGFyKCkgcmV0dXJucyBjaGFyYWN0ZXJzLCBub3QgYnl0ZXMuCisKKwkqIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jOgorCUZyYW5jb2lzIEphY3F1ZXMgPGZyYW5jb2lzakBtYWNhZGFtaWFuLmNvbT4KKwlJbXBsZW1lbnRlZCBWVF9FTVBUWSB0byBWVF9CU1RSIHR5cGUgY29lcmNpb24uCisKKwkqIGluY2x1ZGUvb2xlMi5oLCBpbmNsdWRlL29sZWF1dG8uaDoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlBZGRlZCBwcm90b3R5cGVzIGZvciBPbGV7RyxTfWV0QXV0b0NvbnZlcnQsIExIYXNoVmFsT2ZOYW1lU3lzeyxBfS4KKworCSogZGxscy9rZXJuZWwvZm9ybWF0X21zZy5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUhhbmRsZSAlbHMgc2FtZSBhcyAlcy4KKworCSogZGxscy9kY2ltYW4zMi9kY2ltYW5fbWFpbi5jLCBkbGxzL2RjaW1hbjMyL2RjaW1hbjMyLnNwZWM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJQWRkZWQgc3R1YiBmb3IgRENJT3BlblByb3ZpZGVyLgorCisyMDAwLTExLTE2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2ltYWdlaGxwL01ha2VmaWxlLmluLCBkbGxzL21zYWNtL01ha2VmaWxlLmluLCBkbGxzL21zYWNtL21zYWNtMzIuc3BlYywgZGxscy9vbGVhdXQzMi9vbGVhdXQzMi5zcGVjLCBkbGxzL29sZWNsaS9NYWtlZmlsZS5pbiwgZGxscy9vbGVjbGkvb2xlY2xpMzIuc3BlYywgZGxscy9vbGVzdnIvTWFrZWZpbGUuaW4sIGRsbHMvb2xlc3ZyL29sZXN2cjMyLnNwZWMsIGRsbHMvcmFzYXBpMzIvTWFrZWZpbGUuaW4sIGRsbHMvcmFzYXBpMzIvcmFzYXBpMzIuc3BlYywgZGxscy92ZXJzaW9uL01ha2VmaWxlLmluLCBkbGxzL3dpbmluZXQvTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vbWNpc2VxL01ha2VmaWxlLmluLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2F2aWZpbDMyL01ha2VmaWxlLmluLCBkbGxzL2RwbGF5eC9NYWtlZmlsZS5pbjoKKwlBdm9pZCBsaW5raW5nIHdpdGggbnRkbGwgd2hlcmUgcG9zc2libGUuCisKKwkqIGRsbHMvY3J0ZGxsL2NydGRsbC5zcGVjLCBkbGxzL2NydGRsbC9jcnRkbGxfbWFpbi5jLCBkbGxzL2NydGRsbC9kaXIuYywgZGxscy9jcnRkbGwvZmlsZS5jLCBkbGxzL2NydGRsbC9zcGF3bi5jOgorCVJlbW92ZWQgY2FsbHMgdG8gV2luZSBpbnRlcm5hbCBmdW5jdGlvbnMuCisKKwkqIGRsbHMvZHBsYXl4L2RwbGF5LmMsIGRsbHMvZHBsYXl4L2RwbGF5eF9nbG9iYWwuYywgZGxscy9kcGxheXgvZHBsb2JieS5jLCBkbGxzL2RwbGF5eC9uYW1lX3NlcnZlci5jLCBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjLCBkbGxzL3NobHdhcGkvc3RyaW5nLmMsIGRsbHMvdmVyc2lvbi9pbmZvLmMsIGRsbHMvdmVyc2lvbi9pbnN0YWxsLmMsIGRsbHMvdmVyc2lvbi9yZXNvdXJjZS5jLCBkbGxzL3dpbmluZXQvZnRwLmMsIGRsbHMvd2luaW5ldC9odHRwLmMsIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jOgorCVJlcGxhY2VkIEhFQVBfc3RyZHVwKiBhbmQgbHN0cmNweW5BdG9XIGNhbGxzIGJ5IGV4cG9ydGVkIGZ1bmN0aW9ucy4KKworMjAwMC0xMS0xNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogb2JqZWN0cy9nZGlvYmouYywgc2NoZWR1bGVyL3Byb2Nlc3MuYywgc2NoZWR1bGVyL3N5bmNocm8uYywgc2NoZWR1bGVyL3N5c2xldmVsLmMsIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jLCB3aW5kb3dzL3F1ZXVlLmMsIHdpbmRvd3Mvd2luLmMsIHdpbmRvd3Mvd2luaGVscC5jLCBpbmNsdWRlL3dpbmUvd2luYmFzZTE2LmgsIGluY2x1ZGUvd2luZS93aW5kZWYxNi5oLCBsb2FkZXIvbW9kdWxlLmMsIGxvYWRlci9uZS9tb2R1bGUuYywgbG9hZGVyL3Rhc2suYywgZGxscy9rZXJuZWwva2VybmVsLnNwZWMsIGRsbHMva2VybmVsL3N5bmMuYywgZGxscy9rZXJuZWwvdGh1bmsuYywgZGxscy9rZXJuZWwvd293dGh1bmsuYywgZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jLCBkbGxzL3VzZXIvdXNlcl9tYWluLmMsIGRsbHMvd2luMzJzL3czMnNrZXJuZWwuYywgZGxscy93aW4zMnMvd2luMzJzMTYuYywgZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL3dpbm1tL3RpbWUuYywgZmlsZXMvZG9zX2ZzLmMsIGluY2x1ZGUvaGVhcC5oLCBpbmNsdWRlL3N5c2xldmVsLmgsIGluY2x1ZGUvd2luLmgsIGluY2x1ZGUvd2luYmFzZS5oLCBpbmNsdWRlL3dpbmRlZi5oLCBpbmNsdWRlL3dpbnNvY2suaDoKKwlNb3ZlZCBzdGFuZGFyZCBzeXNsZXZlbCBBUElzIGRlY2xhcmF0aW9uIHRvIHdpbmJhc2UuaC4KKwlVc2UgZXhwb3J0ZWQgc3lzbGV2ZWwgZnVuY3Rpb24gd2hlcmV2ZXIgcG9zc2libGUuCisJTW92ZWQgU0VHUFRSIGRlY2xhcmF0aW9uIHRvIHdpbmRlZjE2LmguCisKKwkqIGluY2x1ZGUvd2lucHJvYy5oLCB3aW5kb3dzL21lc3NhZ2UuYywgd2luZG93cy93aW5wcm9jLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZHRpbW9zaGtvdkBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgbWFwcGluZyB0by9mcm9tIHVuaWNvZGUgZm9yIFdNX0NIQVIsIFdNX0RFQURDSEFSLCBXTV9TWVNDSEFSLAorCVdNX1NZU0RFQURDSEFSIG1lc3NhZ2VzLgorCisJKiB0b29scy93aW5lYnVpbGQvbWFpbi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFsbG93IHRoZSB1c2VyIHRvIHN0aWNrIHRoZSBvcHRpb24gYW5kIGl0cyBhcmd1bWVudCB0b2dldGhlci4KKworCSogZGxscy9jcnRkbGwvY3J0ZGxsLmgsIGRsbHMvY3J0ZGxsL2NydGRsbC5zcGVjLCBkbGxzL2NydGRsbC9jcnRkbGxfbWFpbi5jLCBkbGxzL2NydGRsbC9maWxlLmMsIGRsbHMvY3J0ZGxsL21lbW9yeS5jLCBkbGxzL2NydGRsbC9zdHJpbmcuYywgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL2NydGRsbC5hcGk6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwktIENvbXBsZXRlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBoZWFwIGZ1bmN0aW9ucworCS0gRm9yd2FyZCBqMCxqMSxqbix5MCx5MSx5biBtYXRoIGNhbGxzIHRvIGxpYmMKKwktIEFkZCBzdHJuZXh0YywgcGFzcyB0ZXh0IGZsYWcgaW4gY3JlYXQsIHdpbmFwaV9jaGVjayBmaXhlcworCisJKiBjb250cm9scy93aWRnZXRzLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZHRpbW9zaGtvdkBjb2Rld2VhdmVycy5jb20+CisJUHJlcGFyZSBzd2l0Y2hpbmcgdG8gdW5pY29kZSBvZiBidWlsdGluIHdpZGdldHMuCisKKwkqIGluY2x1ZGUvd2luZS9vYmpfYmFzZS5oOgorCUphbWVzIEhhdGhld2F5IDxqYW1lc0BtYWNhZGFtaWFuLmNvbT4KKwlJbmNyZWFzZSBudW1iZXIgb2YgcGFyYW1ldGVycyBwb3NzaWJsZSBmb3IgSUNPTV8qIG1hY3JvcyB0byAxMS4KKworCSogZGVidWdnZXIvc3RhYnMuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkdGltb3Noa292QGNvZGV3ZWF2ZXJzLmNvbT4KKwlTa2lwIGRpcmVjdG9yaWVzIHdoZW4gbG9hZGluZyBkZWJ1ZyBzeW1ib2xzLgorCisJKiBkZWJ1Z2dlci9kZWJ1Z2dlci5oLCBkZWJ1Z2dlci9oYXNoLmMsIGRlYnVnZ2VyL21vZHVsZS5jLCBkZWJ1Z2dlci9tc2MuYywgZGVidWdnZXIvc3RhYnMuYywgZGVidWdnZXIvd2luZWRiZy5jOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCUltcHJvdmVkIGludGVybmFsIG1vZHVsZSBoYW5kbGluZyAobW9kdWxlIG5vdyBoYXZlIGEgc2l6ZSwgbWFwIG9mCisJbG9hZGVkIG1vZHVsZSBpcyBjbGVhcmVyLCBiZXR0ZXIgZXJyb3IgcmVwb3J0aW5nLCBzZXBlcmF0ZWQgbW9kdWxlCisJbG9hZGluZyBjb2RlIGZyb20gc3ltYm9sIGV4dHJhY3Rpb24pLgorCisJKiBkbGxzL2NvbW1kbGcvZmluZGRsZy5jLCBkbGxzL2NvbW1kbGcvZm9udGRsZy5jLCBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuYywgZGxscy9jb21jdGwzMi9tb250aGNhbC5jLCBkbGxzL2NvbWN0bDMyL3JlYmFyLmMsIGRsbHMvY29tbWRsZy9jb2xvcmRsZy5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGR0aW1vc2hrb3ZAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZSByZWR1bmRhbnQgaW5jbHVkZXMuCisJRWxpbWluYXRlIHVzZSBvZiBVU0VSIGludGVybmFsIHN0cnVjdHVyZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvdGFiLmM6CisJRXJpYyBLb2hsIDxla29obEBjb2Rld2VhdmVycy5jb20+CisJVXNlIGludGVybmFsIHVuaWNvZGUgc3RyaW5ncy4KKwlBZGRlZCB1bmljb2RlIG1lc3NhZ2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLmgsIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jOgorCUVyaWMgS29obCA8ZWtvaGxAY29kZXdlYXZlcnMuY29tPgorCU5ldyB1bmljb2RlIHN1cHBvcnQgZnVuY3Rpb25zLgorCisJKiB0b29scy93aW5lYnVpbGQvc3BlYzE2LmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZGltaUBjcy50b3JvbnRvLmVkdT4KKwlJbmNsdWRlIGNvbmZpZy5oLgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlTaW1wbGlmaWVkIHJlZyBoYW5kbGluZyBpbiBDb0dldENsYXNzT2JqZWN0LCBkbyBub3QgdXNlIFJlZ1F1ZXJ5VmFsdWVXLgorCisJKiBtaXNjL3JlZ2lzdHJ5LmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJUmVnU2V0VmFsdWVFeDE2IG1pZ2h0IGdldCBwYXNzZWQgMCBhcyBjb3VudCBvZiBkYXRhYnl0ZXMsIGRldGVybWluZQorCXN0cmluZyBsZW5ndGggZm9yIG91cnNlbHZlcyBpbiB0aGlzIGNhc2UuCisKKwkqIGluY2x1ZGUvb2JqYmFzZS5oLCBpbmNsdWRlL3Vua253bi5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJTWF0Y2ggdGhlIFdpbmRvd3MgaGVhZGVyIGRlcGVuZGVuY2llcy4KKworCSogd2luZG93cy9zeXNtZXRyaWNzLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlTTV9BUlJBTkdFIGlzIEFSV19ISURFLCBpLmUuIDgKKworCSogdG9vbHMvd2luZW1ha2VyOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRGlzdGluZ3Vpc2ggYmV0d2VlbiBJTVBPUlRTIGFuZCBMSUJSQVJJRVMuCisJUmVuYW1lZCBMSUJSQVJJRVMgdG8gRExMUyB0byBhdm9pZCBjb25mdXNpb24gd2l0aCB0aGUgYWJvdmUsIHJlbmFtZWQKKwlQUk9HUkFNUyB0byBFWEVTIHRvIG1hdGNoLgorCUFkZGVkIGEgJy1pJyBvcHRpb24gZm9yIGltcG9ydGluZyBhIFdpbmVsaWIgbGlicmFyeS4gJy1sJyBpcyBzdGlsbAorCXRoZXJlIGJ1dCBpcyBvbmx5IHVzZWQgZm9yIGxpbmtpbmcgaW4gdGhlIFVuaXggc2Vuc2UuCisJRGlzYWJsZWQgdGhlICd3cmFwcGVyJyBvcHRpb25zLiBJdCB3aWxsIGJlIHJlbW92ZWQgYXMgYSBzZXBhcmF0ZQorCXBhdGNoLgorCU5vIGxvbmdlciBsaW5rIHdpdGggYWxsIG9mIFdpbmUncyBsaWJyYXJpZXMuCisJSW1wb3J0IHRoZSBzYW1lIGRlZmF1bHQgc2V0IG9mIGRsbHMgYXMgVmlzdWFsIFN0dWRpby4KKwlBdm9pZCBkdXBsaWNhdGUgaW1wb3J0cyB3aGVuIGdlbmVyYXRpbmcgdGhlIC5zcGVjIGZpbGUuCisJVXBkYXRlZCB0aGUgd2F5IHdpbmVidWlsZCBpcyB1c2VkLgorCUxpbmsgYXBwbGljYXRpb25zIGFzIGxpYnJhcmllcyBhbmQgY3JlYXRlIGEgc3ltYm9saWMgbGluayB0byB3aW5lLgorCURldGVjdCB3aGVyZSAnd2luZScgaXMgbG9jYXRlZCBpbiB0aGUgY29uZmlndXJlIHNjcmlwdC4KKwlSZW1vdmVkIHVudXNlZC9ubyBsb25nZXIgdXNlZCB2YXJpYWJsZXM6IERMTEZMQUdTLCBYTElCLCBYX0RMTFMsCisJWEZJTEVTLCBETExTIChjb25maWd1cmUuaW4pCisJVXBkYXRlZCBMRFNIQVJFRCBBTkQgTERETExGTEFHUyBkZXRlY3Rpb24gKGNvbmZpZ3VyZS5pbikuCisJUmVtb3ZlZCB0aGUgcnVsZXMgcGVydGFpbmluZyB0byBzcGVjIGZpbGVzIGZyb20gdGhlIE1ha2UucnVsZXMuCisJVXBkYXRlZCB0aGUgY2xlYW4gY29tbWFuZCB0byByZW1vdmUgdGhlIHN5bWJvbGljIGxpbmtzLgorCisJKiBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlBZGRlZCBzb21lIHJwY3J0NCBzdHVicy4KKworCSogZGxscy94MTFkcnYveDExZHJ2X21haW4uYzoKKwlKZXJlbXkgV2hpdGUgPGp3aGl0ZUBjb2Rld2VhdmVycy5jb20+CisJQWxsb3cgZGVza3RvcD1OIGluIHRoZSBbeDExZHJ2XSBzZWN0aW9uIG9mIC53aW5lcmMsIGluc3RlYWQgb2YKKwlkZWZhdWx0aW5nIHRvIGRlc2t0b3A9NjQweDQ4MC4KKworMjAwMC0xMS0xNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvd2luZWJ1aWxkL3JlbGF5LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYywgbG9hZGVyL25lL21vZHVsZS5jLCBsb2FkZXIvbmUvcmVzb3VyY2UuYywgbG9hZGVyL25lL3NlZ21lbnQuYywgbWVtb3J5L01ha2VmaWxlLmluLCBtZW1vcnkvZW52aXJvbi5jLCBtZW1vcnkvZ2xvYmFsLmMsIG1lbW9yeS9oZWFwLmMsIG1lbW9yeS9pbnN0ci5jLCBtZW1vcnkvbGR0LmMsIG1lbW9yeS9zZWxlY3Rvci5jLCBtc2Rvcy9kb3NtZW0uYywgbXNkb3MvZHBtaS5jLCBtc2Rvcy92eGQuYywgb2JqZWN0cy9tZXRhZmlsZS5jLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzY2hlZHVsZXIvdGhyZWFkLmMsIHNlcnZlci9wcm9jZXNzLmMsIHNlcnZlci90aHJlYWQuYywgc2VydmVyL3RyYWNlLmMsIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmMsIGRsbHMva2VybmVsL3RodW5rLmMsIGRsbHMvd2lubW0vbW1zeXN0ZW0uYywgZ3JhcGhpY3MveDExZHJ2L2RpYi5jLCBpZjE2MzIvYnVpbHRpbi5jLCBpZjE2MzIvcmVsYXkuYywgaWYxNjMyL3Nub29wLmMsIGluY2x1ZGUvYnVpbHRpbjE2LmgsIGluY2x1ZGUvZ2xvYmFsLmgsIGluY2x1ZGUvbGR0LmgsIGluY2x1ZGUvc2VsZWN0b3JzLmgsIGluY2x1ZGUvc2VydmVyLmgsIGluY2x1ZGUvd2luZS9saWJyYXJ5LmgsIGxpYnJhcnkvTWFrZWZpbGUuaW4sIGxpYnJhcnkvbGR0LmMsIGxvYWRlci90YXNrLmM6CisJTW92ZWQgTERUIGhhbmRsaW5nIHRvIGxpYndpbmUuc28uIENoYW5nZWQgdGhlIGludGVyZmFjZSB0byB1c2UgdGhlCisJZXhwb3J0ZWQgTERUX0VOVFJZIHN0cnVjdHVyZS4KKworMjAwMC0xMS0xMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzIuc3BlYywgZGxscy9jb21jdGwzMi9jb21jdGwzMi5zcGVjLCBkbGxzL2NvbW1kbGcvY29tZGxnMzIuc3BlYzoKKwlUZW1wIGhhY2s6IGRvIG5vdCBpbXBvcnQgZGxscyB0aGF0IHdlIGxpbmsgd2l0aCBhdCB0aGUgRUxGIGxldmVsLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjOgorCUZpeGVkIGNvcHkvcGFzdGUgdHlwbyBzcG90dGVkIGJ5IERpbWl0cmllIE8uIFBhdW4uCisKKwkqIGRsbHMvY29tY3RsMzIvcmViYXIuYzoKKwlHdXkgTC4gQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCUltcGxlbWVudCBkcmFnZ2luZyBvbiBncmlwcGVyIHRvIGV4cGFuZCBhbmQgY29tcHJlc3MgYmFuZHMuIEFjdHVhbAorCW1vdmluZyBiYW5kcyB0byBkaWZmZXJlbnQgcm93cyB3aWxsIGJlIGxhdGVyLgorCisJKiBkbGxzL2tlcm5lbC9jb21tLmMsIGluY2x1ZGUvc2VydmVyLmgsIHNjaGVkdWxlci9zeW5jaHJvLmMsIHNlcnZlci9NYWtlZmlsZS5pbiwgc2VydmVyL2FzeW5jLmMsIHNlcnZlci9vYmplY3QuaCwgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3NlcmlhbC5jLCBzZXJ2ZXIvdHJhY2UuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAbG9va3NtYXJ0LmNvbS5hdT4KKwktIGNyZWF0ZWQgc2VydmVyIG9iamVjdCBmb3IgaGFuZGxpbmcgYXN5bmMgaS9vCisJLSBpbXBsZW1lbnRlZCBXYWl0Q29tbUV2ZW50IHdpdGggdGhlIEVWX1JYQ0hBUiBmbGFnCisJLSBpbXBsZW1lbnRlZCBHZXRPdmVybGFwcGVkUmVzdWx0CisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMva2VybmVsL3RodW5rLmMsIGlmMTYzMi9idWlsdGluLmMsIGlmMTYzMi9yZWxheS5jLCBpZjE2MzIvc25vb3AuYywgaW5jbHVkZS9idWlsdGluMTYuaCwgdG9vbHMvd2luZWJ1aWxkL3JlbGF5LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYywgd2luZG93cy93aW5wcm9jLmM6CisJRXhwb3J0IHRoZSBDYWxsRnJvbTE2eHh4IGZ1bmN0aW9ucyBmcm9tIGtlcm5lbDMyLiBSZW5hbWVkIHRoZW0KKwlfX3dpbmVfY2FsbF9mcm9tXzE2IHRvIGZvbGxvdyB0aGUgbmFtaW5nIGNvbnZlbnRpb24uCisKKwkqIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLCB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlEbyBub3Qgd2FybiBmb3IgdW51c2VkIGltcG9ydGVkIGRsbHMgd2hlbiBmb3J3YXJkcyB0byB0aGUgc2FtZSBkbGxzCisJYXJlIHByZXNlbnQuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlEb24ndCBpbmNsdWRlIHdpbmUgaW50ZXJuYWwgZnVuY3Rpb25zIGluIHRoZSByZWxheSBkZWJ1Z2dpbmcgdGFibGUuCisKKwkqIE1ha2UucnVsZXMuaW46CisJRG8gYSBzdHJpcCAtLXN0cmlwLXVubmVlZGVkIG9uIHRoZSAudG1wLm8gZmlsZSB0byByZWR1Y2UgZGlzayB1c2FnZS4KKworCSogZGxscy9zZXR1cGFwaS9pbmZwYXJzZS5jLCBkbGxzL3dpbm1tL21jaXNlcS9tY2ltaWRpLmMsIGRsbHMvd2luc3Bvb2wvaW5mby5jLCBncmFwaGljcy94MTFkcnYvZGliLmMsIG1lbW9yeS9nbG9iYWwuYywgc2NoZWR1bGVyL3RocmVhZC5jLCBkbGxzL2F2aWZpbDMyL2F2aWZpbGUuYywgZGxscy9kcGxheXgvZHBsYXkuYywgZGxscy9pbWFnZWhscC9hY2Nlc3MuYywgZGxscy9tc2FjbS9pbnRlcm5hbC5jOgorCVJlcGxhY2VkIGEgZmV3IGludGVybmFsIGZ1bmN0aW9ucyBieSBleHBvcnRlZCBvbmVzLgorCisJKiBzY2hlZHVsZXIvcHRocmVhZC5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCVVuaXg5OCBwdGhyZWFkX3J3bG9jayogc3R1YnMgZm9yIGdsaWJjMi4yIGNvbXBhdGliaWxpdHkuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVNpbmNlIHdlIGNhbiBubyBsb25nZXIgYnVpbHQgLmEgZmlsZXM6CisJLSByZW1vdmUgLWRpc2FibGUvLWVuYWJsZS1kbGwgb3B0aW9uCisJLSBlcnJvciBhbmQgYWJvcnQgaWYgbm8gc3VpdGFibGUgc2hhcmVkIGxpYnJhcnkgbGlua2luZyBpcyBwb3NzaWJsZQorCisJKiB0b29scy93aW5lbWFrZXI6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXhlZCB0aGUgZGV0ZWN0aW9uIG9mIHRoZSBsaW5rIGZsYWdzIGZvciBOZXRCU0QvQ3lnd2luIChjb25maWd1cmUuaW4pCisJQWRkZWQgQUNfUEFUSF9IRUFERVIgYW5kIEFDX1BBVEhfTElCUkFSWQorCUJldHRlciBoZWFkZXIvbGlicmFyeSBkZXRlY3Rpb24uIE5vdyB3b3JrcyBpZiB0aGluZ3MgYXJlIGFscmVhZHkgaW4KKwl0aGUgaW5jbHVkZS9saWJyYXJ5IHBhdGgKKwlMb29rIGZvciB0aGUgd2luZS9NRkMgaGVhZGVycyBhbmQgbGlicmFyaWVzIGluIG1vcmUgcGxhY2VzIHNvIHRoYXQgaXQKKwl3b3JrcyBvdXQgb2YgdGhlIGJveCBpZiBXaW5lL01GQyBpcyBpbnN0YWxsZWQgaW4gYSBzdGFuZGFyZCBwbGFjZQorCShhbHRob3VnaCB0aGVyZSBpcyBub3QgcmVhbGx5IGEgc3RhbmRhcmQgcGxhY2UgeWV0IGZvciB0aGUgTUZDKQorCVJlbmFtZWQgdGhlICctLXdpdGgteHh4JyBvcHRpb25zIHRvIGhhdmUgc2ltcGxlciBtb3JlIG5hdHVyYWwgbmFtZXMKKwlSZW5hbWVkIHRoZSBjb3JyZXNwb25kaW5nICdXSU5FTElCX3h4eCcgdmFyaWFibGVzIHRvICdXSU5FX3h4eCcKKworCSogbXNkb3MvZHBtaS5jOiBPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlXaGVuIGEgV2luMTYgYXBwIHNldHMgYSBzZWxlY3RvciBiYXNlIHRvIGxvdyBET1MgbWVtb3J5LCBtYWtlIHN1cmUgbG93CisJRE9TIG1lbW9yeSBpcyBtYXBwZWQgZmlyc3QuCisKKwkqIG1zZG9zL2ludGVycnVwdHMuYzoKKwlPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlVc2UgdGhlIHZpcnR1YWwgcmVhbC1tb2RlIGludGVycnVwdCB0YWJsZSBpZiBsb3cgRE9TIG1lbW9yeSBpc24ndAorCW1hcHBlZC4KKworCSogaW5jbHVkZS9taXNjZW11LmgsIG1zZG9zL2Rvc21lbS5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCVJlb3JnYW5pemVkIERPUyBtZW1vcnkgcmVtYXBwaW5nIHNsaWdodGx5LCBzbyB0aGF0IHRoZSByZWFsLW1vZGUKKwlpbnRlcnJ1cHQgdGFibGUgY2FuIGV4aXN0IGV2ZW4gd2hlbiBsb3cgRE9TIG1lbW9yeSBpc24ndCBtYXBwZWQsCisJYW5kIGlzIGNvcGllZCBkb3duIGFsb25nIHdpdGggdGhlIEJJT1MgYXJlYSB3aGVuZXZlciBpdCBpcyBtYXBwZWQuCisJQWRkZWQgRE9TTUVNX1N5c3RlbUJhc2UoKSB3aGljaCByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgdmlydHVhbAorCXJlYWwtbW9kZSBpbnRlcnJ1cHQgdGFibGUgYW5kIEJJT1MgZGF0YSBzZWdtZW50LgorCUFsbG93ZWQgRE9TTUVNX0luaXQoVFJVRSkgdG8gYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlLgorCisyMDAwLTExLTEyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3dpbjMycy9NYWtlZmlsZS5pbiwgZGxscy93aW5hc3BpL01ha2VmaWxlLmluLCBkbGxzL3dpbmluZXQvTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vam95c3RpY2svTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vbWNpY2RhL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL21jaXNlcS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS9tY2l3YXZlL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL21pZGltYXAvTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vd2F2ZW1hcC9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS93aW5lb3NzL01ha2VmaWxlLmluLCBkbGxzL3dvdzMyL01ha2VmaWxlLmluLCBkbGxzL3NoZm9sZGVyL01ha2VmaWxlLmluLCBkbGxzL3NobHdhcGkvTWFrZWZpbGUuaW4sIGRsbHMvdGFwaTMyL01ha2VmaWxlLmluLCBkbGxzL3RhcGkzMi90YXBpMzIuc3BlYywgZGxscy90dHlkcnYvTWFrZWZpbGUuaW4sIGRsbHMvdXJsbW9uL01ha2VmaWxlLmluLCBkbGxzL3ZlcnNpb24vTWFrZWZpbGUuaW4sIGRsbHMvc2hlbGwzMi9zaGVsbDMyLnNwZWMsIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwgZGxscy9zZXR1cGFwaS9NYWtlZmlsZS5pbiwgZGxscy9vbGVwcm8zMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVzdnIvTWFrZWZpbGUuaW4sIGRsbHMvcHNhcGkvTWFrZWZpbGUuaW4sIGRsbHMvcmFzYXBpMzIvTWFrZWZpbGUuaW4sIGRsbHMvcmljaGVkaXQvTWFrZWZpbGUuaW4sIGRsbHMvcnBjcnQ0L01ha2VmaWxlLmluLCBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywgZGxscy9zZXJpYWx1aS9NYWtlZmlsZS5pbiwgZGxscy9pbW0zMi9NYWtlZmlsZS5pbiwgZGxscy9semV4cGFuZC9NYWtlZmlsZS5pbiwgZGxscy9tcHIvTWFrZWZpbGUuaW4sIGRsbHMvbXNhY20vTWFrZWZpbGUuaW4sIGRsbHMvbXNuZXQzMi9NYWtlZmlsZS5pbiwgZGxscy9tc3ZpZGVvL01ha2VmaWxlLmluLCBkbGxzL29kYmMzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVhdXQzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVjbGkvTWFrZWZpbGUuaW4sIGRsbHMvb2xlZGxnL01ha2VmaWxlLmluLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2F2aWZpbDMyL01ha2VmaWxlLmluLCBkbGxzL2NvbWN0bDMyL01ha2VmaWxlLmluLCBkbGxzL2NvbW1kbGcvTWFrZWZpbGUuaW4sIGRsbHMvY29tbWRsZy9maWxlZGxnYnJvd3Nlci5jLCBkbGxzL2NydGRsbC9NYWtlZmlsZS5pbiwgZGxscy9kY2ltYW4zMi9NYWtlZmlsZS5pbiwgZGxscy9kcGxheS9NYWtlZmlsZS5pbiwgZGxscy9kcGxheXgvTWFrZWZpbGUuaW4sIGRsbHMvZHNvdW5kL01ha2VmaWxlLmluLCBkbGxzL2ljbXAvTWFrZWZpbGUuaW4sIGRsbHMvaW1hZ2VobHAvTWFrZWZpbGUuaW46CisJU3RhcnQgdXNpbmcgaW1wb3J0IHRhYmxlcyBmb3IgZGxscyB0aGF0IGNhbiBhbHJlYWR5IHN1cHBvcnQgaXQuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jLCBkbGxzL2tlcm5lbC9rZXJuZWwuc3BlYywgZGxscy9vbGUzMi9jb21wb2JqLnNwZWMsIGlmMTYzMi9yZWxheS5jLCBsb2FkZXIvdGFzay5jLCB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYzoKKwlSYWlzZSBhbiBleGNlcHRpb24gZm9yIHVuaW1wbGVtZW50ZWQgMTYtYml0IGVudHJ5IHBvaW50cyB0b28uCisJQWRkZWQgY2hlY2sgZm9yIGR1cGxpY2F0ZSBuYW1lcyBpbiAxNi1iaXQgc3BlYyBmaWxlcy4KKworCSogd2luMzIvZXhjZXB0LmMsIHdpbmVkZWZhdWx0LnJlZzoKKwlUaGUgZGVidWdnZXIgIkF1dG8iIHJlZ2lzdHJ5IHZhbHVlIHNob3VsZCBiZSBhIHN0cmluZy4KKworCSogZGxscy94MTFkcnYveDExZHJ2X21haW4uYywgd2luZS5pbmk6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50ZWQgdGhlIERlc2t0b3A9WFhYeFlZWSBzZXR0aW5nIGluIHRoZSBbeDExZHJ2XSBzZWN0aW9uIG9mIHRoZQorCWNvbmZpZyBmaWxlLgorCisJKiBkZWJ1Z2dlci9tc2MuYzoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlNYWtlIHVzZSBvZiBXaW5kb3dzIHN0cnVjdHVyZSBmb3IgQ09GRiBpbmZvLgorCUZpeGVkIGEgZmV3IGlzc3VlcyBpbiBDT0ZGIGxvYWRpbmcuCisJQ2xlYW5lZCB1cCB0aGUgY29kZS4KKworCSogdG9vbHMvYzJtYW4ucGw6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlGaXggZm9yIEFQSXMgdGhhdCBkb24ndCBoYXZlIGFueSBvcmRpbmFsIChvcmRpbmFsPUApLgorCisJKiBkbGxzL3dpbnNwb29sL2luZm8uYzoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1saW5lLmNvbT4KKwlNYWRlIFdJTlNQT09MX0dldFByaW50ZXJEcml2ZXIgd29yayBhZ2Fpbi4KKworMjAwMC0xMS0xMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29uc29sZS9nZW5lcmljLmMsIGNvbnRyb2xzL2J1dHRvbi5jLCBzZXJ2ZXIvcmVxdWVzdC5jLCB0b29scy9iaW4ycmVzLmMsIHRvb2xzL21ha2VkZXAuYywgdG9vbHMvd2luZWJ1aWxkL3BhcnNlci5jLCB0b29scy93aW5lYnVpbGQvcmVzMTYuYywgdG9vbHMvd2luZWJ1aWxkL3JlczMyLmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYywgdG9vbHMvd21jL2xhbmcuYywgdG9vbHMvd3JjL2R1bXByZXMuYywgdG9vbHMvd3JjL25ld3N0cnVjLmMsIHRvb2xzL3dyYy9uZXdzdHJ1Yy5oLCB0b29scy93cmMvcGFyc2VyLnksIHRvb2xzL3dyYy9yZWFkcmVzLmMsIHRvb2xzL3dyYy91dGlscy5jLCB0b29scy93cmMvd3JjdHlwZXMuaCwgdG9vbHMvd3JjL3dyaXRlcmVzLmM6CisJSm9lcmcgTWF5ZXIgPGptYXllckBsb3Bsb2YuZGU+CisJR2V0IHJpZCBvZiBzb21lIHdhcm5pbmdzIGFib3V0IHVudXNlZCB2YXJpYWJsZXMsIHNpZ25lZC91bnNpZ25lZAorCWNvbXBhcmlzb25zIGFuZCBpbmNvbXBsZXRlIGluaXRpYWxpemF0aW9ucy4KKworCSogd2luZG93cy94MTFkcnYva2V5Ym9hcmQuYywgZ3JhcGhpY3MveDExZHJ2L3hmb250LmMsIGluY2x1ZGUvd2luZ2RpLmgsIHVuaWNvZGUvTWFrZWZpbGUuaW4sIHVuaWNvZGUvY18yODU5Mi5jLCB1bmljb2RlL2NfMjg1OTMuYywgdW5pY29kZS9jXzI4NTk0LmMsIHVuaWNvZGUvY18yODU5OS5jLCB1bmljb2RlL2NfMjg2MDAuYywgdW5pY29kZS9jXzI4NjAzLmMsIHVuaWNvZGUvY18yODYwNC5jLCB1bmljb2RlL2NfMjg2MDUuYywgdW5pY29kZS9jcG1hcC5wbCwgdW5pY29kZS9jcHRhYmxlLmM6CisJTmVyaWp1cyBCYWxpdW5hcyA8bmVyaWp1c0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisJQWRkIG5ldyBlbmNvZGluZ3MgSVNPIDg4NTktMTAgKGNwMjg2MDApLCA4ODU5LTEzIChjcDI4NjAzKSwgODg1OS0xNCAoY3AyODYwNCksCisJODg1OS0xNSAoY3AyODYwNSkuIEFkZCBMaXRodWFuaWFuIChCYWx0aWMpIGtleWJvYXJkIGxheW91dC4KKworCSogZGxscy9jb21jdGwzMi9hbmltYXRlLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgV01fUEFJTlQgaW4gQU5JTUFURV9XaW5kb3dQcm9jOyBjYWxsIERlZldpbmRvd1Byb2NBIGZvciBkZWZhdWx0IGhhbmRsaW5nLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlBZGRlZCBhbm90aGVyIGRldGVjdGlvbiBvZiBzdHJlbmd0aC1yZWR1Y2UgYnVnIGluIEdDQy4KKworMjAwMC0xMS0xMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogcHJvZ3JhbXMvY21kbGd0c3QvTWFrZWZpbGUuaW4sIHByb2dyYW1zL2NvbnRyb2wvTWFrZWZpbGUuaW4sIHByb2dyYW1zL25vdGVwYWQvTWFrZWZpbGUuaW4sIHByb2dyYW1zL29zdmVyc2lvbmNoZWNrL01ha2VmaWxlLmluLCBwcm9ncmFtcy9wcm9nbWFuL01ha2VmaWxlLmluLCBwcm9ncmFtcy9yZWdhcGkvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3JlZ3Rlc3QvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3VuaW5zdGFsbGVyL01ha2VmaWxlLmluLCBwcm9ncmFtcy92aWV3L01ha2VmaWxlLmluLCBwcm9ncmFtcy93Y21kL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5lbWluZS9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luaGVscC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2ludmVyL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW52ZXIvd2ludmVyLnNwZWMsIHByb2dyYW1zL2F2aXRvb2xzL01ha2VmaWxlLmluLCBwcm9ncmFtcy9hdml0b29scy9hdmlpbmZvLnNwZWMsIHByb2dyYW1zL2F2aXRvb2xzL2F2aXBsYXkuc3BlYywgcHJvZ3JhbXMvYXZpdG9vbHMvaWNpbmZvLnNwZWMsIHByb2dyYW1zL2Nsb2NrL01ha2VmaWxlLmluOgorCUJ1aWxkIG1vc3QgcHJvZ3JhbXMgYXMgLnNvIGZpbGVzLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgcHJvZ3JhbXMvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvTWFrZWZpbGUuaW4sIHByb2dyYW1zL01ha2Vwcm9nLnJ1bGVzLmluOgorCUFkZGVkIE1ha2Vwcm9nLnJ1bGVzLmluIGNvbnRhaW5pbmcgcnVsZXMgZm9yIGJ1aWxkaW5nIFdpbmVsaWIKKwlwcm9ncmFtcy4KKworCSogZGxscy9udGRsbC9kZWJ1Z3Rvb2xzLmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL2RlYnVndG9vbHMuaDoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCVVzZSB2YXJpYWJsZSBhcmd1bWVudCBtYWNyb3Mgd2hlbiBjb21waWxpbmcgd2l0aCBnY2MuCisKKwkqIHRvb2xzL3dpbmVsYXVuY2hlci5pbjoKKwlKZXJlbXkgV2hpdGUgPGp3aGl0ZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSB3aW5lbGF1bmNoZXIgc21hcnRlciBhYm91dCBmaW5kaW5nIHRoZSBXaW5lIGxpYnJhcmllcyBhbmQKKwliaW5hcmllcy4gIENoYW5nZSB0aGUgY29sb3Igc2NoZW1lLiAgSGFuZGxlIGxhdW5jaGVzIHdpdGggbm8KKwlhcmd1bWVudHMsIGNvcnJlY3RseSBoYW5kbGUgaW52b2NhdGlvbiBhcyBhIG1pbWUtdHlwZSBoYW5kbGVyIGZyb20KKwlLREUuCisKKwkqIG1lbW9yeS9oZWFwLmMsIGRsbHMvdXNlci9leHRpY29uLmMsIGRsbHMvdmVyc2lvbi9yZXNvdXJjZS5jLCBpbmNsdWRlL3NxbGV4dC5oLCBpbmNsdWRlL3dpbmJhc2UuaCwgaW5jbHVkZS93aW5udC5oLCBsaWJyYXJ5L2xvYWRlci5jLCBsb2FkZXIvcGVfcmVzb3VyY2UuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVVzZSBEVU1NWXh4eE5BTUUgZm9yIGFub255bW91cyBzdHJ1Y3QvdW5pb25zLgorCisJKiBpbmNsdWRlL3dpbmdkaS5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgbWlzc2luZyBwb2ludGVyIHR5cGVzOiBQeHh4IG9yIExQeHh4CisJRml4ZWQgdGhlIGRlZmluaXRpb24gb2YgRk9OVEVOVU1QUk9DCisJRml4ZWQgdHlwbzogVEFfUlRMRUFESU5HIGlzIGluIGZhY3QgVEFfUlRMUkVBRElORyAocmlnaHQgdG8gbGVmdAorCXJlYWRpbmcgSSBiZWxpZXZlKQorCUFkZGVkIG1pc3NpbmcgZGVmaW5pdGlvbnM6IFBDX1RSQVBFWk9JRAorCVVzZSBEVU1NWXh4eE5BTUUgZm9yIGFub255bW91cyBzdHJ1Y3QvdW5pb25zIGluIERFVk1PREUKKworCSogaW5jbHVkZS93aW51c2VyLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBzb21lIFNUTl94eHggbWFjcm9zLgorCisJKiBpbmNsdWRlL3dpbmRlZi5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJSElDT04gYW5kIEhDVVJTT1Igc2hvdWxkIGJlIGludGVyY2hhbmdlYWJsZS4KKworCSogaW5jbHVkZS9jb21tY3RybC5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgTFBVREFDQ0VMIGFuZCBIREZfUlRMUkVBRElORy4KKworCSogdG9vbHMvd2luZW1ha2VyOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQ29udmVydCBpbmNsdWRlIHN0YXRlbWVudHMgb2Ygbm90LWZvdW5kIGZpbGVzIHRvIGxvd2VyIGNhc2UgYnkKKwlkZWZhdWx0CisJQWRkZWQgLS1uby1sb3dlci1pbmNsdWRlIG9wdGlvbiB0byBvdmVycmlkZSB0aGUgYWJvdmUKKwlCZWF1dGlmaWVkIHRoZSBpbnRlcmFjdGl2ZSBtb2RlIG91dHB1dCB0byBtYWtlIGl0IGVhc2llciB0byBmb2xsb3cKKwlJbnRlcmFjdGl2ZSBtb2RlOiBzdXBwb3J0IHRoZSAtLW1mYyBhbmQgLS13cmFwIG9wdGlvbnMgZm9yIGJvdGgKKwlwcm9qZWN0cyBhbmQgdGFyZ2V0cworCUZpeGVkIHRoZSBtZmMvd3JhcCBwcm9wYWdhdGlvbiBiZXR3ZWVuIHByb2plY3QgYW5kIHRhcmdldHMgKGdvZXMgYm90aAorCXdheXMpCisJQXV0b2RldGVjdCBNRkMgYmFzZWQgcHJvamVjdHMgYnkgbG9va2luZyBmb3IgYW4gJ3N0ZGFmeC4oY3BwfGgpJyBmaWxlCisJRG9uJ3QgcHV0IHRoZSBzdGRhZnguY3BwIGZpbGUgaW4gdGhlIGxpc3Qgb2YgZmlsZXMgdG8gY29tcGlsZSAoaXQncworCWp1c3QgdGhlcmUgZm9yIHByZS1jb21waWxlZCBoZWFkZXJzLCB5dWspCisJRml4ZWQgTERfTElCUkFSWV9QQVRIIHdoZW4gbGlua2luZyBhbiBhcHBsaWNhdGlvbiB3aXRoIGEgbGlicmFyeSBmcm9tCisJdGhlIHNhbWUgbWFrZWZpbGUKKwlEb24ndCBmb3JnZXQgJ2V4dHJhJyBzb3VyY2VzIHdoZW4gbG9va2luZyBmb3IgYSBmaWxlIGZvciBjb25maWd1cmUuaW4KKwlSZW5hbWVkIHRoZSAnLS1uby1tYWtlZmlsZScgb3B0aW9uIHRvICctbm8tZ2VuZXJhdGVkLWZpbGUnCisKKwkqIGRvY3VtZW50YXRpb24vd2luZW1ha2VyLm1hbjoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCURvY3VtZW50IHRoZSAtLWxvd2VyLWluY2x1ZGUgb3B0aW9ucy4KKwlEb2N1bWVudCB0aGUgLS1uby1nZW5lcmF0ZWQtZmlsZXMgb3B0aW9ucy4KKworCSogcmVsYXkzMi9idWlsdGluMzIuYzogUmVwYWlyZWQgcmVsYXkgZGVidWdnaW5nLgorCisJKiBkbGxzL01ha2VkbGwucnVsZXMuaW46CisJV2UgZG8gbm90IG5lZWQgdG8gc2V0IFNPVkVSU0lPTiBmb3IgZGxscy4KKworCSogbGlidGVzdC9NYWtlZmlsZS5pbiwgbGlidGVzdC9leHBhbmQuc3BlYywgbGlidGVzdC9oZWxsby5zcGVjLCBsaWJ0ZXN0L2hlbGxvMi5zcGVjLCBsaWJ0ZXN0L2hlbGxvMy5zcGVjLCBsaWJ0ZXN0L2hlbGxvNC5jLCBsaWJ0ZXN0L2hlbGxvNC5zcGVjLCBsaWJ0ZXN0L2hlbGxvNS5zcGVjLCBsaWJ0ZXN0L25ldy5zcGVjLCBsaWJ0ZXN0L3JvbGV4LnNwZWMsIGxpYnRlc3QvdmFydGVzdC5jLCBsaWJ0ZXN0L3ZhcnRlc3Quc3BlYywgbGlidGVzdC92b2xpbmZvLnNwZWM6CisJQnVpbGQgdGVzdCBwcm9ncmFtcyBhcyAuc28gZmlsZXMuIEFkZGVkIG1pc3NpbmcgaW1wb3J0cy4KKworCSogaW5jbHVkZS93aW5lL2xpYnJhcnkuaCwgbGlicmFyeS9sb2FkZXIuYywgc2NoZWR1bGVyL3Byb2Nlc3MuYzoKKwlBZGRlZCBzdXBwb3J0IGZvciBsb2FkaW5nIGEgV2luZWxpYiBhcHAgbGlua2VkIGFzIGEgLnNvIGZyb20gdGhlIHdpbmUKKwlsYXVuY2hlciwgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGFyZ3ZbMF0uCisKKwkqIGRsbHMvTWFrZWRsbC5ydWxlcy5pbiwgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy90dHlkcnYvTWFrZWZpbGUuaW46CisJRG9uJ3QgbGluayBsaWJ3aW5lX3VuaWNvZGUgaW50byBhbGwgZGxscy4KKworCSogcHJvZ3JhbXMvY2xvY2svbGFuZ3VhZ2UuYywgcHJvZ3JhbXMvY2xvY2svbGFuZ3VhZ2UuaCwgcHJvZ3JhbXMvY2xvY2svbGljZW5zZS5jLCBwcm9ncmFtcy9jbG9jay9saWNlbnNlLmgsIHByb2dyYW1zL2Nsb2NrL21haW4uYywgcHJvZ3JhbXMvY2xvY2svbWFpbi5oLCBwcm9ncmFtcy9ub3RlcGFkL2RpYWxvZy5jLCBwcm9ncmFtcy9ub3RlcGFkL2xhbmd1YWdlLmMsIHByb2dyYW1zL25vdGVwYWQvbGFuZ3VhZ2UuaCwgcHJvZ3JhbXMvbm90ZXBhZC9saWNlbnNlLmMsIHByb2dyYW1zL25vdGVwYWQvbGljZW5zZS5oLCBwcm9ncmFtcy9ub3RlcGFkL21haW4uYywgcHJvZ3JhbXMvbm90ZXBhZC9tYWluLmgsIHByb2dyYW1zL3dpbmhlbHAvd2luaGVscC5jOgorCUZpeGVkIGxhbmd1YWdlIGhhbmRsaW5nLiBSZW1vdmVkIHNvbWUgZGVwZW5kZW5jaWVzIG9uIFdpbmUgaW50ZXJuYWxzLgorCisJKiB3aW5lLmluaTogQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgYW4gZXhwbGFuYXRpb24gZm9yIHRoZSBkaXJlY3Rvcnkgc3ltbGluayBzdHVmZi4KKworCSogZGxscy93aW5zcG9vbC9pbmZvLmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtbGluZS5jb20+CisJQ29ycmVjdGVkIHVzZWQgcmVnaXN0cnkga2V5LgorCisJKiBkbGxzL3dpbmluZXQvaHR0cC5jOgorCUh1dyBEIE0gRGF2aWVzIDxoZGF2aWVzQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbml0aWFsaXplIG5Tb2NrZXRGRCB0byBJTlZBTElEX1NPQ0tFVC4KKworMjAwMC0xMS0wOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogcHJvZ3JhbXMvdW5pbnN0YWxsZXIvdW5pbnN0YWxsZXIuc3BlYywgcHJvZ3JhbXMvdmlldy92aWV3LnNwZWMsIHByb2dyYW1zL3djbWQvd2NtZC5zcGVjLCBwcm9ncmFtcy93aW5lbWluZS93aW5lbWluZS5zcGVjLCBwcm9ncmFtcy93aW5oZWxwL3dpbmhlbHAuc3BlYywgcHJvZ3JhbXMvd2ludmVyL3dpbnZlci5zcGVjLCBkZWJ1Z2dlci93aW5lZGJnLnNwZWMsIHByb2dyYW1zL2Nsb2NrL2Nsb2NrLnNwZWMsIHByb2dyYW1zL2NtZGxndHN0L2NtZGxndHN0LnNwZWMsIHByb2dyYW1zL2NvbnRyb2wvY29udHJvbC5zcGVjLCBwcm9ncmFtcy9ub3RlcGFkL25vdGVwYWQuc3BlYywgcHJvZ3JhbXMvb3N2ZXJzaW9uY2hlY2svb3N2ZXJzaW9uY2hlY2suc3BlYywgcHJvZ3JhbXMvcHJvZ21hbi9wcm9nbWFuLnNwZWMsIHByb2dyYW1zL3JlZ2FwaS9yZWdhcGkuc3BlYywgcHJvZ3JhbXMvcmVndGVzdC9yZWd0ZXN0LnNwZWM6CisJQWRkZWQgc29tZSBtaXNzaW5nIGltcG9ydHMuCisKKwkqIE1ha2UucnVsZXMuaW4sIE1ha2VmaWxlLmluLCB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLCB0b29scy93aW5lYnVpbGQvbWFpbi5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmM6CisJQWRkZWQgc3VwcG9ydCBpbiB3aW5lYnVpbGQgZm9yIHJlc29sdmluZyBmdW5jdGlvbiBpbXBvcnRzICgtc3ltIG9wdGlvbikuCisJQWRkZWQgLUwgb3B0aW9uIGZvciBsb2NhdGluZyBpbXBvcnRlZCBkbGxzLgorCUNoYW5nZWQgZ2VuZXJhdGVkIGV4ZSBpbml0IGNvZGUgdG8gdXNlIF9fd2luZV9nZXRfbWFpbl9hcmdzLgorCisJKiBkbGxzL250ZGxsL250ZGxsLnNwZWMsIG1pc2Mvb3B0aW9ucy5jOgorCUFkZGVkIF9fd2luZV9nZXRfbWFpbl9hcmdzIHRvIHJldHJpZXZlIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgZm9yIHRoZQorCWFwcGxpY2F0aW9uLgorCisJKiBsb2FkZXIvZWxmZGxsLmM6CisJRG9uJ3Qgc3RyaXAgdGhlIGxpYnJhcnkgZXh0ZW5zaW9uIGlmIGl0J3Mgbm90ICIuZGxsIi4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuaW46CisJRml4ZWQgTmV0QlNEIGRsbCBjaGVjay4KKwlBZGRlZCBjaGVjayBmb3IgLUJzeW1ib2xpYy4KKwlGaXhlZCBMRFNIQVJFRCBkZWZpbml0aW9uIHRvIHN1cHBvcnQgdW5kZWZpbmVkIFNPTkFNRS4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMi5oLCBkbGxzL2NvbWN0bDMyL2hlYWRlci5jLCBkbGxzL2NvbWN0bDMyL3JzcmMucmM6CisJRXJpYyBLb2hsIDxla29obEBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgaGVhZGVyIGNvbnRyb2wgY3Vyc29ycyBhbmQgZHJhZyBsaXN0IGFycm93IGljb24uCisKKwkqIGRsbHMvd2luZXBzL3JzcmMucmMsIGRsbHMvd2luZXBzL3dwc19Fbi5yYywgZGxscy93aW5lcHMvd3BzX1J1LnJjLCBkbGxzL3dpbmVwcy93cHNfU2sucmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZHRpbW9zaGtvdkBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgUnVzc2lhbiByZXNvdXJjZXMgdG8gdGhlIFBvc3RzY3JpcHQgZHJpdmVyLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGR0aW1vc2hrb3ZAY29kZXdlYXZlcnMuY29tPgorCU1ha2UgYSBjb3B5IG9mIHRoZSBkaWFsb2cgcmVzb3VyY2UgYmVmb3JlIGNvcnJlY3Rpbmcgc3R5bGVzLgorCisyMDAwLTExLTA4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3dpbmUvbGlicmFyeS5oLCBsaWJyYXJ5L2xvYWRlci5jLCByZWxheTMyL2J1aWx0aW4zMi5jOgorCURvIGJ1aWx0aW4gbW9kdWxlcyBmaXh1cHMgaW4gbGlicmFyeS9sb2FkZXIuYyBiZWZvcmUgY2FsbGluZyB0aGUKKwlsb2FkX2RsbCBjYWxsYmFjay4KKworCSogaWYxNjMyL3RodW5rLmMsIGluY2x1ZGUvY2FsbGJhY2suaCwgaW5jbHVkZS90YXNrLmgsIGxvYWRlci9kb3MvZG9zdm0uYywgbG9hZGVyL21vZHVsZS5jLCBsb2FkZXIvdGFzay5jLCBtaXNjZW11L21haW4uYywgb2JqZWN0cy9wYWxldHRlLmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIHNjaGVkdWxlci90aHJlYWQuYywgd2luMzIvZXhjZXB0LmMsIGRsbHMvZ2RpL3ByaW50ZHJ2LmMsIGRsbHMva2VybmVsL2NvbW0uYzoKKwlDaGVjayBhbGwgQ2FsbG91dHMgZnVuY3Rpb24gcG9pbnRlcnMgZm9yIE5VTEwgYmVmb3JlIHVzaW5nIHRoZW0uCisJRG9uJ3QgbG9hZCBVU0VSIGRsbCBpZiBub3QgbmVlZGVkIGJ5IHRoZSBhcHBsaWNhdGlvbi4KKworCSogZGxscy9jcnRkbGwvY3J0ZGxsLmgsIGRsbHMvY3J0ZGxsL2NydGRsbC5zcGVjLCBkbGxzL2NydGRsbC9jcnRkbGxfbWFpbi5jLCBkbGxzL2NydGRsbC9kaXIuYywgZGxscy9jcnRkbGwvZXhpdC5jLCBkbGxzL2NydGRsbC9maWxlLmMsIGRsbHMvY3J0ZGxsL21ic3RyaW5nLmMsIGRsbHMvY3J0ZGxsL21lbW9yeS5jLCBkbGxzL2NydGRsbC9zcGF3bi5jLCBkbGxzL2NydGRsbC9zdHJpbmcuYywgZGxscy9jcnRkbGwvdGltZS5jLCBkbGxzL2NydGRsbC93Y3N0cmluZy5jLCB0b29scy93aW5hcGlfY2hlY2svd2luMzIvY3J0ZGxsLmFwaSwgZGxscy9jcnRkbGwvTWFrZWZpbGUuaW46CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwktIEltcGxlbWVudGVkIDczIENSVCBmdW5jdGlvbnMKKwktIFJlaW1wbGVtZW50ZWQgZmlsZSBJL08gdXNpbmcgV2luMzIgY2FsbHMKKwktIFNldCBlcnJuby9kb3NlcnJubyBpbiBtb3N0IGNhbGxzCisKKwkqIGRsbHMvd2luaW5ldC9mdHAuYzoKKwlHZXJhbGQgUGZlaWZlciA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KKwlBZGQgbWlzc2luZyAjaW5jbHVkZSA8bmV0aW5ldC9pbl9zeXN0bS5oPiBhbmQgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4uCisKKwkqIHByb2dyYW1zL3dpbmVtaW5lL21haW4uYzoKKwlBZGRlZCBtaWRkbGUgbW91c2UgYnV0dG9uIGhhbmRsaW5nLgorCisJKiBkbGxzL3VzZXIvLmN2c2lnbm9yZTogUmVtb3ZlZCAucyBmaWxlcy4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9jb21jYXQuaCwgaW5jbHVkZS9ycGMuaCwgaW5jbHVkZS9ycGNkY2UuaCwgaW5jbHVkZS9ycGNkY2VwLmgsIGluY2x1ZGUvcnBjbmRyLmgsIGluY2x1ZGUvd3R5cGVzLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3ZlZCB0aGluZ3MgdG8gdGhlIHByb3BlciBycGN4eHguaCBoZWFkZXIuCisJQWRkZWQgc29tZSB0eXBlIGRlZmluaXRpb25zIHVzZWQgYnkgdGhlIE1GQy4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGdicm93c2VyLmMsIGRsbHMvZGRyYXcvZGRyYXdfcHJpdmF0ZS5oLCBkbGxzL2RwbGF5eC9kcGNsYXNzZmFjdG9yeS5jLCBkbGxzL29sZTMyL21vbmlrZXIuYywgZGxscy9zaGVsbDMyL2ZvbGRlcnMuYywgZGxscy9zaGVsbDMyL3NobHZpZXcuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVdlIG11c3QgaW5jbHVkZSB3aW5kZWYuaCBiZWZvcmUgd3R5cGVzLmggKGRpcmVjdGx5IG9yIGluZGlyZWN0bHkpLgorCisJKiBpbmNsdWRlL3dpbnVzZXIuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIERNX1JFUE9TSVRJT04uCisKKwkqIGluY2x1ZGUvd2luYmFzZS5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJV2UgbXVzdCBpbmNsdWRlIHN0ZGFyZy5oLgorCUFkZGVkIGEgZmV3IG1pc3NpbmcgZXhjZXB0aW9uIHJlbGF0ZWQgdHlwZXMuCisKKwkqIGluY2x1ZGUvd2lubnQuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVdlIG11c3QgaW5jbHVkZSBjdHlwZS5oIHNvIHRoYXQgYXBwbGljYXRpb25zIGdldCBpc2FsbnVtICYgY28uCisKKwkqIGluY2x1ZGUvY29tbWRsZy5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgQ0NfU09MSURDT0xPUiBhbmQgQ0NfQU5ZQ09MT1IuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvZG9zZXhlLmgsIGluY2x1ZGUvbW9kdWxlLmgsIGxpYnJhcnkvTWFrZWZpbGUuaW4sIGxpYnJhcnkvZGVidWcuYywgbGlicmFyeS9sb2FkZXIuYywgbG9hZGVyL2Rvcy9tb2R1bGUuYywgbG9hZGVyL21vZHVsZS5jLCBsb2FkZXIvcGVfaW1hZ2UuYywgbWlzY2VtdS9tYWluLmMsIHJlbGF5MzIvYnVpbHRpbjMyLmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlNb3ZlZCBidWlsdGluIGRsbCByZWdpc3RyYXRpb24gdG8gbGlid2luZS4KKwlDaGFuZ2VkIHByb2Nlc3MgaW5pdGlhbGl6YXRpb24gdG8gbm90IGxvYWQgaW1wb3J0ZWQgZGxscyB0b28gZWFybHkuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzoKKwlBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudGVkIFZLX1BSSU9SIGFuZCBWS19ORVhUIHByb2Nlc3NpbmcgKG1lcmdlZCBmcm9tIENvcmVsIHRyZWUpLgorCisJKiB3aW5kb3dzL3gxMWRydi9rZXlib2FyZC5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJVG9Vbmljb2RlOiBpZ25vcmUgQ1RSTCtudW1iZXIga2V5c3Ryb2tlcy4KKworCSogaW5jbHVkZS93aW5lL2xpYnJhcnkuaCwgaW5jbHVkZS93aW5lL3BvcnQuaCwgbGlicmFyeS9wb3J0LmMsIG1lbW9yeS92aXJ0dWFsLmMsIG1pc2Mvb3B0aW9ucy5jOgorCUFkZGVkIG5ldyBsaWJyYXJ5LmggaGVhZGVyIGZvciBsaWJ3aW5lIGRlZmluaXRpb25zLgorCUFkZGVkIGdldHBhZ2VzaXplKCkgYW5kIHdpbmVfYW5vbl9tbWFwKCkgcG9ydGFiaWxpdHkgZnVuY3Rpb25zLgorCisyMDAwLTExLTA3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBzY2hlZHVsZXIvcHRocmVhZC5jOgorCXB0aHJlYWRfYXRmb3JrOiBkb24ndCBjYWxsIGNyaXRpY2FsIHNlY3Rpb24gZnVuY3Rpb25zIGJlZm9yZQorCWluaXRpYWxpemF0aW9uIGlzIGRvbmUuCisKKwkqIG1lbW9yeS92aXJ0dWFsLmM6CisJRml4ZWQgMC8tMSBtaXh1cCBmb3IgaW5kaWNhdGluZyBubyBtYXBwaW5nIGhhbmRsZS4KKworCSogY29udHJvbHMvdWl0b29scy5jLCBpbmNsdWRlL3RjaGFyLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRml4ZWQgdHlwb3MgaW4gY29tbWVudHMuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzIuaCwgZGxscy9jb21jdGwzMi9jb21jdGxfRGUucmMsIGRsbHMvY29tY3RsMzIvY29tY3RsX0VuLnJjLCBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzoKKwlFcmljIEtvaGwgPGVrb2hsQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnRlZCB0b29sYmFyIGN1c3RvbWl6YXRpb24gZGlhbG9nLgorCisJKiBkbGxzL2NvbWN0bDMyL3VwZG93bi5jOgorCUVyaWMgS29obCA8ZWtvaGxAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudGVkIG5ldyBtZXNzYWdlcy4KKworCSogZGVidWdnZXIvbXNjLmM6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW1tZDEuaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJLSBUYWtlIE9NQVAgcmVjb3JkcyBpbnRvIGFjY291bnQgdG8gY29ycmVjdCBzeW1ib2wgYWRkcmVzc2VzLgorCS0gVW5kZXJzdGFuZCBDb2RlVmlldyBkYXRhIGVtYmVkZGVkIGluIHRoZSBQRSBmaWxlIGl0c2VsZi4KKwktIFVuZGVyc3RhbmQgTkIxMSBzaWduYXR1cmUgQ29kZVZpZXcgZGF0YS4KKwktIE5vIG1vcmUgYm9ndXMgJ3RpbWVzdGFtcCBtaXNtYXRjaCcgZXJyb3JzLgorCS0gR2VuZXJhbCBjbGVhbnVwIC8gcmVtb3ZhbCBvZiBkdXBsaWNhdGUgY29kZS4KKworCSogaW5jbHVkZS93aW5udC5oOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGltbWQxLmluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUFkZGVkIG1pc3NpbmcgSU1BR0VfREVCVUdfTUlTQyBkZWZpbml0aW9uLgorCisJKiBkbGxzL3dpbmluZXQvZnRwLmM6CisJSHV3IEQgTSBEYXZpZXMgPGhkYXZpZXNAY29kZXdlYXZlcnMuY29tPgorCVNlbmQgdGhlIGxvY2FsIGlwIGFkZHJlc3Mgd2l0aCB0aGUgUE9SVCBjb21tYW5kIGFuZCBub3QgdGhhdCBvZiB0aGUKKwlzZXJ2ZXIuCisJRml4IGhhbmRsaW5nIG9mIG11bHRpLWxpbmUgcmVzcG9uc2VzLgorCVJlYWQgYSByZXNwb25zZSBhZnRlciB0aGUgU1RPUiBjb21tYW5kLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnRlZCB0aGUgUmVkcmF3SXRlbXMgbWVzc2FnZSBmb3IgYSBsaXN0dmlldy4KKworCSogZGxscy93aW5lcHMvYWZtLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QHNsb2JvZGEucnU+CisJTmV3IHBhdGggZm9yIEFGTSBkb2N1bWVudGF0aW9uIG9uIHRoZSBuZXQuCisKKwkqIHRvb2xzL3dpbmVtYWtlcjoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUZpeCB0aGUgaW5jbHVkZSBwYXRoIGhhbmRsaW5nIGluIGdldF9yZWFsX2luY2x1ZGVfbmFtZQorCU1vZGlmaWVkIGdldF9yZWFsX2luY2x1ZGVfbmFtZSBzbyB0aGF0IGl0IGNhbiBmb2xsb3cgYW4gaW5jbHVkZSBwYXRoCisJc3RhcnRpbmcgd2l0aCAkKFRPUFNSQ0RJUikKKwlJbmRlbnQgdGhlIGRlYnVnIG1lc3NhZ2VzIGEgYml0IG1vcmUgc28gdGhhdCB3aW5lbWFrZXIncyBpcyBzdGlsbAorCXJlYWRhYmxlIHdoZW4gdGhleSBhcmUgb24KKwlUaGUgQVRMX0lOQ0xVREVfUk9PVCB2YXJpYWJsZSB3YXMgc2V0IHdyb25nIChjb25maWd1cmUuaW4pCisJVGhlIE1GQyBpbmNsdWRlIHBhdGggbXVzdCBjb250YWluIHRoZSBwYXRoIHRvIHRoZSBBVEwgaGVhZGVycworCShjb25maWd1cmUuaW4pCisKKwkqIGRsbHMvY29tY3RsMzIvdGFiLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJVXNlIERyYXdGb2N1c1JlY3QgdG8gZHJhdyB0aGUgZm9jdXMgcmVjdGFuZ2xlLgorCisJKiBkbGxzL3dpbmFzcGkvYXNwaS5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCS0gZm9ydGlmeSBBU1BJIC9wcm9jIGZpbGUgcGFyc2luZyAoU0NTSV9nZXRwcm9jZW50cnkoKSkgYWdhaW5zdAorCSAgQ0QtUk9NIGRyaXZlcyB0aGF0IGFyZSBkb2luZyBtYWQgdGhpbmdzIHdpdGggc3BhY2VzCisJLSBhZGQgRVJSKClzIGluIGNhc2Ugb2YgcGFyc2luZyBwcm9ibGVtcworCisJKiBpbmNsdWRlL2JpdG1hcHMvd2luZV9zbWFsbC54cG06CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCAxNngxNiB3aW5lIGxvZ28uCisKKzIwMDAtMTEtMDYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vd2lubW0uc3BlYzoKKwlSZW1vdmVkIFNVQkRJUlMgaW4gd2lubW0gTWFrZWZpbGUuCisKKwkqIGRsbHMvc2V0dXBhcGkvc2V0dXBhcGkuc3BlYywgZGxscy9zZXR1cGFwaS9zdHVicy5jLCBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL3NldHVwYXBpLmg6CisJSmFtZXMgSGF0aGV3YXkgPGphbWVzQG1hY2FkYW1pYW4uY29tPgorCUFkZGVkIHN0dWJzIGFuZCBzZXR1cGFwaS5oLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWJvZXguYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlDQkVNX1NFVElURU1XIGRvbmUgYnkgZXhhbXBsZSBmcm9tIFNFVElURU1BLCBjb252ZXJ0ZWQgU0VUSVRFTUEgdG8gdXNlCisJaXQuCisKKwkqIGRvY3VtZW50YXRpb24vTWFrZWZpbGUuaW4sIGRvY3VtZW50YXRpb24vd2luZW1ha2VyLm1hbjoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVdpbmVtYWtlcidzIG1hbiBwYWdlIGluaXRpYWwgcmVsZWFzZS4KKworCSogdG9vbHMvd3JjL01ha2VmaWxlLmluLCBkZWJ1Z2dlci9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luaGVscC9NYWtlZmlsZS5pbiwgdG9vbHMvbWFrZWRlcC5jLCB0b29scy93bWMvTWFrZWZpbGUuaW46CisJQmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiBhbiBpbmNsdWRlIGZpbGUgaXMgbm90IGZvdW5kIGJ5IG1ha2VkZXAuCisJQWRkZWQgc3VwcG9ydCBmb3IgLm1jIGV4dGVuc2lvbi4KKwlEbyBub3QgdHJ5IHRvIG9wZW4gKi50YWIuaCBhbmQgKi5tYy5yYyBpbmNsdWRlIGZpbGVzLgorCisJKiBkbGxzL3VzZXIvTWFrZWZpbGUuaW46CisJQWRkZWQgbWlzc2luZyBkZXBlbmRlbmN5IGZvciAxNi1iaXQgcmVzb3VyY2UgZmlsZXMuCisKKwkqIE1ha2UucnVsZXMuaW4sIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC9rZXJuZWwucmMsIGRsbHMva2VybmVsL21lc3NhZ2VzLy5jdnNpZ25vcmU6CisJVXNlIC5tYy5yYyBleHRlbnNpb24gZm9yIHJjIGZpbGVzIGdlbmVyYXRlZCBieSB0aGUgbWVzc2FnZSBjb21waWxlci4KKworCSogbG9hZGVyL2VsZi5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCUdldCBFTEZfTG9hZExpYnJhcnlFeEEgYmFjayBpbnRvIGEgd29ya2luZyBzdGF0ZS4KKworCSogZGxscy93aW5zcG9vbC9pbmZvLmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtbGluZS5jb20+CisJRW5hYmxlIHRoZSBmdW5jdGlvbnMgQWRkUHJpbnRlclcsIFdJTlNQT09MX0dldFByaW50ZXJEcml2ZXIsCisJQWRkUHJpbnRlckRyaXZlckEsIFdJTlNQT09MX0VudW1QcmludGVyRHJpdmVycyB0byBkaXN0aW5ndWlzaCB0aGUKKwlyZWdpc3RyeSBlbnRyeXMgb2YgV2luOVs1OF0gYW5kIFdpbk5UIHByaW50ZXIgZHJpdmVycy4KKworCSogY29udHJvbHMvbWVudS5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVRha2UgaW50byBhY2NvdW50IHRoZSBzdW5rZW4gYm9yZGVyIGZvciBXaW45OCBsb29rLgorCUxlYXZlIGEgMSBwaXhlbCBnYXAgdG8gdGhlIGxlZnQgb2YgbWVudSBiaXRtYXAgaXRlbXMgZm9yIHN5bWV0cnkgKGFuZAorCWJlY2F1c2UgV2luOXggZG9lcyBpdCkuCisJTGVhdmUgYSAxIHBpeGVsIGdhcCBhYm92ZSBtZW51IGJhciBpdGVtcyBmb3Igc3ltZXRyeSAoYW5kIGJlY2F1c2UKKwlXaW45eCBkb2VzIGl0KS4KKworMjAwMC0xMS0wNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9kaW5wdXQvTWFrZWZpbGUuaW4sIGRsbHMvZGlucHV0L2RldmljZS5jLCBkbGxzL2RpbnB1dC9kZXZpY2VfcHJpdmF0ZS5oLCBkbGxzL2RpbnB1dC9kaW5wdXRfbWFpbi5jLCBkbGxzL2RpbnB1dC9kaW5wdXRfcHJpdmF0ZS5oLCBkbGxzL2RpbnB1dC9qb3lzdGljay9saW51eC5jLCBkbGxzL2RpbnB1dC9rZXlib2FyZC9tYWluLmMsIGRsbHMvZGlucHV0L21vdXNlL21haW4uYywgaW5jbHVkZS9kaW5wdXQuaCwgY29uZmlndXJlLCBjb25maWd1cmUuaW46CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwktIHJlb3JnYW5pemVkIERJbnB1dCBETEwKKwktIGFkZGVkIHN0dWJiaW5nIGZvciBESW5wdXQgN2EKKwktICdmaXhlZCcgdGhlIG1vdXNlIHByb2JsZW0gaW4gRmFsbG91dAorCisJKiBkbGxzL29sZTMyLy5jdnNpZ25vcmUsIGRsbHMvb2xlMzIvTWFrZWZpbGUuaW4sIGRsbHMvb2xlMzIvb2xlMi5jLCBkbGxzL29sZTMyL29sZTMyLnNwZWMsIGRsbHMvb2xlMzIvb2xlMzJfbWFpbi5jLCBkbGxzL29sZTMyL29sZTMyX21haW4uaCwgZGxscy9vbGUzMi9vbGUzMnJlcy5yYzoKKwlIdXcgRCBNIERhdmllcyA8aGRhdmllc0Bjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgRG5EIGN1cnNvcnMgYXMgb2xlMzIgcmVzb3VyY2VzLgorCisJKiBpbmNsdWRlL3NweS5oLCB3aW5kb3dzL21lc3NhZ2UuYywgd2luZG93cy9zcHkuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAc2xvYm9kYS5ydT4KKwlBZGRlZCB0aGUgYWJpbGl0eSB0byBzZWUgbmFtZXMgb2YgdGhlIHZpcnR1YWwga2V5IGNvZGVzLgorCisJKiBNYWtlZmlsZS5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW4sIHRvb2xzLy5jdnNpZ25vcmUsIHRvb2xzL01ha2VmaWxlLmluLCB0b29scy93aW5lbGF1bmNoZXIuaW46CisJSmVyZW15IFdoaXRlIDxqd2hpdGVAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIGEgd2luZWxhdW5jaGVyIHNoZWxsIHNjcmlwdCB3aGljaCBtYWtlcyB0aGUgcHJvY2VzcyBvZiBydW5uaW5nCisJV2luZSBhIGxpdHRsZSBuaWNlciBmb3IgYW4gZW5kIHVzZXIuICBUaGUgaW50ZW50IG9mIHdpbmVsYXVuY2hlciBpcyB0bworCWJlIHVzZWQgaW5zaWRlIG9mIGEgZGlzdHJpYnV0aW9uIHBhY2thZ2UuCisKKwkqIHRvb2xzL01ha2VmaWxlLmluLCB0b29scy93aW5lbWFrZXI6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlOZXcgc2NyaXB0IGZvciBwb3J0aW5nIFdpbmRvd3Mgc291cmNlIGNvZGUgdG8gV2luZUxpYi4KKworCSogZGxscy94MTFkcnYveDExZHJ2LnNwZWMsIGRsbHMvd2lubW0vbWNpYW5pbS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS9tY2lhbmltL21jaWFuaW0uZHJ2LnNwZWMsIGRsbHMvd2lubW0vbWNpYXZpL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL21jaWF2aS9tY2lhdmkuZHJ2LnNwZWMsIGRsbHMvd2lubW0vbWNpY2RhL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL21jaWNkYS9tY2ljZGEuZHJ2LnNwZWMsIGRsbHMvd2lubW0vbWNpc2VxL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL21jaXNlcS9tY2lzZXEuZHJ2LnNwZWMsIGRsbHMvd2lubW0vbWNpd2F2ZS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS9tY2l3YXZlL21jaXdhdmUuZHJ2LnNwZWMsIGRsbHMvd2lubW0vbWlkaW1hcC9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS9taWRpbWFwL21pZGltYXAuZHJ2LnNwZWMsIGRsbHMvd2lubW0vd2F2ZW1hcC9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS93YXZlbWFwL21zYWNtLmRydi5zcGVjLCBkbGxzL3dpbm1tL3dpbmVvc3MvTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vd2luZW9zcy93aW5lb3NzLmRydi5zcGVjLCBkbGxzL3dpbnNvY2svd3MyXzMyLnNwZWMsIGRsbHMvd2luc3Bvb2wvTWFrZWZpbGUuaW4sIGRsbHMvd2luc3Bvb2wvd2luc3Bvb2wuZHJ2LnNwZWMsIGRsbHMvd3NvY2szMi9NYWtlZmlsZS5pbiwgZGxscy93c29jazMyL3dzb2NrMzIuc3BlYywgZGxscy92ZXJzaW9uL01ha2VmaWxlLmluLCBkbGxzL3ZlcnNpb24vdmVyc2lvbi5zcGVjLCBkbGxzL3dpbjMycy9NYWtlZmlsZS5pbiwgZGxscy93aW4zMnMvdzMyc2tybmwuc3BlYywgZGxscy93aW5hc3BpL01ha2VmaWxlLmluLCBkbGxzL3dpbmFzcGkvd25hc3BpMzIuc3BlYywgZGxscy93aW5lcHMvTWFrZWZpbGUuaW4sIGRsbHMvd2luZXBzL3dpbmVwcy5zcGVjLCBkbGxzL3dpbmluZXQvTWFrZWZpbGUuaW4sIGRsbHMvd2luaW5ldC93aW5pbmV0LnNwZWMsIGRsbHMvd2lubW0vTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vam95c3RpY2svTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vam95c3RpY2svam95c3RpY2suZHJ2LnNwZWMsIGRsbHMvd2lubW0vd2lubW0uc3BlYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYywgZGxscy90YXBpMzIvdGFwaTMyLnNwZWMsIGRsbHMvdHR5ZHJ2L01ha2VmaWxlLmluLCBkbGxzL3R0eWRydi90dHlkcnYuc3BlYywgZGxscy91cmxtb24vTWFrZWZpbGUuaW4sIGRsbHMvdXJsbW9uL3VybG1vbi5zcGVjLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyLnNwZWMsIGRsbHMvc2hsd2FwaS9NYWtlZmlsZS5pbiwgZGxscy9zaGVsbDMyL3BpZGwuYywgZGxscy9zZXJpYWx1aS9zZXJpYWx1aS5zcGVjLCBkbGxzL3NldHVwYXBpL01ha2VmaWxlLmluLCBkbGxzL3NldHVwYXBpL3NldHVwYXBpLnNwZWMsIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVzdnIvb2xlc3ZyMzIuc3BlYywgZGxscy9vcGVuZ2wzMi9vcGVuZ2wzMi5zcGVjLCBkbGxzL3BzYXBpL01ha2VmaWxlLmluLCBkbGxzL3BzYXBpL3BzYXBpLnNwZWMsIGRsbHMvcmFzYXBpMzIvcmFzYXBpMzIuc3BlYywgZGxscy9yaWNoZWRpdC9NYWtlZmlsZS5pbiwgZGxscy9yaWNoZWRpdC9yaWNoZWQzMi5zcGVjLCBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywgZGxscy9zZXJpYWx1aS9NYWtlZmlsZS5pbiwgZGxscy9semV4cGFuZC9NYWtlZmlsZS5pbiwgZGxscy9semV4cGFuZC9sejMyLnNwZWMsIGRsbHMvbXByL01ha2VmaWxlLmluLCBkbGxzL21wci9tcHIuc3BlYywgZGxscy9tc2FjbS9NYWtlZmlsZS5pbiwgZGxscy9tc2FjbS9tc2FjbTMyLnNwZWMsIGRsbHMvbXN2aWRlby9NYWtlZmlsZS5pbiwgZGxscy9tc3ZpZGVvL21zdmZ3MzIuc3BlYywgZGxscy9vZGJjMzIvb2RiYzMyLnNwZWMsIGRsbHMvb2xlMzIvb2xlMzIuc3BlYywgZGxscy9vbGVhdXQzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVhdXQzMi9vbGVhdXQzMi5zcGVjLCBkbGxzL29sZWNsaS9NYWtlZmlsZS5pbiwgZGxscy9vbGVjbGkvb2xlY2xpMzIuc3BlYywgZGxscy9vbGVkbGcvb2xlZGxnLnNwZWMsIGRsbHMvb2xlcHJvMzIvTWFrZWZpbGUuaW4sIGRsbHMvb2xlcHJvMzIvb2xlcHJvMzIuc3BlYywgZGxscy9jb21tZGxnL2NvbWRsZzMyLnNwZWMsIGRsbHMvY3J0ZGxsL2NydGRsbC5zcGVjLCBkbGxzL2RkcmF3L2RkcmF3LnNwZWMsIGRsbHMvZGlucHV0L01ha2VmaWxlLmluLCBkbGxzL2RpbnB1dC9kaW5wdXQuc3BlYywgZGxscy9kcGxheXgvTWFrZWZpbGUuaW4sIGRsbHMvZHBsYXl4L2RwbGF5eC5zcGVjLCBkbGxzL2Rzb3VuZC9NYWtlZmlsZS5pbiwgZGxscy9kc291bmQvZHNvdW5kLnNwZWMsIGRsbHMvZ2RpL01ha2VmaWxlLmluLCBkbGxzL2dkaS9nZGkzMi5zcGVjLCBkbGxzL2ljbXAvTWFrZWZpbGUuaW4sIGRsbHMvaWNtcC9pY21wLnNwZWMsIGRsbHMvaW1hZ2VobHAvTWFrZWZpbGUuaW4sIGRsbHMvaW1hZ2VobHAvaW1hZ2VobHAuc3BlYywgZGxscy9pbW0zMi9NYWtlZmlsZS5pbiwgZGxscy9pbW0zMi9pbW0zMi5zcGVjLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL01ha2VkbGwucnVsZXMuaW4sIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYywgZGxscy9hdmlmaWwzMi9NYWtlZmlsZS5pbiwgZGxscy9hdmlmaWwzMi9hdmlmaWwzMi5zcGVjLCBkbGxzL2NvbWN0bDMyL01ha2VmaWxlLmluLCBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLnNwZWM6CisJRGVjbGFyZSBkZWJ1ZyBjaGFubmVscyBpbiBhbGwgZGxscyB0aGF0IG5lZWQgdGhlbTsgYWRkZWQgaW1wb3J0cyBvZgorCW50ZGxsIHdoZXJlIG5lY2Vzc2FyeS4KKworCSogZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy9udGRsbC9kZWJ1Z3Rvb2xzLmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgaW5jbHVkZS9kZWJ1Z2RlZnMuaCwgaW5jbHVkZS9kZWJ1Z3Rvb2xzLmgsIGluY2x1ZGUvbWFpbi5oLCBsaWJyYXJ5L01ha2VmaWxlLmluLCBsaWJyYXJ5L2RlYnVnLmMsIG1pc2MvTWFrZWZpbGUuaW4sIG1pc2MvZGVidWdzdHIuYywgbWlzYy9tYWluLmMsIG1pc2Mvb3B0aW9ucy5jLCByZWxheTMyL2J1aWx0aW4zMi5jLCB0b29scy9maW5kX2RlYnVnX2NoYW5uZWxzLCB0b29scy9tYWtlX2RlYnVnOgorCU5ldyBkZWJ1ZyBjaGFubmVsIG1lY2hhbmlzbSBhbGxvd2luZyBkZWNlbnRyYWxpemVkIGNoYW5uZWwKKwlkZWNsYXJhdGlvbnMuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLCB0b29scy93aW5lYnVpbGQvbWFpbi5jLCB0b29scy93aW5lYnVpbGQvcGFyc2VyLmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlBZGRlZCBkZWJ1Z19jaGFubmVscyBzdXBwb3J0LgorCisJKiBncmFwaGljcy93aW4xNmRydi9ncmFwaGljcy5jLCBncmFwaGljcy93aW4xNmRydi9pbml0LmMsIGdyYXBoaWNzL3gxMWRydi9pbml0LmMsIGluY2x1ZGUvZW5obWV0YWZpbGVkcnYuaCwgaW5jbHVkZS9nZGkuaCwgaW5jbHVkZS93aW4xNmRydi5oLCBkbGxzL3R0eWRydi9kYy5jLCBkbGxzL3dpbmVwcy9pbml0LmMsIGdyYXBoaWNzL2VuaG1ldGFmaWxlZHJ2L2dyYXBoaWNzLmMsIGdyYXBoaWNzL2VuaG1ldGFmaWxlZHJ2L2luaXQuYywgZ3JhcGhpY3MvbWV0YWZpbGVkcnYvZ3JhcGhpY3MuYywgZ3JhcGhpY3MvbWV0YWZpbGVkcnYvaW5pdC5jLCBncmFwaGljcy9tZXRhZmlsZWRydi9tZXRhZmlsZWRydi5oLCBncmFwaGljcy9wYWludGluZy5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCU9wdGltaXplZCB7LHB9TW92ZVRveyxFeH17LDE2fS4KKworCSogd2luZG93cy9kY2UuYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQWRkZWQgY29tbWVudCBleHBsYWluaW5nIHdoeSB3ZSBoYXZlIGFuIEVSUiByYXRoZXIgdGhhbiBhIFdBUk4uCisKKwkqIG1zZG9zL2Rvc21lbS5jOgorCUdlcmFsZCBQZmVpZmVyIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgorCUFkZGVkIG1pc3NpbmcgI2luY2x1ZGUgPHN5cy90eXBlcy5oPi4KKworCSogZGxscy9jb21jdGwzMi9jb21ib2V4LmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJRm9yd2FyZCBDQkVNX1NFVEVYU1RZTEUgdG8gQ0JFTV9TRVRFWFRFTkRFRFNUWUxFLCBwYXNzIFdNX1NFVFRFWFQgYW5kCisJV01fR0VUVEVYVCBkb3duIHRvIGNvbWJvIGJveC4KKworCSogd2luZG93cy9zeXNwYXJhbXMuYzoKKwlKYW1lcyBBYmJhdGllbGxvIDxqYWJiZXlAY29kZXdlYXZlcnMuY29tPgorCUNsZWFudXAgU3lzdGVtUGFyYW1ldGVyc0luZm88MTZ8QXxXPi4KKworCSogY29udHJvbHMvbWVudS5jOgorCUphbWVzIEFiYmF0aWVsbG8gPGphYmJleUBjb2Rld2VhdmVycy5jb20+CisJRG9uJ3QgcmVzZXQgTUZfUE9QVVAgZmxhZyBpbiBTZXRNZW51KCkuCisKKwkqIHdpbmRvd3MvcXVldWUuYzoKKwlKYW1lcyBBYmJhdGllbGxvIDxqYWJiZXlAY29kZXdlYXZlcnMuY29tPgorCUZpeCB0ZXN0IGZvciBwZW5kaW5nIG1lc3NhZ2UgaW4gUVVFVUVfUmVjZWl2ZU1lc3NhZ2UoKS4KKworCSogd2luZG93cy9kY2UuYywgd2luZG93cy9zY3JvbGwuYywgd2luZG93cy94MTFkcnYvd25kLmMsIGdyYXBoaWNzL3gxMWRydi9iaXRtYXAuYywgZ3JhcGhpY3MveDExZHJ2L2JydXNoLmMsIGdyYXBoaWNzL3gxMWRydi9jbGlwcGluZy5jLCBncmFwaGljcy94MTFkcnYvZGliLmMsIGdyYXBoaWNzL3gxMWRydi9ncmFwaGljcy5jLCBncmFwaGljcy94MTFkcnYvaW5pdC5jLCBncmFwaGljcy94MTFkcnYvcGFsZXR0ZS5jLCBncmFwaGljcy94MTFkcnYvcGVuLmMsIGdyYXBoaWNzL3gxMWRydi90ZXh0LmMsIGdyYXBoaWNzL3gxMWRydi94Zm9udC5jLCBpbmNsdWRlL2RjLmgsIGluY2x1ZGUvZ2RpLmgsIG9iamVjdHMvYml0bWFwLmMsIG9iamVjdHMvYnJ1c2guYywgb2JqZWN0cy9jbGlwcGluZy5jLCBvYmplY3RzL2RjLmMsIG9iamVjdHMvZGN2YWx1ZXMuYywgb2JqZWN0cy9kaWIuYywgb2JqZWN0cy9mb250LmMsIG9iamVjdHMvZ2Rpb2JqLmMsIG9iamVjdHMvcGFsZXR0ZS5jLCBvYmplY3RzL3JlZ2lvbi5jLCBvYmplY3RzL3RleHQuYywgZ3JhcGhpY3MveDExZHJ2L2JpdGJsdC5jLCBkbGxzL3dpbmVwcy9icnVzaC5jLCBkbGxzL3dpbmVwcy9jbGlwcGluZy5jLCBkbGxzL3dpbmVwcy9jb2xvci5jLCBkbGxzL3dpbmVwcy9lc2NhcGUuYywgZGxscy93aW5lcHMvZm9udC5jLCBkbGxzL3dpbmVwcy9ncmFwaGljcy5jLCBkbGxzL3dpbmVwcy9pbml0LmMsIGRsbHMvd2luZXBzL3Blbi5jLCBkbGxzL3dpbmVwcy9wcy5jLCBkbGxzL3dpbmVwcy90ZXh0LmMsIGdyYXBoaWNzL2JpdGJsdC5jLCBncmFwaGljcy9lbmhtZXRhZmlsZWRydi9ncmFwaGljcy5jLCBncmFwaGljcy9lbmhtZXRhZmlsZWRydi9pbml0LmMsIGdyYXBoaWNzL2VuaG1ldGFmaWxlZHJ2L29iamVjdHMuYywgZ3JhcGhpY3MvZXNjYXBlLmMsIGdyYXBoaWNzL21hcHBpbmcuYywgZ3JhcGhpY3MvbWV0YWZpbGVkcnYvYml0Ymx0LmMsIGdyYXBoaWNzL21ldGFmaWxlZHJ2L2dyYXBoaWNzLmMsIGdyYXBoaWNzL21ldGFmaWxlZHJ2L2luaXQuYywgZ3JhcGhpY3MvbWV0YWZpbGVkcnYvbWFwcGluZy5jLCBncmFwaGljcy9tZXRhZmlsZWRydi9vYmplY3RzLmMsIGdyYXBoaWNzL3BhaW50aW5nLmMsIGdyYXBoaWNzL3BhdGguYywgZ3JhcGhpY3Mvd2luMTZkcnYvYnJ1c2guYywgZ3JhcGhpY3Mvd2luMTZkcnYvZm9udC5jLCBncmFwaGljcy93aW4xNmRydi9ncmFwaGljcy5jLCBncmFwaGljcy93aW4xNmRydi9pbml0LmMsIGdyYXBoaWNzL3dpbjE2ZHJ2L3Blbi5jLCBncmFwaGljcy93aW4xNmRydi90ZXh0LmMsIGRsbHMvZ2RpL3ByaW50ZHJ2LmMsIGRsbHMvb3BlbmdsMzIvd2dsLmMsIGRsbHMvdHR5ZHJ2L2JpdG1hcC5jLCBkbGxzL3R0eWRydi9kYy5jLCBkbGxzL3R0eWRydi9ncmFwaGljcy5jLCBkbGxzL3R0eWRydi9vYmplY3RzLmMsIGRsbHMvdHR5ZHJ2L3R0eWRydi5oLCBkbGxzL3R0eWRydi93bmQuYzoKKwlBbGxvY2F0ZSBEQyBvYmplY3RzIG9uIHRoZSBwcm9jZXNzIGhlYXAsIGFuZCByZW1vdmVkIFdJTl9EQ19JTkZPCisJc3RydWN0dXJlIChiYXNlZCBvbiBhIHBhdGNoIGJ5IEtlbiBDb2xlbWFuKS4KKworMjAwMC0xMS0wNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsbGluay5jOgorCVJlbW92ZWQgbGVmdG92ZXIgZGVidWcgb3V0cHV0LgorCisJKiBkbGxzL3NldHVwYXBpL2luZnBhcnNlLmMsIGRsbHMvc2V0dXBhcGkvc2V0dXB4MTYuaCwgZGxscy9zZXR1cGFwaS9zZXR1cHhfbWFpbi5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCS0gZml4IGluZiBmaWxlIG9wZW4vY2xvc2UKKwkgIC0gZG8gTk9UIHJldHVybiBoYW5kbGVzIGJhc2VkIG9uIGxpc3Qgb2Zmc2V0CisJICAtIHdlIG1pZ2h0IHdhbnQgdG8gdXNlIEhFQVBfc3RyZHVwQSBpbnN0ZWFkIG9mIGFzc2lnbmluZyBzdHJpbmcgcG9pbnRlcnMuLi4KKwktIGltcGxlbWVudCAobW9yZSBvciBsZXNzKSBHZW5Gb3JtU3RyV2l0aG91dFBsYWNlaG9sZGVycworCisJKiBkb2N1bWVudGF0aW9uL3dpbmUubWFuLmluOgorCUxhd3NvbiBXaGl0bmV5IDxsYXdzb25fd2hpdG5leUBqdW5vLmNvbT4KKwlQcm90ZWN0IHRoZSBiYWNrc2xhc2hlcyB3ZSBtZWFuIHRvIGhhdmUgc2hvdyBmcm9tIGdyb2ZmLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlGaXhlZCBvZmYgYnkgb25lIGVycm9yIGluIERQQSBoYW5kbGluZywgYWRkZWQgc29tZSB3YXJuaW5ncy4KKworCSogZmlsZXMvZmlsZS5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJVXNlIGRlYnVnZ2luZyBBUEkgaW5zdGVhZCBvZiBvdXRwdXRpbmcgdG8gc3RkZXJyIGRpcmVjdGx5LgorCisJKiBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBdm9pZCBkaXZpc2lvbiBieSB6ZXJvLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJUGFzcyB1cCBXTV9EUkFXSVRFTSBtZXNzYWdlcyB0byBwYXJlbnQuCisKKzIwMDAtMTEtMDIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYywgaW5jbHVkZS9iaXRtYXBzL3dpbmUueHBtLCB0b29scy9NYWtlZmlsZS5pbiwgdG9vbHMvd2luZXNoZWxsbGluaywgd2luZS5pbmk6CisJQ3JlYXRlIEdub21lL0tERSBkZXNrdG9wIGFuZCBtZW51IGVudHJpZXMgZnJvbSBJU2hlbGxMaW5rCisJaW50ZXJmYWNlLiBCYXNlZCBvbiB0aGUgd29yayBvZiBKYW1lcyBUaG9tc29uIGFuZCBEdXNhbiBMYWNrby4KKworCSogZGxscy9jb21jdGwzMi90cmVldmlldy5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJVHJlZXZpZXcgaXRlbSBzb3J0aW5nIGNvdWxkIG1lc3MgdXAgdGhlIHZpc2libGVPcmRlciBvZiB0aGUgaXRlbXMuCisKKwkqIHdpbmRvd3Mvd2luLmM6IEdlcmFyZCBQYXRlbCA8Zy5wYXRlbEB3YW5hZG9vLmZyPgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCU1vdmUgZm9jdXMgcmVjYWxjdWxhdGlvbiBvdXQgb2YgdGhlIHdpbmRvdyBkZXN0cm95IHJlY3Vyc2lvbgorCXNvIHdlIGRvIG5vdCBzZW5kIFdNX1NFVEZPQ1VTIHRvIGFscmVhZHkgZGVzdHJveWVkIHdpbmRvd3MuCisKKwkqIGNvbnRyb2xzL21lbnUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAc2xvYm9kYS5ydT4KKwlEbyBub3QgaW52ZXJ0ICJtYWdpYyIgYml0bWFwIG1lbnUgaXRlbXMuCisKKwkqIHRvb2xzL2ZpbmRfZGVidWdfY2hhbm5lbHM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJTWFrZSBzdXJlIHRvIGNhcmVmdWxseSBxdW90ZSBmaWxlIG5hbWVzLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlTd2FwIENhbGNUb29sYmFyIGFuZCBwYWludCByZWN0YW5nbGUgY29tcHV0YXRpb24gdG8gdGhlIGNvcnJlY3Qgb3JkZXIuCisKKwkqIHByb2dyYW1zL3djbWQvQ2hhbmdlTG9nLCBwcm9ncmFtcy93Y21kL01ha2VmaWxlLmluLCBwcm9ncmFtcy93Y21kL3djbWRtYWluLmM6CisJRGF2ZSBQaWNrbGVzIDxkYXZlcEBjeXcudWtsaW51eC5uZXQ+CisJUGF1c2UgY29tbWFuZCBpbnRlcnByZXRlciB3aGlsZSBleGVjdXRpbmcgYSBjb25zb2xlLW1vZGUgYXBwLgorCisyMDAwLTExLTAxICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBmaWxlcy9kaXJlY3RvcnkuYzoKKwlGaXhlZCBTZWFyY2hQYXRoIHRvIGhhbmRsZSBhICc7Jy1zZXBhcmF0ZWQgcGF0aCBhcyBmaXJzdCBhcmd1bWVudC4KKworCSogZGxscy9udGRsbC9udC5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCUNoYW5nZWQgTnRRdWVyeUluZm9ybWF0aW9uVG9rZW4oKSB0byBmaWxsIG91dCBhIHZhbGlkIFRPS0VOX0dST1VQIHdpdGgKKwlhZG1pbiBwcml2aWxlZ2VzLgorCisJKiB3aW5kb3dzL2N1cnNvcmljb24uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlEcmF3SWNvbkV4OiB3aGVuIGZsYWdzPTAgdXNlIGZsYWdzPURJX05PUk1BTCBpbnN0ZWFkLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjLCBkbGxzL3NoZWxsMzIvc2hlbGxvcmQuYzoKKwlKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBkZWJpdGVsLm5ldD4KKwlFeHBvcnQgU0hHZXRTZXR0aW5ncyBieSBuYW1lLiBOZXcgc3R1YiBmb3Igc2hlbGwuNjguCisKKwkqIGRsbHMvY29tY3RsMzIvcmViYXIuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlIYXZlIEludGVybmV0IEV4cGxvcmVyIDMgc2hvdyBpdHMgdG9vbGJhcnMgYnkgcGFzc2luZyBSQl9HRVRCQU5ESU5GTworCXRvIFJCX0dFVEJBTkRJTkZPQS4KKworCSogb2JqZWN0cy9tZXRhZmlsZS5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCVVzZSBHRElTZWxlY3RQYWxldHRlMTYgaW5zdGVhZCBvZiBTZWxlY3RQYWxldHRlIGFuZAorCUdESVJlYWxpemVQYWxldHRlMTYgaW5zdGVhZCBvZiBSZWFsaXplUGFsZXR0ZSBpbiBvcmRlciB0byBnZXQgcmlkIG9mCisJcG9zc2libGUgZGVhZGxvY2tzLgorCisJKiByZWxheTMyL3Nub29wLmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIHNjaGVkdWxlci90aW1lci5jLCBzZXJ2ZXIvYXRvbS5jLCBzZXJ2ZXIvbWFwcGluZy5jLCBzZXJ2ZXIvcmVxdWVzdC5jLCBzZXJ2ZXIvdGhyZWFkLmgsIHdpbjMyL2NvbnNvbGUuYywgd2luZG93cy9kaWFsb2cuYywgd2luZG93cy94MTFkcnYvY2xpcGJvYXJkLmMsIGRsbHMva2VybmVsL3RpbWUuYywgZGxscy9rZXJuZWwvd2luODdlbS5jLCBkbGxzL21zdmlkZW8vZHJhd2RpYi5jLCBkbGxzL29sZWF1dDMyL3ZhcmlhbnQuYywgZGxscy9zZXR1cGFwaS9zZXR1cHhfbWFpbi5jLCBkbGxzL3NoZWxsMzIvc2hsbWVudS5jLCBkbGxzL3NoZWxsMzIvc2h2X2JnX2NtZW51LmMsIGdyYXBoaWNzL3gxMWRydi94Zm9udC5jLCBsb2FkZXIvbmUvc2VnbWVudC5jLCBtaXNjL2NwdS5jLCBtaXNjL2Vycm9yLmMsIG1pc2Mvb3B0aW9ucy5jLCBtaXNjL3JlZ2lzdHJ5LmMsIG1zZG9zL2RldmljZXMuYywgbXNkb3MvdmdhLmMsIG1zZG9zL3Z4ZC5jLCBvYmplY3RzL2RpYi5jLCBjb250cm9scy9lZGl0LmMsIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYywgZGxscy9jb21jdGwzMi9tb250aGNhbC5jLCBkbGxzL2NvbWN0bDMyL3RhYi5jLCBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmMsIGRsbHMvZGRyYXcvZGRyYXcvZGdhLmMsIGRsbHMvZGRyYXcvZGRyYXcveDExLmMsIGRsbHMvZGRyYXcveDExX3ByaXZhdGUuaDoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCVZhcmlvdXMgd2FybmluZyBmaXhlcy4KKworCSogZ3JhcGhpY3MvcGFpbnRpbmcuYywgZ3JhcGhpY3MvcGF0aC5jLCBpbmNsdWRlL3BhdGguaDoKKwlNYXJrIER1Zm91ciA8bS5kdWZvdXJAc3R1ZGVudC50dWRlbGZ0Lm5sPgorCU1ha2UgdGhlIGZ1bmN0aW9ucyBQaWUsIENob3JkLCBSb3VuZFJlY3QsIEFuZ2xlQXJjLCBQb2x5RHJhdyBhbmQKKwlFbGxpcHNlIHdvcmsgd2l0aCBhbiBvcGVuIHBhdGguCisKKwkqIGNvbnRyb2xzL21lbnUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAc2xvYm9kYS5ydT4KKwlNYWtlIGJpdG1hcCBtZW51IGl0ZW1zIGxvb2sgbGlrZSBpbiB3aW5kb3dzIHdoZW4gc2VsZWN0ZWQsCisJaS5lLiBpbnZlcnRlZCBhbmQgaGlsaXRlZCAoaW4gV2luOTggbG9vaykuCisKKwkqIGNvbnRyb2xzL3Njcm9sbC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUNoZWNrIGZvciBTQl9DVEwgYmVmb3JlIGRpc3BsYXlpbmcgYSBjYXJldC4KKworCSogZGxscy9rZXJuZWwvZm9ybWF0X21zZy5jOgorCURvIG5vdCB0cnVuY2F0ZSBoaWdoIHdvcmQgb2YgbWVzc2FnZSBpZC4KKworCSogaW5jbHVkZS9jb21tZGxnLmgsIGluY2x1ZGUvd2luZS9vYmpfc2VydmljZXByb3ZpZGVyLmgsIGluY2x1ZGUvd2luZS9vYmpfc2hlbGxicm93c2VyLmgsIGRsbHMvY29tbWRsZy9maWxlZGxnOTUuYywgZGxscy9jb21tZGxnL2ZpbGVkbGdicm93c2VyLmMsIGRsbHMvY29tbWRsZy9maWxlZGxnYnJvd3Nlci5oOgorCUp1ZXJnZW4gU2NobWllZCA8anVlcmdlbi5zY2htaWVkQGRlYml0ZWwubmV0PgorCUJldHRlciBoYW5kbGluZyBvZiBjdXN0b20gdGVtcGxhdGVzIGFuZCBob29rcy4KKwlCdWcgZml4ZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVJlbW92ZWQgdW5uZWNlc3NhcnkgY2FsbHMgb2YgVE9PTEJBUl9DYWxjVG9vbGJhcigpICh3aGljaCB3b3VsZCBiZQorCXJlY2FsY3VsYXRlZCBkdWUgdG8gSW52YWxpZGF0ZVJlY3QoKS0+V01fUEFJTlQgYW55d2F5KS4KKworCSogZGxscy91c2VyL3VzZXIzMi5zcGVjOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIGlzc3VlIGZvdW5kIGJ5IHdpbmFwaV9jaGVjay4KKworCSogdG9vbHMvd2luYXBpX2NoZWNrL21vZHVsZXMuZGF0LCB0b29scy93aW5hcGlfY2hlY2svd2luMzIvYWR2YXBpMzIuYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luMzIvcnBjcnQ0LmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3R0eWRydi5hcGksIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi91c2VyMzIuYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luMzIvd2luaW5ldC5hcGksIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi94MTFkcnYuYXBpOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCU1pbm9yIEFQSSBmaWxlcyB1cGRhdGUuCisKKwkqIHdpbmRvd3MveDExZHJ2L2tleWJvYXJkLmM6CisJR2FicmllbCBHYXJjaWEgPEdhcmNpYUdAb3JpZ2VuZXMuY29tLmFyPgorCUFkZGVkIExhdGluIEFtZXJpY2FuIGxheW91dC4KKworCSogZGxscy91cmxtb24vdXJsbW9uLnNwZWMsIGRsbHMvdXJsbW9uL3VybG1vbl9tYWluLmMsIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWM6CisJTGF3c29uIFdoaXRuZXkgPGxhd3Nvbl93aGl0bmV5QGp1bm8uY29tPgorCVN0dWJzIGZvciBVcmxNa1NldFNlc3Npb25PcHRpb24sIFNITFdBUElfMTMyLCBTSEdldEludmVyc2VDTUFQLgorCVJlZGlyZWN0ZWQgZm9yd2FyZCBvZiBzaGx3YXBpLjU0IHRvIGdkaTMyLkNyZWF0ZUlDVy4KKworMjAwMC0xMC0zMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jLCBkbGxzL2NvbWN0bDMyL21vbnRoY2FsLmMsIGRsbHMvY29tY3RsMzIvdGFiLmMsIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlVc2UgUFNfQUxURVJOQVRFIHJhdGhlciB0aGFuIFBTX0RPVC4KKwlVc2UgUmVjdGFuZ2xlIHRvIGRyYXcgZm9jdXMgcmVjdGFuZ2xlcy4KKworCSogb2JqZWN0cy9wZW4uYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQWxsb3cgcGVucyB3aXRoIHN0eWxlcyBncmVhdGVyIHRoYW4gUFNfSU5TSURFRlJBTUUgdG8gYmUgY3JlYXRlZCB3aXRoCisJQ3JlYXRlUGVuSW5kaXJlY3QgYW5kIEV4dENyZWF0ZVBlbi4KKworCSogZ3JhcGhpY3MveDExZHJ2L3Blbi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVVzZSBzaXplb2YgZm9yIG1haW50YWluYWJpbGl0eS4KKworCSogZGxscy9jb21jdGwzMi9yZWJhci5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJSWdub3JlIFJCQlNfQlJFQUsgc3R5bGUgb24gZmlyc3QgYmFuZC4KKworCSogZ3JhcGhpY3MveDExZHJ2L2luaXQuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXhlZCBhIGZldyBkZXZpY2UgY2FwcyB2YWx1ZXMuCisKKwkqIG1pc2MvcmVnaXN0cnkuYzoKKwlEYXZpZCBFbGxpb3R0IDxkZmVAaW5maW5pdGUtaW50ZXJuZXQubmV0PgorCV9udF9wYXJzZV9uaygpIHNob3VsZCBub3QgY2xvc2Uga2V5cyB0aGF0IGl0IGRvZXMgbm90IG9wZW4uCisKKwkqIG9iamVjdHMvZ2Rpb2JqLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJU2V0IHRoZSB0aGlja25lc3Mgb2Ygc3RvY2sgcGVucyB0byAwIHNvIHRoYXQgdGhleSBhcmUgbm90IHNjYWxlZC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgY2FuY2VscyBlZGl0aW5nIG9mIGEgbGlzdHZpZXcgbGFiZWwgaWYgdGhlIGxpc3R2aWV3IGlzCisJc2Nyb2xsZWQuCisKKwkqIHdpbmRvd3Mvc3lzY29sb3IuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXhlZCB0aGUgdmFsdWUgb2Ygc29tZSBzeXN0ZW0gY29sb3JzLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmM6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlGaXggZm9yIGF2b2lkaW5nIHN1YnRyYWN0aW9uIGZyb20gdW5zaWduZWQgemVyby4KKworCSogZGxscy93aW5lcHMvcnNyYy5yYywgZGxscy93aW5lcHMvd3BzX1NrLnJjLCBkbGxzL3dpbm1tL3dpbm1tX1NrLnJjLCBkbGxzL3dpbm1tL3dpbm1tX3Jlcy5yYywgZG9jdW1lbnRhdGlvbi9pMThuLnNnbWwsIHByb2dyYW1zL2Nsb2NrL1NrLnJjLCBwcm9ncmFtcy9jbG9jay9yc3JjLnJjLCBwcm9ncmFtcy9ub3RlcGFkL1NrLnJjLCBwcm9ncmFtcy9ub3RlcGFkL3JzcmMucmMsIHByb2dyYW1zL3Byb2dtYW4vU2sucmMsIHByb2dyYW1zL3Byb2dtYW4vcnNyYy5yYywgcHJvZ3JhbXMvd2luaGVscC9Tay5yYywgcHJvZ3JhbXMvd2luaGVscC9yc3JjLnJjLCB3aW5kb3dzL3gxMWRydi9rZXlib2FyZC5jLCBkbGxzL2NvbW1kbGcvY2RsZ19Tay5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfU2sucmMsIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX1NrLnJjOgorCVBldGVyIEl2YW55aSA8aXZhbnlpQGludGVybmV0LnNrPgorCUFkZGVkL3VwZ3JhZGVkIFNsb3ZhayBtZXNzYWdlcywgYW5kIFNsb3ZhayBhbmQgQ3plY2gga2V5Ym9hcmQgbGF5b3V0LgorCisJKiBjb250cm9scy9zY3JvbGwuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlIaWRlIHRoZSBjYXJldCBvbmx5IG9uIHRoZSBmaXJzdCBXTV9LRVlET1dOLgorCisJKiBkbGxzL2RpbnB1dC9kaW5wdXRfbWFpbi5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCUNoYW5nZWQgbW91c2UgVW5BY3F1aXJlIHRvIE5PVCB1bmFjcXVpcmUgaXQgb24gbXVsdGlwbGUgdW5hY3F1aXJlcy4KKwlJbXBsZW1lbnRlZCBESVBST1BfQVhJU01PREUgZm9yIFN5c01vdXNlQUltcGxfU2V0UHJvcGVydHkuCisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzoKKwlTdXNhbiBGYXJsZXkgPHN1c2FuQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVbmRlciBzb21lIGNvbmRpdGlvbnMgaXRzIG5lY2Vzc2FyeSB0byBleHBsaWNpdGx5IHNob3cgdGhlCisJc2Nyb2xsYmFycy4KKworCSogd2luZG93cy9kaWFsb2cuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAc2xvYm9kYS5ydT4KKwlEaXNwbGF5IGFuIEVSUiBvbiBlcnJvcnMgd2hpbGUgaW5pdGlhbGl6aW5nIFVTRVIuCisKKwkqIGRsbHMva2VybmVsL3RpbWUuYzoKKwlSZWluIEtsYXplcyA8cmtsYXplc0BjYXNlbWEubmV0PgorCVJldHVybiBUSU1FX1pPTkVfSURfU1RBTkRBUkQgaW4gR2V0VGltZVpvbmVJbmZvcm1hdGlvbigpLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWJvZXguYzoKKwlHdXkgTC4gQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCUhhbmRsZSBzcGVjaWFsIGNhc2Ugd2hlcmUgaXRlbUlEID0gLTEgKHNwZWNpYWwgZm9jdXMgcmVjdCBkcmF3KS4KKworCSogZGxscy9zaGVsbDMyL3NocmVzLnJjOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCUZpeCBpbnN1ZmZpY2llbnQgcmVjdCB3aWR0aCB2YWx1ZSBpbiByZXNvdXJjZSBmaWxlLgorCisJKiB3aW4zMi9jb25zb2xlLmM6CisJR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwlOZWVkIHRvIGdldCBhbnkgb3V0c3RhbmRpbmcgaW5wdXQgcHJpb3IgdG8gcmV0dXJuaW5nIG51bWJlci4KKworCSogdG9vbHMvd2luZWluc3RhbGw6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJU29tZSBidWdmaXhlcywgYW5vdGhlciBmdW5jdGlvbiBmb3IgcGFja2FnaW5nLCBhbmQgc29tZSB0ZXh0CisJcmVmb3JtYXR0aW5nIGZyb20gRXJpYyBNYXJ5bmlhay4KKworCSogZGxscy9nZGkvTWFrZWZpbGUuaW4sIGRsbHMveDExZHJ2L01ha2VmaWxlLmluOgorCVJlbW92ZWQgb2Jzb2xldGUgVE9PTFNVQkRJUlMgZGVwZW5kZW5jeS4KKworCSogcHJvZ3JhbXMvd2luZW1pbmUvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmhlbHAvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbnZlci9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvYXZpdG9vbHMvTWFrZWZpbGUuaW4sIHByb2dyYW1zL2Nsb2NrL01ha2VmaWxlLmluLCBwcm9ncmFtcy9jbWRsZ3RzdC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvY29udHJvbC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvbm90ZXBhZC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvb3N2ZXJzaW9uY2hlY2svTWFrZWZpbGUuaW4sIHByb2dyYW1zL3Byb2dtYW4vTWFrZWZpbGUuaW4sIHByb2dyYW1zL3JlZ2FwaS9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvcmVndGVzdC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvdW5pbnN0YWxsZXIvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3ZpZXcvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3djbWQvTWFrZWZpbGUuaW4sIGRsbHMvb2RiYzMyL01ha2VmaWxlLmluLCBkbGxzL29kYmMzMi9vZGJjMzIuc3BlYywgZGxscy9vbGUzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVkbGcvTWFrZWZpbGUuaW4sIGRsbHMvb2xlZGxnL29sZWRsZy5zcGVjLCBkbGxzL29sZXN2ci9NYWtlZmlsZS5pbiwgZGxscy9vbGVzdnIvb2xlc3ZyMzIuc3BlYywgZGxscy9yYXNhcGkzMi9NYWtlZmlsZS5pbiwgZGxscy9yYXNhcGkzMi9yYXNhcGkzMi5zcGVjLCBkbGxzL3JwY3J0NC9NYWtlZmlsZS5pbiwgZGxscy9ycGNydDQvcnBjcnQ0LnNwZWMsIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgZGxscy93aW5zb2NrL01ha2VmaWxlLmluLCBsaWJ0ZXN0L01ha2VmaWxlLmluLCBtaXNjZW11L3dpbmUuc3BlYywgcHJvZ3JhbXMvTWFrZWZpbGUuaW4sIGRlYnVnZ2VyL01ha2VmaWxlLmluLCBkbGxzL2FkdmFwaTMyL01ha2VmaWxlLmluLCBkbGxzL2NvbW1kbGcvTWFrZWZpbGUuaW4sIGRsbHMvY3J0ZGxsL01ha2VmaWxlLmluLCBkbGxzL2RjaW1hbjMyL01ha2VmaWxlLmluLCBkbGxzL2RjaW1hbjMyL2RjaW1hbjMyLnNwZWMsIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL21zbmV0MzIvTWFrZWZpbGUuaW4sIGRsbHMvbXNuZXQzMi9tc25ldDMyLnNwZWM6CisJQWRkZWQgaW1wb3J0IG9mIG50ZGxsLgorCisJKiB0b29scy93aW5lYnVpbGQvTWFrZWZpbGUuaW4sIHRvb2xzL3dtYy9NYWtlZmlsZS5pbiwgdG9vbHMvd3JjL01ha2VmaWxlLmluLCB1bmljb2RlL01ha2VmaWxlLmluLCAuY3ZzaWdub3JlLCBNYWtlLnJ1bGVzLmluLCBNYWtlZmlsZS5pbiwgZGxscy9NYWtlZGxsLnJ1bGVzLmluLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL250ZGxsLy5jdnNpZ25vcmUsIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIGxpYnJhcnkvLmN2c2lnbm9yZSwgbGlicmFyeS9NYWtlZmlsZS5pbiwgbGlicmFyeS9wb3J0LmMsIGxpYnJhcnkvd2luZXN0dWIuYywgbWlzYy9NYWtlZmlsZS5pbiwgbWlzYy9wb3J0LmM6CisJQnVpbGQgbnRkbGwgYXMgYSByZWFsIGRsbCwgaW5jbHVkaW5nIGV2ZXJ5dGhpbmcgdGhhdCB3YXMgcHJldmlvdXNseSBpbgorCWxpYndpbmUuc28uIENyZWF0ZWQgYSBuZXcgKG1vc3RseSBlbXB0eSkgbGlid2luZS5zbyBpbiBsaWJyYXJ5LyBzdWJkaXIuCisKKzIwMDAtMTAtMjkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRlYnVnZ2VyL21zYy5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlERUJVR19Qcm9jZXNzREJHRmlsZTogdXNlIGEgc3RhY2sgdmFyaWFibGUgZm9yIHRoZSBleHRyYV9pbmZvLgorCisJKiByZWxheTMyL3Nub29wLmMsIGRsbHMvbXN2aWRlby9tc3ZpZGVvX21haW4uYywgZGxscy9yaWNoZWRpdC9jaGFybGlzdC5oLCBkbGxzL3dpbm1tL3dpbmVvc3MvbWlkaS5jLCBpZjE2MzIvc25vb3AuYywgaWYxNjMyL3RodW5rLmMsIGxvYWRlci90YXNrLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZGltaUBjcy50b3JvbnRvLmVkdT4KKwlGaXhlZCBhIGZldyBjb21waWxhdGlvbiB3YXJuaW5ncworCisJKiBkbGxzL250ZGxsL3NpZ25hbF9pMzg2LmMsIGRsbHMvb2xlYXV0MzIvc2FmZWFycmF5LmMsIGRsbHMvd2luYXNwaS93aW5lc2NzaS5oLCBzZXJ2ZXIvaGFuZGxlLmM6CisJSm9lcmcgTWF5ZXIgPGptYXllckBsb3Bsb2YuZGU+CisJTW92ZSBpbmxpbmUgYW5kIHN0YXRpYyB0byB0aGUgYmVnaW5uaW5nIG9mIGRlY2xhcmF0aW9ucy4KKworCSogZGxscy9jb21jdGwzMi9jb21ib2V4LmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUNPTUJPRVhfRHJhd0l0ZW06IGNoZWNrIHJldHVybiB2YWx1ZSBvZiBTZW5kTWVzc2FnZUEoLi4uLENCX0dFVElURU1EQVRBLC4uLikKKworCSogdG9vbHMvd2luZWNvbmY6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlBZGRlZCBhICctaW5pZmlsZScgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9uIG9mIHRoZSB3aW5lLmluaSBmaWxlCisJdXNlZCBpbiB0aGUgYnVpbGRpbmcgb2YgdGhlIG5ldyB3aW5lLmluaSBmaWxlLgorCisJKiBkZWJ1Z2dlci9tc2MuYzoKKwlKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBkZWJpdGVsLm5ldD4KKwktIGVuYWJsZSBsb2FkaW5nIG9mIHBkYiBmaWxlcyBuYW1lZCBpbiBOQjEwIHJlY29yZHMgb2YgYSBkYmcgZmlsZQorCS0gZGlzYWJsZSB0aW1lc3RhbXAgY2hlY2sgZm9yIHBkYiBmaWxlcworCisJKiB3aW4zMi9kZXZpY2UuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlRdWlldGVuIFZ4RENhbGxfVk1NIG91dHB1dC4KKworCSogdG9vbHMvd2luZWluc3RhbGw6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJd2luZWluc3RhbGwgaW1wcm92ZW1lbnRzLCBtb3N0bHkgZm9yIHVzYWdlIGluIHBhY2thZ2UgcG9zdGluc3RhbGwKKwlzY3JpcHRzLgorCisJKiBpZjE2MzIvYnVpbHRpbi5jLCBpZjE2MzIvcmVsYXkuYywgaW5jbHVkZS9idWlsdGluMTYuaCwgdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jLCB0b29scy93aW5lYnVpbGQvc3BlYzE2LmM6CisJUGF0Y2ggZmxhdCBjcyBvZiAxNi1iaXQgZW50cnkgcG9pbnRzIGlmIGN1cnJlbnQgJWNzIGlzIGRpZmZlcmVudCBmcm9tCisJY29tcGlsZWQgdmFsdWUsIGFuZCByZXRyaWV2ZSBmbGF0IGRzIGZyb20gYSBnbG9iYWwgdmFyaWFibGUuIFRoaXMKKwlzaG91bGQgYXZvaWQgcHJvYmxlbXMgd2l0aCB3aW40bGluIGtlcm5lbHMuCisKKwkqIHNjaGVkdWxlci9jcml0c2VjdGlvbi5jLCBzY2hlZHVsZXIvdGhyZWFkLmMsIHdpbmRvd3MvY2xpcGJvYXJkLmMsIHdpbmRvd3Mvd2lucG9zLmMsIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYywgZGxscy9hZHZhcGkzMi9yZWdpc3RyeS5jLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL250ZGxsL2NyaXRzZWN0aW9uLmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgZGxscy91c2VyL3VzZXIzMi5zcGVjLCBmaWxlcy9kaXJlY3RvcnkuYywgaW5jbHVkZS9udGRkay5oLCBtZW1vcnkvcmVnaXN0cnkuYzoKKwlEYXZpZCBFbGxpb3R0IDxkZmVAaW5maW5pdGUtaW50ZXJuZXQubmV0PgorCUFkZGVkIGJhc2ljIHdvcmtpbmcgc3R1YnMgb2YgbmV3IFdpbmRvd3MgMjAwMCBBUEkgZnVuY3Rpb25zLgorCisJKiBpbmNsdWRlL2xvY2FsLmgsIG1lbW9yeS9sb2NhbC5jOgorCVJlbW92ZWQgdW51c2VkIExPQ0FMX0xvY2tTZWdwdHIuCisKKwkqIGdyYXBoaWNzL3gxMWRydi9wYWxldHRlLmMsIG9iamVjdHMvZGMuYywgb2JqZWN0cy9wYWxldHRlLmMsIHdpbmRvd3MvcGFpbnRpbmcuYzoKKwlVc2UgR2V0U3RvY2tPYmplY3QoKSBpbnN0ZWFkIG9mIHRoZSBtYWdpYyBTVE9DS18qIGhhbmRsZXMuCisKKwkqIGRlYnVnZ2VyL21zYy5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlERUJVR19Qcm9jZXNzREJHRmlsZTogYWxsb2NhdGUgTVNDX0RCR19JTkZPIGJlZm9yZSB3cml0aW5nIHRvIG1lbWJlcnMKKwlvZiB0aGF0IHN0cnVjdHVyZS4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOgorCURhdmUgUGlja2xlcyA8ZGF2ZXBAY3l3LnVrbGludXgubmV0PgorCUltcGxlbWVudCBTSEdGSV9FWEVUWVBFIGZ1bmN0aW9uIG9mIFNIR2V0RmlsZUluZm8uCisKKwkqIHdpbmRvd3Mvd2luaGVscC5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVJlcG9ydCBlcnJvcnMgb24gV2luSGVscCgpIGZhaWx1cmVzLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWJvZXguYzoKKwlHdXkgTC4gQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCS0gaW1wcm92ZWQgdHJhY2UgaW5mb3JtYXRpb24KKwktIGltcGxlbWVudGVkIENCX1NFVElURU1IRUlHSFQsIFdNX1dJTkRPV1BPU0NIQU5HSU5HLAorCSAgV01fTUVBU1VSRUlURU0sIFdNX0RSQVdJVEVNCisJLSBjaGFuZ2VkIENCRU1fSU5TRVJUSVRFTUEsIENCRU1fU0VUSU1BR0VMSVNULAorCSAgV01fQ1JFQVRFLCBXTV9ERVNUUk9ZCisJLSBhYm92ZSBjaGFuZ2VzIGNvcnJlY3Qgd2luZG93IHJlY3RhbmdsZSwgZHJhd3MgaXRlbXMsIGFuZCBjcmVhdGVzCisJICBjb250cm9sIGNvcnJlY3RseS4KKworCSogZGxscy9jb21jdGwzMi9yZWJhci5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSBjb3JyZWN0IHByb2Nlc3Npbmcgb2YgUkJCU19CUkVBSyBzdHlsZS4KKwktIGhhbmRsZSBjYXNlcyB3aGVyZSBjeUNoaWxkIHdhcyBzZXQgdG8gLTEgYnkgYXBwbC4gLSB1bmRvY3VtZW50ZWQuCisJLSByZW1vdmUgc3BlY2lhbCBjb2RlIGZvciBDb21ib2JveGV4IHByb2JsZW0gKG5vdyBzb2x2ZWQpLgorCS0gZml4IHNvbWUgcGFpbnRpbmcgcHJvYmxlbXMKKworMjAwMC0xMC0yOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogbWVtb3J5L2dsb2JhbC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVJldHVybiB0aGUgY29ycmVjdCB2YWx1ZSBmb3IgZHdUb3RhbFZpcnR1YWwuCisJUmV0dXJuIGEgbW9yZSBwbGF1c2libGUgdmFsdWUgZm9yIGR3QXZhaWxWaXJ0dWFsLgorCisJKiBtaXNjL2NwdS5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlSZXR1cm4gYSBtb3JlIHBsYXVzaWJsZSB2YWx1ZSBmb3IgTWluaW11bUFwcGxpY2F0aW9uQWRkcmVzcy4KKworCSogdG9vbHMvd2luZWJ1aWxkL21haW4uYywgc2VydmVyL2NvbnRleHRfaTM4Ni5jOgorCUZlZGVyaWNvIFNjaHdpbmR0IDxmZ3NjaEBjb3JlLXNkaS5jb20+CisJRml4ZXMgZm9yIE9wZW5CU0QuCisKKwkqIGRsbHMvb2xlMzIvaXRlbW1vbmlrZXIuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlDcmVhdGVJdGVtTW9uaWtlciBtYXkgZ2V0IE5VTEwgYXMgc3pEZWxpbSwgc29tZSBjbGVhbnVwcy4KKworCSogZGxscy9vbGUzMi9zdG9yYWdlMzIuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlGaXhlZCBPbGVMb2FkRnJvbVN0cmVhbTogRGVyZWZlcmVuY2UgcHB2T2JqIGFuZCBnZXQgSVBlcnNpc3RTdHJlYW0KKwlpbnN0ZWFkIG9mIGFjY2Vzc2luZyBJVW5rbm93bi4KKworCSogZGxscy93aW5pbmV0L01ha2VmaWxlLmluLCBkbGxzL3dpbmluZXQvaHR0cC5jLCBkbGxzL3dpbmluZXQvd2luaW5ldC5zcGVjOgorCUh1dyBEIE0gRGF2aWVzIDxoZGF2aWVzQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTdHViIGZvciBIdHRwU2VuZFJlcXVlc3RFeEEuCisKKwkqIGNvbnRyb2xzL2NvbWJvLmMsIGRsbHMvY29tbWRsZy9maWxlZGxnOTUuYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIHNldCB0aGUgaXRlbSBoZWlnaHQgbm90IG9ubHkgZm9yIHRoZSBsaXN0Ym94LCBidXQgYWxzbyBmb3IgdGhlIHRleHQgZmllbGQKKwktIGNlbnRlciB0ZXh0IHZlcnRpY2FsbHkKKwktIGJlYXV0aWZ5IGNvbW1lbnRzCisKKwkqIGRsbHMvdXNlci9NYWtlZmlsZS5pbjoKKwlNYXR0aGV3IENsYXJrZSA8TWF0dGhld19DbGFya2VAbWluZGxpbmsuYmMuY2E+CisJRG9uJ3QgYXNzdW1lIHdlIGFyZSBidWlsZGluZyBpbiB0aGUgc291cmNlIHRyZWUsIGJ1dCBhbGxvdyBtYWtlIHRvCisJbG9jYXRlIHJlc291cmNlcy9kaXNwbGF5LnJjIGFuZCByZXNvdXJjZXMvbW91c2UucmMgdmlhIFZQQVRILgorCisyMDAwLTEwLTI2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkZWJ1Z2dlci93aW5lZGJnLmMsIGluY2x1ZGUvd2luZGVmLmgsIGluY2x1ZGUvd2luZS9leGNlcHRpb24uaCwgcmVsYXkzMi9idWlsdGluMzIuYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jLCB3aW4zMi9leGNlcHQuYzoKKwlSYWlzZSBhbiBleGNlcHRpb24gd2hlbiBhIHN0dWIgZW50cnkgcG9pbnQgaXMgY2FsbGVkLgorCisJKiB3aW5kb3dzL2tleWJvYXJkLmMsIHdpbmRvd3Mvc3RydWN0MzIuYywgd2luZG93cy9zdHJ1Y3QzMi5oOgorCVJlbW92ZWQgdW51c2VkIFNUUlVDVDMyX05DQ0FMQ1NJWkUgZnVuY3Rpb25zLgorCisJKiB3aW5kb3dzL2lucHV0LmMsIGNvbnRyb2xzL21lbnUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAc2xvYm9kYS5ydT4KKwlBc2sgYXBwbGljYXRpb24gdG8gcmVpbml0aWFsaXplIGl0cyBtZW51IGJlZm9yZSBwcm9jZXNzaW5nIGFuCisJYWNjZWxlcmF0b3Iga2V5LgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmM6CisJTWFydGluIFBpbGthIDxtcGlsa2FAY29kZXdlYXZlcnMuY29tPgorCSJTdGFydE1lbnUiIC0tPiAiU3RhcnQgTWVudSIsICJTdGFydHVwIiAtLT4gIlN0YXJ0VXAiLgorCisJKiBkbGxzL250ZGxsL3NpZ25hbF9pMzg2LmM6CisJRml4ZWQgdHlwbyBkdWUgdG8gbWVyZ2UgZXJyb3IuCisKKwkqIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOgorCUZyYW5jb2lzIEphY3F1ZXMgPGZyYW5jb2lzakBtYWNhZGFtaWFuLmNvbT4KKwlVcGRhdGVkIHRoZSBsb2FkIHByb2Nlc3Mgc28gdGhhdCBhbGwgdHlwZWxpYnMgKGFuZCBub3QganVzdCB0aGUgZmlyc3QKKwlvbmUsIGFzIGl0IHVzZWQgdG8pIHN0b3JlZCBpbiBhIERMTCBjYW4gYmUgbG9hZGVkLgorCisJKiBncmFwaGljcy9wYWludGluZy5jOgorCU1hcmsgRHVmb3VyIDxtLmR1Zm91ckBzdHVkZW50LnR1ZGVsZnQubmw+CisJSW1wbGVtZW50ZWQgUG9seURyYXcoKSBhbmQgQW5nbGVBcmMoKS4KKworMjAwMC0xMC0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogQU5OT1VOQ0UsIENoYW5nZUxvZywgaW5jbHVkZS92ZXJzaW9uLmg6CisJUmVsZWFzZSAyMDAwMTAyNi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMjAwMC0xMC0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogZGVidWdnZXIvd2luZWRiZy5jLCBpbmNsdWRlL3dpbmRlZi5oLCBpbmNsdWRlL3dpbmUvZXhjZXB0aW9uLmgsIHJlbGF5MzIvYnVpbHRpbjMyLmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYywgd2luMzIvZXhjZXB0LmM6CmRpZmYgLS1naXQgYS9pbmNsdWRlL3ZlcnNpb24uaCBiL2luY2x1ZGUvdmVyc2lvbi5oCmluZGV4IGEwNjQzYzUuLmE3OGUzZTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdmVyc2lvbi5oCisrKyBiL2luY2x1ZGUvdmVyc2lvbi5oCkBAIC0xICsxIEBACi0jZGVmaW5lIFdJTkVfUkVMRUFTRV9JTkZPICJXaW5lIHJlbGVhc2UgMjAwMDEwMjYiCisjZGVmaW5lIFdJTkVfUkVMRUFTRV9JTkZPICJXaW5lIHJlbGVhc2UgMjAwMDEyMDIiCg==