IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgYW5kIENjOiB0aGUgPHUtYm9vdEBsaXN0cy5kZW54LmRlPiBtYWlsaW5nIGxpc3QuCQkJIwojCQkJCQkJCQkJIwojIE5vdGU6IGxpc3RzIHNvcnRlZCBieSBNYWludGFpbmVyIE5hbWUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBQb3dlclBDIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KCglQMjAyMFJEQglQMjAyMAoKR3JlZyBBbGxlbiA8Z2FsbGVuQGFybHV0LnV0ZXhhcy5lZHU+CgoJVVRYODI0NQkJTVBDODI0NQoKUGFudGVsaXMgQW50b25pb3UgPHBhbnRvQGludHJhY29tLmdyPgoKCU5FVFZJQQkJTVBDOHh4CgpSZWluaGFyZCBBcmx0IDxyZWluaGFyZC5hcmx0QGVzZC1lbGVjdHJvbmljcy5jb20+CgoJY3BjaTUyMDAJTVBDNTIwMAoJbWVjcDUxMjMJTVBDNTEyMQoJbWVjcDUyMDAJTVBDNTIwMAoJcGY1MjAwCQlNUEM1MjAwCgoJY2FkZHkyCQlNUEM4MzQ5Cgl2bWU4MzQ5CQlNUEM4MzQ5CgoJQ1BDSTc1MAkJUFBDNzUwRlgvR1gKCll1bGkgQmFyY29oZW4gPHl1bGlAYXJhYmVsbGFzdy5jb20+CgoJQWRkZXIJCU1QQzg3eC9NUEM4NTJUCgllcDgyNDgJCU1QQzgyNDgKCUlTUEFOCQlNUEM4MjYwCglNUEM4MjYwQURTCU1QQzgyNngvTVBDODI3eC9NUEM4MjgwCglSYXR0bGVyCQlNUEM4MjQ4CglaUEMxOTAwCQlNUEM4MjY1CgpNaWNoYWVsIEJhcmtvd3NraSA8bWljaGFlbC5iYXJrb3dza2lAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzIzRVJEQglNUEM4MzIzCgpKZXJyeSBWYW4gQmFyZW4gPGdlcmFsZC52YW5iYXJlbkBzbWl0aHMtYWVyb3NwYWNlLmNvbT4KCglzYWNzbmcJCU1QQzgyNjAKCk9saXZlciBCcm93biA8b2Jyb3duQGFkdmVudG5ldHdvcmtzLmNvbT4KCglndzgyNjAJCU1QQzgyNjAKCkNvbm4gQ2xhcmsgPGNsYXJrQGVzdGVlbS5jb20+CgoJRVNURUVNMTkyRQlNUEM4eHgKCkpvZSBEJ0FiYnJhY2NpbyA8bGpkMDE1QGZyZWVzY2FsZS5jb20+CgoJTVBDODM3eEVSREIJTVBDODM3eAoKS+FyaSBEYXbt8HNzb24gPGtkQGZsYWdhLmlzPgoKCUZMQUdBRE0JCU1QQzgyMwoKVG9yc3RlbiBEZW1rZSA8dG9yc3Rlbi5kZW1rZUBmY2kuY29tPgoKCWVYYWxpb24JCU1QQzgyNHgKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJSWNlQ3ViZV81MTAwCU1HVDUxMDAKCUljZUN1YmVfNTIwMAlNUEM1MjAwCgoJQVJJQQkJTVBDNTEyMWUKCglBTVg4NjAJCU1QQzg2MAoJRVRYMDk0CQlNUEM4NTAKCUZQUzg1MEwJCU1QQzg1MAoJRlBTODYwTAkJTVBDODYwCglJQ1U4NjIJCU1QQzg2MgoJSVA4NjAJCU1QQzg2MAoJSVZNTDI0CQlNUEM4NjAKCUlWTUwyNF8xMjgJTVBDODYwCglJVk1MMjRfMjU2CU1QQzg2MAoJSVZNUzgJCU1QQzg2MAoJSVZNUzhfMTI4CU1QQzg2MAoJSVZNUzhfMjU2CU1QQzg2MAoJTEFOVEVDCQlNUEM4NTAKCUxXTU9OCQlNUEM4MjMKCU5DNjUwCQlNUEM4NTIKCVIzNjBNUEkJCU1QQzgyMwoJUk1VCQlNUEM4NTAKCVJSdmlzaW9uCU1QQzgyMwoJU004NTAJCU1QQzg1MAoJU1BEODIzVFMJTVBDODIzCglUUU04MjNMCQlNUEM4MjMKCVRRTTgyM0xfTENECU1QQzgyMwoJVFFNODUwTAkJTVBDODUwCglUUU04NTVMCQlNUEM4NTUKCVRRTTg2MEwJCU1QQzg2MAoJVFFNODYwTF9GRUMJTVBDODYwCgljMm1vbgkJTVBDODU1CgloZXJtZXMJCU1QQzg2MAoJbHdtb24JCU1QQzgyMwoJcGN1X2UJCU1QQzg1NQoKCUNVODI0CQlNUEM4MjQwCglTYW5kcG9pbnQ4MjQwCU1QQzgyNDAKCVNMODI0NQkJTVBDODI0NQoKCUFUQwkJTVBDODI1MAoJUE04MjUJCU1QQzgyNTAKCglUUU04MjU1CQlNUEM4MjU1CgoJQ1BVODYJCU1QQzgyNjAKCVBNODI2CQlNUEM4MjYwCglUUU04MjYwCQlNUEM4MjYwCgoJUDNHNAkJTVBDNzQxMAoKCVBDSVBQQzIJCU1QQzc1MAoJUENJUFBDNgkJTVBDNzUwCgpKb24gRGlla2VtYSA8am9uLmRpZWtlbWFAc21pdGhzLWFlcm9zcGFjZS5jb20+CgoJc2JjODI2MAkJTVBDODI2MAoKRGlyayBFaWJhY2ggPGVpYmFjaEBnZHN5cy5kZT4KCglkZXZjb25jZW50ZXIJUFBDNDYwRVgKCWRsdmlzaW9uICAgICAgICBQUEM0MDVFUAoJZ2RwcGM0NDBldHgJUFBDNDQwRVAvR1IKCWludGlwCQlQUEM0NjBFWAoJbmVvCQlQUEM0MDVFUAoKRGF2ZSBFbGxpcyA8REdFQHNpeG5ldGlvLmNvbT4KCglTWE5JODU1VAlNUEM4eHgKCkZyZWQgRmFuIDxmYW55ZWZlbmdAZ21haWwuY29tPgoKCW14NTFldmsJCWkuTVg1MQoKVGhvbWFzIEZyaWVkZW4gPFRob21hc0ZAaHlwZXJpb24tZW50ZXJ0YWlubWVudC5jb20+CgoJQW1pZ2FPbmVHM1NFCU1QQzd4eAoKTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC1lbGVjdHJvbmljcy5jb20+CgoJQURDSU9QCQlJT1A0ODAgKFBQQzQwMSkKCUFQQzQwNQkJUFBDNDA1R1AKCUFSNDA1CQlQUEM0MDVHUAoJQVNINDA1CQlQUEM0MDVFUAoJQ0FOQlQJCVBQQzQwNUNSCglDUENJMkRQCQlQUEM0MDVHUAoJQ1BDSTQwNQkJUFBDNDA1R1AKCUNQQ0k0MDUyCVBQQzQwNUdQCglDUENJNDA1QUIJUFBDNDA1R1AKCUNQQ0k0MDVEVAlQUEM0MDVHUAoJQ1BDSUlTRVI0CVBQQzQwNUdQCglEQVNBX1NJTQlJT1A0ODAgKFBQQzQwMSkKCURQNDA1CQlQUEM0MDVFUAoJRFU0MDUJCVBQQzQwNUdQCglEVTQ0MAkJUFBDNDQwRVB4CglHMjAwMAkJUFBDNDA1RVAKCUhINDA1CQlQUEM0MDVFUAoJSFVCNDA1CQlQUEM0MDVFUAoJT0NSVEMJCVBQQzQwNUdQCglPUlNHCQlQUEM0MDVHUAoJUENJNDA1CQlQUEM0MDVHUAoJUExVNDA1CQlQUEM0MDVFUAoJUE1DNDA1CQlQUEM0MDVHUAoJUE1DNDA1REUJUFBDNDA1RVAKCVBNQzQ0MAkJUFBDNDQwRVB4CglWT0g0MDUJCVBQQzQwNUVQCglWT000MDUJCVBQQzQwNUVQCglXVUg0MDUJCVBQQzQwNUVQCglDTVM3MDAJCVBQQzQwNUVQCgpOaWtsYXVzIEdpZ2VyIDxuaWtsYXVzLmdpZ2VyQG5ldHN0YWwuY29tPgoKCUhDVTQJCVBQQzQwNUdQcgoJTUNVMjUJCVBQQzQwNUdQcgoJSENVNQkJUFBDNDQwRVB4CgpGcmFuayBHb3R0c2NobGluZyA8ZmdvdHRzY2hsaW5nQGVsdGVjLmRlPgoKCU1IUEMJCU1QQzh4eAoKCUJBQjd4eAkJTVBDNzQwL01QQzc1MAoKV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZGVueC5kZT4KCglpcGVrMDEJCU1QQzUyMDAKCglDQ00JCU1QQzg1NQoKCVBONjIJCU1QQzgyNDAKCUlQSEFTRTQ1MzkJTVBDODI2MAoJU0NNCQlNUEM4MjYwCgpKb2UgSGFtbWFuIDxqb2UuaGFtbWFuQGVtYmVkZGVkc3BlY2lhbHRpZXMuY29tPgoKCXNiYzg1NDgJCU1QQzg1NDgKCXNiYzg2NDFkCU1QQzg2NDFECgpLbGF1cyBIZXlkZWNrIDxoZXlkZWNrQGtpZWJhY2stcGV0ZXIuZGU+CgoJS1VQNEsJCU1QQzg1NQoJS1VQNFgJCU1QQzg1OQoKSWxrbyBJbGlldiA8aWxpZXZAcm9uZXRpeC5hdD4KCglQTTkyNjEJCUFUOTFTQU05MjYxCglQTTkyNjMJCUFUOTFTQU05MjYzCgpHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KCglxdWFkMTAwaGQJUFBDNDA1RVAKCk11cnJheSBKZW5zZW4gPE11cnJheS5KZW5zZW5AY3Npcm8uYXU+CgoJY29nZW50X21wYzh4eAlNUEM4eHgKCgljb2dlbnRfbXBjODI2MAlNUEM4MjYwCgloeW1vZAkJTVBDODI2MAoKTGFycnkgSm9obnNvbiA8bHJqQGFjbS5vcmc+CgoJa29yYXQJCVBQQzQ0MEVQeAoKRmVuZyBLYW4gPGZrYW5AYW1jYy5jb20+CgoJcmVkd29vZAkJCVBQQzR4eAoKQnJhZCBLZW1wIDxCcmFkLktlbXBAc2VyYW5vYS5jb20+CgoJcHBtYzgyNjAJTVBDODI2MAoKU2FuZ21vb24gS2ltIDxkb2dvaWxAZXRpbnN5cy5jb20+CgoJZGVicmlzCQlNUEM4MjQ1CglLVk1FMDgwCQlNUEM4MjQ1CgpUaG9tYXMgTGFuZ2UgPHRob21hc0Bjb3JlbGF0dXMuc2U+CgoJR1RICQlNUEM4NjAKClJvYmVydCBMYXphcnNraSA8cm9iZXJ0bGF6YXJza2lAZ21haWwuY29tPgoKCUFUVU04NTQ4CU1QQzg1NDgKClRoZSBMRU9YIHRlYW0gPHRlYW1AbGVveC5vcmc+CgoJRUxQVDg2MAkJTVBDODYwVAoKR3Vlbm5hZGkgTGlha2hvdmV0c2tpIDxnLmxpYWtob3ZldHNraUBnbXguZGU+CgoJbGlua3N0YXRpb24JTVBDODI0MQoKRGF2ZSBMaXUgPGRhdmVsaXVAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzE1RVJEQglNUEM4MzE1CglNUEM4MzJYRU1EUwlNUEM4MzJ4CglNUEM4MzYwRU1EUwlNUEM4MzYwCglNUEM4MzdYRU1EUwlNUEM4Mzd4CgpOeWUgTGl1IDxueWV0QHp1bWFuZXR3b3Jrcy5jb20+CgoJWlVNQQkJTVBDN3h4Xzc0eHgKCkt1bWFyIEdhbGEgPGt1bWFyLmdhbGFAZnJlZXNjYWxlLmNvbT4KCglNUEM4NTQwQURTCU1QQzg1NDAKCU1QQzg1NjBBRFMJTVBDODU2MAoJTVBDODU0MUNEUwlNUEM4NTQxCglNUEM4NTU1Q0RTCU1QQzg1NTUKCglNUEM4NjQxSFBDTglNUEM4NjQxRAoKUm9uIE1hZHJpZCA8aW5mb0BzaGVsZG9uaW5zdC5jb20+CgoJU0lNUEM4MzEzCU1QQzgzMTMKCkRhbiBNYWxlayA8ZGFuQGVtYmVkZGVkYWxsZXkuY29tPgoKCXN0eGdwMwkJTVBDODV4eAoJc3R4c3NhCQlNUEM4NXh4CglzdHh4dGMJCU1QQzh4eAoKRXJhbiBNYW4gPGVyYW5AbmJhc2UuY28uaWw+CgoJRVZCNjQyNjBfNzUwQ1gJTVBDNzUwQ1gKCkFuZHJlYSAibGxhbmRyZSIgTWFyc29uIDxhbmRyZWEubWFyc29uQGRhdmUtdGVjaC5pdD4KCglQUENoYW1lbGVvbkVWQglQUEM0MDVFUAoKUmVpbmhhcmQgTWV5ZXIgPHIubWV5ZXJAZW1rLWVsZWt0cm9uaWsuZGU+CgoJVE9QODYwCQlNUEM4NjBUCglUT1A1MjAwCQlNUEM1MjAwCgpUb2x1bmF5IE9ya3VuIDx0b3JrdW5AbmV4dGlvLmNvbT4KCgljc2IyNzIJCVBQQzQwNUdQCgljc2I0NzIJCVBQQzQwNUdQCgpKb2huIE90a2VuIDxqb3RrZW5Ac29mdGFkdmFuY2VzLmNvbT4KCglsdWFuCQlQUEM0NDBTUAoJdGFpaHUJCVBQQzQwNUVQCgpLZWl0aCBPdXR3YXRlciA8S2VpdGhfT3V0d2F0ZXJAbXZpcy5jb20+CgoJR0VOODYwVAkJTVBDODYwVAoJR0VOODYwVF9TQwlNUEM4NjBUCgpGcmFuayBQYW5ubyA8ZnBhbm5vQGRlbHBoaW50ZWNoLmNvbT4KCgllcDgyNjAJCU1QQzgyNjAKCkRlbmlzIFBldGVyIDxkLnBldGVyQG1wbC5jaD4KCglNSVA0MDUJCVBQQzR4eAoJUElQNDA1CQlQUEM0eHgKCktpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CgoJTVBDODM0OUVNRFMJTVBDODM0OQoKRGFuaWVsIFBvaXJvdCA8ZGFuLnBvaXJvdEB3aW5kcml2ZXIuY29tPgoKCXNiYzgyNDAJCU1QQzgyNDAKCXNiYzQwNQkJUFBDNDA1R1AKClJpY2FyZG8gUmliYWxkYSA8cmljYXJkby5yaWJhbGRhQHVhbS5lcz4KCgltbDUwNyAJCVBQQzQ0MHg1Cgl2NWZ4MzB0ZXZhbAlQUEM0NDB4NQoJeGlsaW54LXBwYzQwNS1nZW5lcmljCVBQQzQwNQoJeGlsaW54LXBwYzQ0MC1nZW5lcmljCVBQQzQ0MHg1CgpTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CgoJUDNNNzQ0OAkJTVBDNzQ0OAoKCXVjMTAwCQlNUEM4NTcKCglUUU04NXh4CQlNUEM4NTQwLzg1NDEvODU1NS84NTYwCgoJYWNhZGlhCQlQUEM0MDVFWgoJYWxwcgkJUFBDNDQwR1gKCWJhbWJvbwkJUFBDNDQwRVAKCWJ1bmJpbmdhCVBQQzQwNUVQCgljYW55b25sYW5kcwlQUEM0NjBFWAoJZWJvbnkJCVBQQzQ0MEdQCglnbGFjaWVyCQlQUEM0NjBHVAoJaGFsZWFrYWxhCVBQQzQwNUVYcgoJa2F0bWFpCQlQUEM0NDBTUGUKCWtpbGF1ZWEJCVBQQzQwNUVYCglsd21vbjUJCVBQQzQ0MEVQeAoJbWFrYWx1CQlQUEM0MDVFWAoJb2NvdGVhCQlQUEM0NDBHWAoJcDNwNDQwCQlQUEM0NDBHUAoJcGNzNDQwZXAJUFBDNDQwRVAKCXJhaW5pZXIJCVBQQzQ0MEdSeAoJc2VxdW9pYQkJUFBDNDQwRVB4CglzeWNhbW9yZQlQUEM0MDVHUHIKCXRhaXNoYW4JCVBQQzQ0MEdYCgl3YWxudXQJCVBQQzQwNUdQCgl5ZWxsb3dzdG9uZQlQUEM0NDBHUgoJeW9zZW1pdGUJUFBDNDQwRVAKCXpldXMJCVBQQzQwNUVQCgoJUDNNNzUwCQlQUEM3NTBGWC9HWC9HTAoKWXVzZGkgU2FudG9zbyA8eXVzZGlfc2FudG9zb0BhZGFwdGVjLmNvbT4KCglISURERU5fRFJBR09OCU1QQzgyNDEvTVBDODI0NQoKVHJhdmlzIFNhd3llciAodHJhdmlzLnNhd3llckBzYW5kYnVyc3QuY29tPgoKCUtBUkVGCQlQUEM0NDBHWAoJTUVUUk9CT1gJUFBDNDQwR1gKCkdlb3JnIFNjaGFyZHQgPHNjaGFyZHRAdGVhbS1jdGVjaC5kZT4KCglmeDEybW0JCVBQQzQwNQoKSGVpa28gU2Nob2NoZXIgPGhzQGRlbnguZGU+CgoJaWRzODI0NwkJTVBDODI0NwoJanVwaXRlcgkJTVBDNTIwMAoJa21ldGVyMQkJTVBDODM2MAoJa21zdXB4NAkJTVBDODUyVAoJbWdjb2dlCQlNUEM4MjQ3CgltZ3N1dmQJCU1QQzg1MgoJbXVjbWM1MgkJTVBDNTIwMAoJbXVhczMwMDEJTVBDODI3MAoJbXVuaWNzZQkJTVBDNTIwMAoJc2MzCQlQUEM0MDVHUAoJc3VlbjMJCUFSTTkyNkVKUyAoS2lya3dvb2QgU29DKQoJdWMxMDEJCU1QQzUyMDAKClBldGVyIERlIFNjaHJpanZlciA8cDJAbWluZC5iZT4KCglNTDIJCVBQQzR4eAoKQW5kcmUgU2Nod2FyeiA8YW5kcmUuc2Nod2FyekBtYXRyaXgtdmlzaW9uLmRlPgoKCW12YmNfcAkJTVBDNTIwMAoJbXZibG03CQlNUEM4MzQzCgpKb24gU21pcmwgPGpvbnNtaXJsQGdtYWlsLmNvbT4KCglwY20wMzAJCU1QQzUyMDAKClRpbXVyIFRhYmkgPHRpbXVyQGZyZWVzY2FsZS5jb20+CgoJTVBDODM0OUUtbUlUWAlNUEM4MzQ5CglNUEM4MzQ5RS1tSVRYLUdQIE1QQzgzNDkKCkVyaWsgVGhlaXNlbiA8ZXRoZWlzZW5AbWluZHNwcmluZy5jb20+CgoJVzdPTE1DCQlQUEM0eHgKCVc3T0xNRwkJUFBDNHh4CgpKaW0gVGhvbXBzb24gPGppbUBtdXNlbmtpLmNvbT4KCglNVVNFTktJCQlNUEM4MjQ1LzgyNDEKCVNhbmRwb2ludDgyNDUJTVBDODI0NQoKUnVuZSBUb3JnZXJzZW4gPHJ1bmV0QGlubm92c3lzLmNvbT4KCglNUEM4MjY2QURTCU1QQzgyNjYKClBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CgoJWFBFRElURTEwMDAJUFBDNDQwR1gKCVhQRURJVEU1MTcwCU1QQzg2NDAKCVhQRURJVEU1MjAwCU1QQzg1NDgKCVhQRURJVEU1MzcwCU1QQzg1NzIKCkRhdmlkIFVwZGVncmFmZiA8ZGF2ZUBjcmF5LmNvbT4KCglDUkFZTDEJCVBQQzR4eAoKQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CgoJTVBDODM2MEVSREsJTVBDODM2MAoKSm9zZWYgV2FnbmVyIDxXYWduZXJATWljcm9zeXMuZGU+CgoJQ1BDNDUJCU1QQzgyNDUKCVBNNTIwCQlNUEM1MjAwCgpTdGVwaGVuIFdpbGxpYW1zIDxzdGV2ZUBpY2FydXMuY29tPgoKCUpTRQkJUFBDNDA1R1ByCgpSb3kgWmFuZyA8dGllLWZlaS56YW5nQGZyZWVzY2FsZS5jb20+CgoJbXBjNzQ0OGhwYzIJTVBDNzQ0OAoKSm9obiBaaGFuIDx6aGFuekBzaW5vdmVlLmNvbT4KCglzdm1fc2M4eHgJTVBDOHh4CgpEZXRsZXYgWnVuZGVsIDxkenVAZGVueC5kZT4KCglpbmthNHgwCQlNUEM1MjAwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpVbmtub3duIC8gb3JwaGFuZWQgYm9hcmRzOgoKCUFEUzg2MAkJTVBDOHh4CglGQURTODIzCQlNUEM4eHgKCUZBRFM4NTBTQVIJTVBDOHh4CglGQURTODYwVAlNUEM4eHgKCUdFTklFVFYJCU1QQzh4eAoJSUFEMjEwCQlNUEM4eHgKCU1CWAkJTVBDOHh4CglNQlg4NjBUCQlNUEM4eHgKCU5YODIzCQlNUEM4eHgKCVJQWENsYXNzaWMJTVBDOHh4CglSUFhsaXRlCQlNUEM4eHgKCglFUklDCQlQUEM0eHgKCglNT1VTU0UJCU1QQzgyNHgKCglSUFhzdXBlcglNUEM4MjYwCglyc2Rwcm90bwlNUEM4MjYwCgoJRVZCNjQyNjAJTVBDN3h4Xzc0eHgKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQVJNIFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKUm93ZWwgQXRpZW56YSA8cm93ZWxAZGl3YWxhYnMuY29tPgoKCWFybWFkaWxsbwlBUk03MjBUCgpTdGVmYW5vIEJhYmljIDxzYmFiaWNAZGVueC5kZT4KCglwb2xhcmlzCQl4c2NhbGUKCXRyaXplcHNpdgl4c2NhbGUKCkRpcmsgQmVobWUgPGRpcmsuYmVobWVAZ21haWwuY29tPgoKCW9tYXAzX2JlYWdsZQlBUk0gQ09SVEVYLUE4IChPTUFQMzUzMCBTb0MpCgpFcmljIEJlbmFyZCA8ZXJpY0BldWtyZWEuY29tPgoKCWNwdWF0OTEJCUFSTTkyMFQKCWNwdTkyNjAJCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjAgU29DKQoJY3B1OUcyMAkJQVJNOTI2RUpTIChBVDkxU0FNOUcyMCBTb0MpCgpSaXNoaSBCaGF0dGFjaGFyeWEgPHJpc2hpQHRpLmNvbT4KCglvbWFwNTkxMm9zawlBUk05MjZFSlMKCkNsaWZmIEJyYWtlIDxjbGlmZi5icmFrZUBnbWFpbC5jb20+CgoJcHhhMjU1X2lkcAl4c2NhbGUKClJpY2sgQnJvbnNvbiA8cmlja0BlZm4ub3JnPgoKCUFUOTFSTTkyMDBESwlhdDkxcm05MjAwCgpQby1ZdSBDaHVhbmcgPHJhdGJlcnRAZmFyYWRheS10ZWNoLmNvbT4KCglhMzIwZXZiCQlGQTUyNiAoQVJNOTIwVC1saWtlKSAoYTMyMCBTb0MpCgpHZW9yZ2UgRy4gRGF2aXMgPGdkYXZpc0BtdmlzdGEuY29tPgoKCWFzc2FiZXQJCVNBMTEwMAoJZ2NwbHVzCQlTQTExMDAKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CglpbXgyN2xpdGUJaS5NWDI3Cglxb25nCQlpLk1YMzEKClRob21hcyBFbHN0ZSA8aW5mb0BlbHN0ZS5vcmc+CgoJbW9kbmV0NTAJQVJNNzIwVCAoTkVUKzUwKQoKRmFiaW8gRXN0ZXZhbSA8RmFiaW8uRXN0ZXZhbUBmcmVlc2NhbGUuY29tPgoKCW14MzFwZGsJCWkuTVgzMQoKUGV0ZXIgRmlndWxpIDxwZXBvc2hAZXRjLnNrPgoKCXdlcGVwMjUwCXhzY2FsZQoKRGFuaWVsIEdvcnN1bG93c2tpIDxkYW5pZWwuZ29yc3Vsb3dza2lAZXNkLmV1PgoKCW1lZXNjCQlBUk05MjZFSlMgKEFUOTFTQU05MjYzIFNvQykKCW90YzU3MAkJQVJNOTI2RUpTIChBVDkxU0FNOTI2MyBTb0MpCgpTZWRqaSBHYW91YW91PHNlZGppLmdhb3Vhb3VAYXRtZWwuY29tPgoJYXQ5MXNhbTlnMTBlawkJQVJNOTI2RUpTIChBVDkxU0FNOUcxMCBTb0MpCglhdDkxc2FtOW0xMGc0NWVrCUFSTTkyNkVKUyAoQVQ5MVNBTTlHNDUgU29DKQoKTWFyaXVzIEdy9mdlciA8bWFnQHN5c2dvLmRlPgoKCWltcGE3CQlBUk03MjBUIChFUDcyMTEpCgllcDczMTIJCUFSTTcyMFQgKEVQNzMxMikKCktzaGl0aWogR3VwdGEgPGtzaGl0aWpAdGkuY29tPgoKCW9tYXAxNTEwaW5uCUFSTTkyNVQKCW9tYXAxNjEwaW5uCUFSTTkyNkVKUwoKR3JhenZ5ZGFzIElnbm90YXMgPG5vdGFzYXNAZ21haWwuY29tPgoKCW9tYXAzX3BhbmRvcmEJQVJNIENPUlRFWC1BOCAoT01BUDN4eCBTb0MpCgpHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KCglzbWRrMjQwMAlBUk05MjBUCgl0cmFiCQlBUk05MjBUCgpNYXR0aGlhcyBLYWVobGNrZSA8bWF0dGhpYXNAa2FlaGxja2UubmV0PgoJZWRiOTMwMQkJCUFSTTkyMFQgKEVQOTMwMSkKCWVkYjkzMDIJCQlBUk05MjBUIChFUDkzMDIpCgllZGI5MzAyYQkJQVJNOTIwVCAoRVA5MzAyKQoJZWRiOTMwNwkJCUFSTTkyMFQgKEVQOTMwNykKCWVkYjkzMDdhCQlBUk05MjBUIChFUDkzMDcpCgllZGI5MzEyCQkJQVJNOTIwVCAoRVA5MzEyKQoJZWRiOTMxNQkJCUFSTTkyMFQgKEVQOTMxNSkKCWVkYjkzMTVhCQlBUk05MjBUIChFUDkzMTUpCgpLb25zdGFudGluIEtsZXRzY2hrZSA8a2xldHNjaGtlQHN5bmVydHJvbml4eC5kZT4KCXNjYjkzMjgJCUFSTTkyMFQKClNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KCiAgICAgICBvcGVucmRfYmFzZSAgICAgQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCgpNaW5reXUgS2FuZyA8bWs3LmthbmdAc2Ftc3VuZy5jb20+CgoJU01ES0MxMDAJQVJNIENPUlRFWC1BOCAoUzVQQzEwMCBTb0MpCgpOaXNoYW50IEthbWF0IDxuc2thbWF0QHRpLmNvbT4KCglvbWFwMTYxMGgyCUFSTTkyNkVKUwoKRnJlZGVyaWsgS3JpZXdpdHogPGZyZWRlcmlrQGtyaWV3aXR6LmV1PgoKCWRldmtpdDgwMDAJQVJNIENPUlRFWC1BOCAoT01BUDM1MzAgU29DKQoKU2VyZ2V5IEt1YnVzaHluIDxrc2lAa29pOC5uZXQ+CgoJRFYtRVZNCQlBUk05MjZFSlMKCVNPTkFUQQkJQVJNOTI2RUpTCglTQ0hNT09HSUUJQVJNOTI2RUpTCgpQcmFrYXNoIEt1bWFyIDxwcmFrYXNoQGVtYmVkeC5jb20+CgoJY2VyZjI1MAkJeHNjYWxlCgpWaXBpbiBLdW1hciA8dmlwaW4ua3VtYXJAc3QuY29tPgoKCXNwZWFyMzAwCUFSTTkyNkVKUyAoc3BlYXIzMDAgU29jKQoJc3BlYXIzMTAJQVJNOTI2RUpTIChzcGVhcjMxMCBTb2MpCglzcGVhcjMyMAlBUk05MjZFSlMgKHNwZWFyMzIwIFNvYykKCXNwZWFyNjAwCUFSTTkyNkVKUyAoc3BlYXI2MDAgU29jKQoKU2VyZ2V5IExhcGluIDxzbGFwaW5Ab3NzZmFucy5vcmc+CgoJYWZlYjkyNjAJQVJNOTI2RUpTIChBVDkxU0FNOTI2MCBTb0MpCgpHdWVubmFkaSBMaWFraG92ZXRza2kgPGcubGlha2hvdmV0c2tpQGdteC5kZT4KCglpbXgzMV9waHljb3JlX2VldAlpLk1YMzEKCW14MzFhZHMJCQlpLk1YMzEKCVNNREs2NDAwCQlTM0M2NDAwCgpOaXNoYW50aCBNZW5vbiA8bm1AdGkuY29tPgoKCW9tYXAzX3NkcDM0MzAJQVJNIENPUlRFWC1BOCAoT01BUDN4eCBTb0MpCglvbWFwM196b29tMQlBUk0gQ09SVEVYLUE4IChPTUFQM3h4IFNvQykKCkRhdmlkIE38bGxlciA8ZC5tdWVsbGVyQGVsc29mdC5jaD4KCglzbWRrMjQxMAlBUk05MjBUCglWQ01BOQkJQVJNOTIwVAoKRXJpYyBNaWxsYnJhbmR0IDxlbWlsbGJyYW5kdEBkZWthcmVzZWFyY2guY29tPgoKCWdhbGF4eTUyMDAJbXBjNTIwMAoKUm9sZiBPZmZlcm1hbm5zIDxyb2ZAc3lzZ28uZGU+CgoJc2hhbm5vbgkJU0ExMTAwCgpLeXVuZ21pbiBQYXJrIDxreXVuZ21pbi5wYXJrQHNhbXN1bmcuY29tPgoKCWFwb2xsb24JCUFSTTExMzZFSlMKClNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KCglkYXZpbmNpX2RtMzU1ZXZtCUFSTTkyNkVKUwoJZGF2aW5jaV9kbTM1NWxlb3BhcmQJQVJNOTI2RUpTCglkYXZpbmNpX2RtMzY1ZXZtCUFSTTkyNkVKUwoJZGF2aW5jaV9kbTY0Njdldm0JQVJNOTI2RUpTCgpQZXRlciBQZWFyc2UgPHBldGVyLnBlYXJzZUBhcm0uY29tPgoJaW50ZWdyYXRvcmNwCUFsbCBjdXJyZW50IEFSTSBzdXBwbGllZCAmIHN1cHBvcnRlZCBjb3JlIG1vZHVsZXMKCQkJLXNlZSBodHRwOi8vd3d3LmFybS5jb20vcHJvZHVjdHMvRGV2VG9vbHMvSGFyZHdhcmVfUGxhdGZvcm1zLmh0bWwKCXZlcnNhdGlsZQlBUk05MjZFSi1TCgl2ZXJzYXRpbGUJQVJNOTI2RUotUwoKRGF2ZSBQZXZlcmxleSA8ZHBldmVybGV5QG1wYy1kYXRhLmNvLnVrPgoKCW9tYXA3MzBwMglBUk05MjZFSlMKCk1hbmlrYW5kYW4gUGlsbGFpIDxtYW5pLnBpbGxhaUB0aS5jb20+CgoJb21hcDNfZXZtCUFSTSBDT1JURVgtQTggKE9NQVAzeHggU29DKQoKU3RlbGlhbiBQb3AgPHN0ZWxpYW4ucG9wQGxlYWR0ZWNoZGVzaWduLmNvbT4KCglhdDkxY2FwOWFkawlBUk05MjZFSlMgKEFUOTFDQVA5IFNvQykKCWF0OTFzYW05MjYwZWsJQVJNOTI2RUpTIChBVDkxU0FNOTI2MCBTb0MpCglhdDkxc2FtOTI2MWVrCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjEgU29DKQoJYXQ5MXNhbTkyNjNlawlBUk05MjZFSlMgKEFUOTFTQU05MjYzIFNvQykKCWF0OTFzYW05cmxlawlBUk05MjZFSlMgKEFUOTFTQU05UkwgU29DKQoKVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgoKCW9tYXAzX3pvb20yCUFSTSBDT1JURVgtQTggKE9NQVAzeHggU29DKQoKSm9obiBSaWdieSA8amNyaWdieUBnbWFpbC5jb20+CgoJdHgyNQkJaS5NWDI1CgpTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CgoJaXhkcGc0MjUJeHNjYWxlCglwZG5iMwkJeHNjYWxlCglzY3B1CQl4c2NhbGUKCkFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmlAdW5pcHYuaXQ+Ck5vbWFkaWsgTGludXggVGVhbSA8U1ROX1dNTV9ub21hZGlrX2xpbnV4QGxpc3Quc3QuY29tPgoKCW5oazg4MTUJCUFSTTkyNkVKUyAoTm9tYWRpayA4ODE1IFNvYykKClN0ZXZlIFNha29tYW4gPHNha29tYW5AZ21haWwuY29tPgoKCW9tYXAzX292ZXJvCUFSTSBDT1JURVgtQTggKE9NQVAzeHggU29DKQoKSmVucyBTY2hhcnNpZyA8ZXN3QGJ1cy1lbGVrdHJvbmlrLmRlPgoKCWViX2NwdXg5azIJQVJNOTIwVCAoQVQ5MVJNOTIwMCBTb0MpCgpSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXguZGU+CgoJY3NiMjI2CQl4c2NhbGUKCWlubm9rb20JCXhzY2FsZQoKTWljaGFlbCBTY2h3aW5nZW4gPG1pY2hhZWxAc2Nod2luZ2VuLm9yZz4KCglhY3R1eDEJCXhzY2FsZQoJYWN0dXgyCQl4c2NhbGUKCWFjdHV4MwkJeHNjYWxlCglhY3R1eDQJCXhzY2FsZQoKQW5kcmVhIFNjaWFuIDxhbmRyZWEuc2NpYW5AZGF2ZS10ZWNoLml0PgoKCUIyCQlBUk03VERNSSAoUzNDNDRCMFgpCgpOaWNrIFRob21wc29uIDxuaWNrLnRob21wc29uQGdlZmFudWMuY29tPgoKCWRhODMwZXZtCUFSTTkyNkVKUyAoREE4MzAvT01BUC1MMTM3KQoKQWxiaW4gVG9ubmVycmUgPGFsYmluLnRvbm5lcnJlQGZyZWUtZWxlY3Ryb25zLmNvbT4KCglzYmMzNV9hOWcyMAlBUk05MjZFSlMgKEFUOTFTQU05RzIwIFNvQykKCXRueV9hOTI2MAlBUk05MjZFSlMgKEFUOTFTQU05MjYwIFNvQykKCXRueV9hOWcyMAlBUk05MjZFSlMgKEFUOTFTQU05RzIwIFNvQykKCkdyZWcgVW5nZXJlciA8Z3JlZy51bmdlcmVyQG9wZW5nZWFyLmNvbT4KCgljbTQwMDgJCWtzODY5NXAKCWNtNDExNgkJa3M4Njk1cAoJY200MTQ4CQlrczg2OTVwCgpIdWdvIFZpbGxlbmV1dmUgPGh1Z28udmlsbGVuZXV2ZUBseXJ0ZWNoLmNvbT4KCglTRkZTRFIJCUFSTTkyNkVKUwoKUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgoKCW12ODhmNjI4MWd0d19nZQlBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKCXJkNjI4MWEJCUFSTTkyNkVKUyAoS2lya3dvb2QgU29DKQoJc2hlZXZhcGx1ZwlBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKClJpY2hhcmQgV29vZHJ1ZmYgPHItd29vZHJ1ZmYyQHRpLmNvbT4KCglvbWFwMjQyMGg0CUFSTTExMzZFSlMKCkFsZXggWvxwa2UgPGF6dUBzeXNnby5kZT4KCglsYXJ0CQlTQTExMDAKCWRucDExMTAJCVNBMTExMAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVW5rbm93biAvIG9ycGhhbmVkIGJvYXJkczoKIAlCb2FyZAkJQ1BVCUxhc3Qga25vd24gbWFpbnRhaW5lciAvIENvbW1lbnQKLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoJY3JhZGxlCQl4c2NhbGUJS3lsZSBIYXJyaXMgPGtoYXJyaXNAbmV4dXMtdGVjaC5uZXQ+IC8gZGVhZCBhZGRyZXNzCglpeGRwNDI1CQl4c2NhbGUJS3lsZSBIYXJyaXMgPGtoYXJyaXNAbmV4dXMtdGVjaC5uZXQ+IC8gZGVhZCBhZGRyZXNzCglsdWJib2NrCQl4c2NhbGUJS3lsZSBIYXJyaXMgPGtoYXJyaXNAbmV4dXMtdGVjaC5uZXQ+IC8gZGVhZCBhZGRyZXNzCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgeDg2IFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKRGFuaWVsIEVuZ3N0cvZtIDxkYW5pZWxAb21pY3Jvbi5zZT4KCglzYzUyMF9jZHAJeDg2CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTUlQUyBTeXN0ZW1zOgkJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQlDUFUJCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJaW5jYWlwCQlNSVBTMzIgNEtjCglwdXJwbGUJCU1JUFM2NCA1S2MKClRob21hcyBMYW5nZSA8dGhvbWFzQGNvcmVsYXR1cy5zZT4KCWRiYXUxeDAwCU1JUFMzMiBBdTEwMDAKCWd0aDIJCU1JUFMzMiBBdTEwMDAKClZsYWQgTHVuZ3UgPHZsYWQubHVuZ3VAd2luZHJpdmVyLmNvbT4KCXFlbXVfbWlwcwlNSVBTMzIKClN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KCgl2Y3RfeHh4CQlNSVBTMzIgNEtjCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTmlvcy0zMiBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKU3RlcGhhbiBMaW56IDxsaW56QGxpLXByby5uZXQ+CgoJREsxUzEwCQlOaW9zLTMyCglBRE5QRVNDMQlOaW9zLTMyCgpTY290dCBNY051dHQgPHNtY251dHRAcHN5ZW50LmNvbT4KCglESzFDMjAJCU5pb3MtMzIKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBOaW9zLUlJIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpTY290dCBNY051dHQgPHNtY251dHRAcHN5ZW50LmNvbT4KCglQQ0k1NDQxCQlOaW9zLUlJCglQSzFDMjAJCU5pb3MtSUkKCUVQMUMyMAkJTmlvcy1JSQoJRVAxUzEwCQlOaW9zLUlJCglFUDFTNDAJCU5pb3MtSUkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNaWNyb0JsYXplIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpNaWNoYWwgU2ltZWsgPG1vbnN0ckBtb25zdHIuZXU+CgoJbWljcm9ibGF6ZS1nZW5lcmljCU1pY3JvQmxhemUKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDb2xkZmlyZSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKSGF5ZGVuIEZyYXNlciA8SGF5ZGVuLkZyYXNlckBmcmVlc2NhbGUuY29tPgoKCU01MjUzRVZCRQltY2Y1MngyCgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglUQVNSRUcJCU1DRjUyNDkKClRzaUNodW5nIExpZXcgPFRzaS1DaHVuZy5MaWV3QGZyZWVzY2FsZS5jb20+CgoJTTUyMjc3RVZCCW1jZjUyMjd4CglNNTIzNUVWQgltY2Y1MngyCglNNTI1M0RFTU8JbWNmNTJ4MgoJTTUzMDE3RVZCCW1jZjUzMngKCU01MzI5RVZCCW1jZjUzMngKCU01MzczRVZCCW1jZjUzMngKCU01NDQ1NUVWQgltY2Y1NDQ1eAoJTTU0NzVFVkIJbWNmNTQ3eF84eAoJTTU0ODVFVkIJbWNmNTQ3eF84eAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEFWUjMyIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpIYW5zLUNocmlzdGlhbiBFZ3R2ZWR0IDxoYW5zLWNocmlzdGlhbi5lZ3R2ZWR0QGF0bWVsLmNvbT4KCglGQVZSLTMyLUVaS0lUCQlBVDMyQVA3MDAwCgpNYXJrIEphY2tzb24gPG1wZmpAbWltYy5jby51az4KCglNSU1DMjAwCQkJQVQzMkFQNzAwMAoKQWxleCBSYWltb25kaSA8YWxleC5yYWltb25kaUBtaXJvbWljby5jaD4KSnVsaWVuIE1heSA8anVsaWVuLm1heUBtaXJvbWljby5jaD4KCglIQU1NRVJIRUFECQlBVDMyQVA3MDAwCgpIYWF2YXJkIFNraW5uZW1vZW4gPGhhYXZhcmQuc2tpbm5lbW9lbkBhdG1lbC5jb20+CgoJQVRTVEsxMDAwCUFUMzJBUDd4eHgKCUFUU1RLMTAwMglBVDMyQVA3MDAwCglBVFNUSzEwMDMJQVQzMkFQNzAwMQoJQVRTVEsxMDA0CUFUMzJBUDcwMDIKCUFUU1RLMTAwNglBVDMyQVA3MDAwCglBVE5HVzEwMAlBVDMyQVA3MDAwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU3VwZXJIIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpZdXN1a2UgR29kYSA8Z29kYS55dXN1a2VAcmVuZXNhcy5jb20+CgoJTUlHTy1SCQlTSDc3MjIKCk5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdUBuaWdhdXJpLm9yZz4KCQkgIDxpd2FtYXRzdS5ub2J1aGlyb0ByZW5lc2FzLmNvbT4KCglNUzc3NTBTRQlTSDc3NTAKCU1TNzcyMlNFCVNINzcyMgoJUjc3ODBNUAkJU0g3NzgwCglSMkRQbHVzCQlTSDc3NTFSCglTSDc3NjNSRFAJU0g3NzYzCglSU0s3MjAzCQlTSDcyMDMKCUFQMzI1UlhBCVNINzcyMwoKTWFyayBKb25hcyA8bWFyay5qb25hc0BkZS5ib3NjaC5jb20+CgoJbXByMgkJU0g3NzIwCgpZb3NoaWhpcm8gU2hpbW9kYSA8c2hpbW9kYS55b3NoaWhpcm9AcmVuZXNhcy5jb20+CgoJTVM3NzIwU0UJU0g3NzIwCglSMFA3Nzg1MDAxMVJMCVNINzc4NQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEJsYWNrZmluIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CkJsYWNrZmluIFRlYW0gPHUtYm9vdC1kZXZlbEBibGFja2Zpbi51Y2xpbnV4Lm9yZz4KCglCRjUxOEYtRVpCUkQJQkY1MTgKCUJGNTI2LUVaQlJECUJGNTI2CglCRjUyNy1FWktJVAlCRjUyNwoJQkY1MjctRVpLSVQtVjIJQkY1MjcKCUJGNTMzLUVaS0lUCUJGNTMzCglCRjUzMy1TVEFNUAlCRjUzMwoJQkY1MzctUE5BVglCRjUzNwoJQkY1MzctU1RBTVAJQkY1MzcKCUJGNTM4Ri1FWktJVAlCRjUzOAoJQkY1NDgtRVpLSVQJQkY1NDgKCUJGNTYxLUVaS0lUCUJGNTYxCgpCbHVldGVjaG5peCBUaW55Ym9hcmRzIDxibHVldGVjaG5peEBibGFja2Zpbi51Y2xpbnV4Lm9yZz4KQmxhY2tmaW4gVGVhbSA8dS1ib290LWRldmVsQGJsYWNrZmluLnVjbGludXgub3JnPgoKCUNNLUJGNTI3CUJGNTI3CglDTS1CRjUzMwlCRjUzMwoJQ00tQkY1MzdFCUJGNTM3CglDTS1CRjUzN1UJQkY1MzcKCUNNLUJGNTQ4CUJGNTQ4CglDTS1CRjU2MQlCRjU2MQoJVENNLUJGNTE4CUJGNTE4CglUQ00tQkY1MzcJQkY1MzcKCk1hcnRpbiBTdHJ1YmVsIDxzdHJ1YmVsQHNlY3Rpb241LmNoPgpCbGFja2ZpbiBUZWFtIDx1LWJvb3QtZGV2ZWxAYmxhY2tmaW4udWNsaW51eC5vcmc+CgoJQkY1MzctbWlub3RhdXIJQkY1MzcKCUJGNTM3LXNydjEJQkY1MzcKCldvanRlayBTa3Vsc2tpIDxza3Vsc2tpQHBhcy5yb2NoZXN0ZXIuZWR1PgpCZW5qYW1pbiBNYXR0aGV3cyA8bWJlbjEyQGdtYWlsLmNvbT4KCglCTEFDS1NUQU1QCUJGNTMyCgpJLVNZU1QgTWljcm9tb2R1bGUgPHN1cHBvcnRAaS1zeXN0LmNvbT4KQmxhY2tmaW4gVGVhbSA8dS1ib290LWRldmVsQGJsYWNrZmluLnVjbGludXgub3JnPgoKCUlCRi1EU1A1NjEJQkY1NjEKClZhbGVudGluIFlha292ZW5rb3YgPHlha292ZW5rb3ZAbmlpc3R0LnJ1PgpBbnRvbiBTaHVycGluIDxzaHVycGluLmFhQG5paXN0dC5ydT4KCglCRjU2MS1BQ1ZJTE9OCUJGNTYxCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRW5kIG9mIE1BSU5UQUlORVJTIGxpc3QJCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK