IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgYW5kIENjOiB0aGUgPHUtYm9vdEBsaXN0cy5kZW54LmRlPiBtYWlsaW5nIGxpc3QuCQkJIwojCQkJCQkJCQkJIwojIE5vdGU6IGxpc3RzIHNvcnRlZCBieSBNYWludGFpbmVyIE5hbWUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBQb3dlclBDIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KCglQMjAyMFJEQglQMjAyMAoKR3JlZyBBbGxlbiA8Z2FsbGVuQGFybHV0LnV0ZXhhcy5lZHU+CgoJVVRYODI0NQkJTVBDODI0NQoKUGFudGVsaXMgQW50b25pb3UgPHBhbnRvQGludHJhY29tLmdyPgoKCU5FVFZJQQkJTVBDOHh4CgpSZWluaGFyZCBBcmx0IDxyZWluaGFyZC5hcmx0QGVzZC1lbGVjdHJvbmljcy5jb20+CgoJY3BjaTUyMDAJTVBDNTIwMAoJbWVjcDUxMjMJTVBDNTEyMQoJbWVjcDUyMDAJTVBDNTIwMAoJcGY1MjAwCQlNUEM1MjAwCgoJY2FkZHkyCQlNUEM4MzQ5Cgl2bWU4MzQ5CQlNUEM4MzQ5CgoJQ1BDSTc1MAkJUFBDNzUwRlgvR1gKCll1bGkgQmFyY29oZW4gPHl1bGlAYXJhYmVsbGFzdy5jb20+CgoJQWRkZXIJCU1QQzg3eC9NUEM4NTJUCgllcDgyNDgJCU1QQzgyNDgKCUlTUEFOCQlNUEM4MjYwCglNUEM4MjYwQURTCU1QQzgyNngvTVBDODI3eC9NUEM4MjgwCglSYXR0bGVyCQlNUEM4MjQ4CglaUEMxOTAwCQlNUEM4MjY1CgpNaWNoYWVsIEJhcmtvd3NraSA8bWljaGFlbC5iYXJrb3dza2lAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzIzRVJEQglNUEM4MzIzCgpKZXJyeSBWYW4gQmFyZW4gPGdlcmFsZC52YW5iYXJlbkBzbWl0aHMtYWVyb3NwYWNlLmNvbT4KCglzYWNzbmcJCU1QQzgyNjAKCk9saXZlciBCcm93biA8b2Jyb3duQGFkdmVudG5ldHdvcmtzLmNvbT4KCglndzgyNjAJCU1QQzgyNjAKCkN5cmlsIENoZW1wYXJhdGh5IDxjeXJpbEB0aS5jb20+CgoJdG5ldHYxMDd4X2V2bQl0bmV0djEwN3gKCkNvbm4gQ2xhcmsgPGNsYXJrQGVzdGVlbS5jb20+CgoJRVNURUVNMTkyRQlNUEM4eHgKCkpvZSBEJ0FiYnJhY2NpbyA8bGpkMDE1QGZyZWVzY2FsZS5jb20+CgoJTVBDODM3eEVSREIJTVBDODM3eAoKS+FyaSBEYXbt8HNzb24gPGtkQGZsYWdhLmlzPgoKCUZMQUdBRE0JCU1QQzgyMwoKVG9yc3RlbiBEZW1rZSA8dG9yc3Rlbi5kZW1rZUBmY2kuY29tPgoKCWVYYWxpb24JCU1QQzgyNHgKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJSWNlQ3ViZV81MjAwCU1QQzUyMDAKCglBUklBCQlNUEM1MTIxZQoKCUFNWDg2MAkJTVBDODYwCglFVFgwOTQJCU1QQzg1MAoJRlBTODUwTAkJTVBDODUwCglGUFM4NjBMCQlNUEM4NjAKCUlDVTg2MgkJTVBDODYyCglJUDg2MAkJTVBDODYwCglJVk1MMjQJCU1QQzg2MAoJSVZNTDI0XzEyOAlNUEM4NjAKCUlWTUwyNF8yNTYJTVBDODYwCglJVk1TOAkJTVBDODYwCglJVk1TOF8xMjgJTVBDODYwCglJVk1TOF8yNTYJTVBDODYwCglMQU5URUMJCU1QQzg1MAoJTFdNT04JCU1QQzgyMwoJUjM2ME1QSQkJTVBDODIzCglSTVUJCU1QQzg1MAoJUlJ2aXNpb24JTVBDODIzCglTTTg1MAkJTVBDODUwCglTUEQ4MjNUUwlNUEM4MjMKCVRRTTgyM0wJCU1QQzgyMwoJVFFNODIzTF9MQ0QJTVBDODIzCglUUU04NTBMCQlNUEM4NTAKCVRRTTg1NUwJCU1QQzg1NQoJVFFNODYwTAkJTVBDODYwCglUUU04NjBMX0ZFQwlNUEM4NjAKCWMybW9uCQlNUEM4NTUKCWhlcm1lcwkJTVBDODYwCglsd21vbgkJTVBDODIzCgoJQ1U4MjQJCU1QQzgyNDAKCVNhbmRwb2ludDgyNDAJTVBDODI0MAoKCUFUQwkJTVBDODI1MAoJUE04MjUJCU1QQzgyNTAKCglUUU04MjU1CQlNUEM4MjU1CgoJQ1BVODYJCU1QQzgyNjAKCVBNODI2CQlNUEM4MjYwCglUUU04MjYwCQlNUEM4MjYwCgoJUDNHNAkJTVBDNzQxMAoKCVBDSVBQQzIJCU1QQzc1MAoJUENJUFBDNgkJTVBDNzUwCgpKb24gRGlla2VtYSA8am9uLmRpZWtlbWFAc21pdGhzLWFlcm9zcGFjZS5jb20+CgoJc2JjODI2MAkJTVBDODI2MAoKRGlyayBFaWJhY2ggPGVpYmFjaEBnZHN5cy5kZT4KCglkZXZjb25jZW50ZXIJUFBDNDYwRVgKCWRsdmlzaW9uICAgICAgICBQUEM0MDVFUAoJZ2RwcGM0NDBldHgJUFBDNDQwRVAvR1IKCWludGlwCQlQUEM0NjBFWAoJaW8JCVBQQzQwNUVQCglpb2NvbgkJUFBDNDA1RVAKCW5lbwkJUFBDNDA1RVAKCkRhdmUgRWxsaXMgPERHRUBzaXhuZXRpby5jb20+CgoJU1hOSTg1NVQJTVBDOHh4CgpUaG9tYXMgRnJpZWRlbiA8VGhvbWFzRkBoeXBlcmlvbi1lbnRlcnRhaW5tZW50LmNvbT4KCglBbWlnYU9uZUczU0UJTVBDN3h4CgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglBRENJT1AJCUlPUDQ4MCAoUFBDNDAxKQoJQVBDNDA1CQlQUEM0MDVHUAoJQVI0MDUJCVBQQzQwNUdQCglBU0g0MDUJCVBQQzQwNUVQCglDQU5CVAkJUFBDNDA1Q1IKCUNQQ0kyRFAJCVBQQzQwNUdQCglDUENJNDA1CQlQUEM0MDVHUAoJQ1BDSTQwNTIJUFBDNDA1R1AKCUNQQ0k0MDVBQglQUEM0MDVHUAoJQ1BDSTQwNURUCVBQQzQwNUdQCglDUENJSVNFUjQJUFBDNDA1R1AKCURBU0FfU0lNCUlPUDQ4MCAoUFBDNDAxKQoJRFA0MDUJCVBQQzQwNUVQCglEVTQwNQkJUFBDNDA1R1AKCURVNDQwCQlQUEM0NDBFUHgKCUcyMDAwCQlQUEM0MDVFUAoJSEg0MDUJCVBQQzQwNUVQCglIVUI0MDUJCVBQQzQwNUVQCglPQ1JUQwkJUFBDNDA1R1AKCU9SU0cJCVBQQzQwNUdQCglQQ0k0MDUJCVBQQzQwNUdQCglQTFU0MDUJCVBQQzQwNUVQCglQTUM0MDUJCVBQQzQwNUdQCglQTUM0MDVERQlQUEM0MDVFUAoJUE1DNDQwCQlQUEM0NDBFUHgKCVZPSDQwNQkJUFBDNDA1RVAKCVZPTTQwNQkJUFBDNDA1RVAKCVdVSDQwNQkJUFBDNDA1RVAKCUNNUzcwMAkJUFBDNDA1RVAKCk5pa2xhdXMgR2lnZXIgPG5pa2xhdXMuZ2lnZXJAbmV0c3RhbC5jb20+CgoJSENVNAkJUFBDNDA1R1ByCglNQ1UyNQkJUFBDNDA1R1ByCglIQ1U1CQlQUEM0NDBFUHgKClNpZGRhcnRoIEdvcmUgPGdvcmVzQG1hcnZlbGwuY29tPgoKCWd1cnVwbHVnCUFSTTkyNkVKUyAoS2lya3dvb2QgU29DKQoKRnJhbmsgR290dHNjaGxpbmcgPGZnb3R0c2NobGluZ0BlbHRlYy5kZT4KCglNSFBDCQlNUEM4eHgKCglCQUI3eHgJCU1QQzc0MC9NUEM3NTAKCldvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGRlbnguZGU+CgoJaXBlazAxCQlNUEM1MjAwCgoJUE42MgkJTVBDODI0MAoJSVBIQVNFNDUzOQlNUEM4MjYwCglTQ00JCU1QQzgyNjAKCkpvZSBIYW1tYW4gPGpvZS5oYW1tYW5AZW1iZWRkZWRzcGVjaWFsdGllcy5jb20+CgoJc2JjODU0OAkJTVBDODU0OAoJc2JjODY0MWQJTVBDODY0MUQKCktsYXVzIEhleWRlY2sgPGhleWRlY2tAa2llYmFjay1wZXRlci5kZT4KCglLVVA0SwkJTVBDODU1CglLVVA0WAkJTVBDODU5CgpJbGtvIElsaWV2IDxpbGlldkByb25ldGl4LmF0PgoKCVBNOTI2MQkJQVQ5MVNBTTkyNjEKCVBNOTI2MwkJQVQ5MVNBTTkyNjMKCVBNOUc0NQkJQVJNOTI2RUpTIChBVDkxU0FNOUc0NSBTb0MpCgpHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KCglxdWFkMTAwaGQJUFBDNDA1RVAKCk11cnJheSBKZW5zZW4gPE11cnJheS5KZW5zZW5AY3Npcm8uYXU+CgoJY29nZW50X21wYzh4eAlNUEM4eHgKCgljb2dlbnRfbXBjODI2MAlNUEM4MjYwCgloeW1vZAkJTVBDODI2MAoKTGFycnkgSm9obnNvbiA8bHJqQGFjbS5vcmc+CgoJa29yYXQJCVBQQzQ0MEVQeAoKRmVuZyBLYW4gPGZrYW5AYW1jYy5jb20+CgoJcmVkd29vZAkJCVBQQzR4eAoKQnJhZCBLZW1wIDxCcmFkLktlbXBAc2VyYW5vYS5jb20+CgoJcHBtYzgyNjAJTVBDODI2MAoKU2FuZ21vb24gS2ltIDxkb2dvaWxAZXRpbnN5cy5jb20+CgoJZGVicmlzCQlNUEM4MjQ1CglLVk1FMDgwCQlNUEM4MjQ1CgpSb2JlcnQgTGF6YXJza2kgPHJvYmVydGxhemFyc2tpQGdtYWlsLmNvbT4KCglBVFVNODU0OAlNUEM4NTQ4CgpUaGUgTEVPWCB0ZWFtIDx0ZWFtQGxlb3gub3JnPgoKCUVMUFQ4NjAJCU1QQzg2MFQKCkd1ZW5uYWRpIExpYWtob3ZldHNraSA8Zy5saWFraG92ZXRza2lAZ214LmRlPgoKCWxpbmtzdGF0aW9uCU1QQzgyNDEKCkRhdmUgTGl1IDxkYXZlbGl1QGZyZWVzY2FsZS5jb20+CgoJTVBDODMxNUVSREIJTVBDODMxNQoJTVBDODMyWEVNRFMJTVBDODMyeAoJTVBDODM2MEVNRFMJTVBDODM2MAoJTVBDODM3WEVNRFMJTVBDODM3eAoKTnllIExpdSA8bnlldEB6dW1hbmV0d29ya3MuY29tPgoKCVpVTUEJCU1QQzd4eF83NHh4CgpLdW1hciBHYWxhIDxrdW1hci5nYWxhQGZyZWVzY2FsZS5jb20+CgoJTVBDODU0MEFEUwlNUEM4NTQwCglNUEM4NTYwQURTCU1QQzg1NjAKCU1QQzg1NDFDRFMJTVBDODU0MQoJTVBDODU1NUNEUwlNUEM4NTU1CgoJTVBDODY0MUhQQ04JTVBDODY0MUQKClJvbiBNYWRyaWQgPGluZm9Ac2hlbGRvbmluc3QuY29tPgoKCVNJTVBDODMxMwlNUEM4MzEzCgpEYW4gTWFsZWsgPGRhbkBlbWJlZGRlZGFsbGV5LmNvbT4KCglzdHhncDMJCU1QQzg1eHgKCXN0eHNzYQkJTVBDODV4eAoJc3R4eHRjCQlNUEM4eHgKCkVyYW4gTWFuIDxlcmFuQG5iYXNlLmNvLmlsPgoKCUVWQjY0MjYwXzc1MENYCU1QQzc1MENYCgpBbmRyZWEgImxsYW5kcmUiIE1hcnNvbiA8YW5kcmVhLm1hcnNvbkBkYXZlLXRlY2guaXQ+CgoJUFBDaGFtZWxlb25FVkIJUFBDNDA1RVAKClRpcnVtYWxhIE1hcnJpIDx0bWFycmlAYXBtLmNvbT4KCglibHVlc3RvbmUgICAgICAgQVBNODIxWFgKClJlaW5oYXJkIE1leWVyIDxyZWluaGFyZC5tZXllckBlbWstZWxla3Ryb25pay5kZT4KCglUT1A4NjAJCU1QQzg2MFQKCVRPUDUyMDAJCU1QQzUyMDAKCVRPUDkwMDAJCUFSTTkyNkVKUyAoQVQ5MVNBTTl4eHggU29DKQoKVG9sdW5heSBPcmt1biA8dG9ya3VuQG5leHRpby5jb20+CgoJY3NiMjcyCQlQUEM0MDVHUAoJY3NiNDcyCQlQUEM0MDVHUAoKSm9obiBPdGtlbiA8am90a2VuQHNvZnRhZHZhbmNlcy5jb20+CgoJbHVhbgkJUFBDNDQwU1AKCXRhaWh1CQlQUEM0MDVFUAoKS2VpdGggT3V0d2F0ZXIgPEtlaXRoX091dHdhdGVyQG12aXMuY29tPgoKCUdFTjg2MFQJCU1QQzg2MFQKCUdFTjg2MFRfU0MJTVBDODYwVAoKRnJhbmsgUGFubm8gPGZwYW5ub0BkZWxwaGludGVjaC5jb20+CgoJZXA4MjYwCQlNUEM4MjYwCgpEZW5pcyBQZXRlciA8ZC5wZXRlckBtcGwuY2g+CgoJTUlQNDA1CQlQUEM0eHgKCVBJUDQwNQkJUFBDNHh4CgpLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgoKCU1QQzgzNDlFTURTCU1QQzgzNDkKCkRhbmllbCBQb2lyb3QgPGRhbi5wb2lyb3RAd2luZHJpdmVyLmNvbT4KCglzYmM4MjQwCQlNUEM4MjQwCglzYmM0MDUJCVBQQzQwNUdQCgpTZXJnZWkgUG9zZWxlbm92IDxzcG9zZWxlbm92QGVtY3JhZnQuY29tPgoKCWE0bTA3MgkJTVBDNTIwMAoKU3VkaGFrYXIgUmFqYXNoZWtoYXJhIDxzdWRoYWthci5yYWpAdGkuY29tPgoKCWRhODUwZXZtCUFSTTkyNkVKUyAoREE4NTAvT01BUC1MMTM4KQoKUmljYXJkbyBSaWJhbGRhIDxyaWNhcmRvLnJpYmFsZGFAdWFtLmVzPgoKCW1sNTA3IAkJUFBDNDQweDUKCXY1ZngzMHRldmFsCVBQQzQ0MHg1Cgl4aWxpbngtcHBjNDA1LWdlbmVyaWMJUFBDNDA1Cgl4aWxpbngtcHBjNDQwLWdlbmVyaWMJUFBDNDQweDUKClN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KCglQM003NDQ4CQlNUEM3NDQ4CgoJdWMxMDAJCU1QQzg1NwoKCVRRTTg1eHgJCU1QQzg1NDAvODU0MS84NTU1Lzg1NjAKCglhY2FkaWEJCVBQQzQwNUVaCglhbHByCQlQUEM0NDBHWAoJYmFtYm9vCQlQUEM0NDBFUAoJYnVuYmluZ2EJUFBDNDA1RVAKCWNhbnlvbmxhbmRzCVBQQzQ2MEVYCgllYm9ueQkJUFBDNDQwR1AKCWdsYWNpZXIJCVBQQzQ2MEdUCgloYWxlYWthbGEJUFBDNDA1RVhyCglpY29uCQlQUEM0NDBTUGUKCWthdG1haQkJUFBDNDQwU1BlCglraWxhdWVhCQlQUEM0MDVFWAoJbHdtb241CQlQUEM0NDBFUHgKCW1ha2FsdQkJUFBDNDA1RVgKCW9jb3RlYQkJUFBDNDQwR1gKCXAzcDQ0MAkJUFBDNDQwR1AKCXBjczQ0MGVwCVBQQzQ0MEVQCglyYWluaWVyCQlQUEM0NDBHUngKCXNlcXVvaWEJCVBQQzQ0MEVQeAoJc3ljYW1vcmUJUFBDNDA1R1ByCgl0M2NvcnAJCVBQQzQ2MEdUCgl0YWlzaGFuCQlQUEM0NDBHWAoJd2FsbnV0CQlQUEM0MDVHUAoJeWVsbG93c3RvbmUJUFBDNDQwR1IKCXlvc2VtaXRlCVBQQzQ0MEVQCgl6ZXVzCQlQUEM0MDVFUAoKCVAzTTc1MAkJUFBDNzUwRlgvR1gvR0wKCll1c2RpIFNhbnRvc28gPHl1c2RpX3NhbnRvc29AYWRhcHRlYy5jb20+CgoJSElEREVOX0RSQUdPTglNUEM4MjQxL01QQzgyNDUKClRyYXZpcyBTYXd5ZXIgKHRyYXZpcy5zYXd5ZXJAc2FuZGJ1cnN0LmNvbT4KCglLQVJFRgkJUFBDNDQwR1gKCU1FVFJPQk9YCVBQQzQ0MEdYCgpHZW9yZyBTY2hhcmR0IDxzY2hhcmR0QHRlYW0tY3RlY2guZGU+CgoJZngxMm1tCQlQUEM0MDUKCkhlaWtvIFNjaG9jaGVyIDxoc0BkZW54LmRlPgoKCWNoYXJvbgkJTVBDNTIwMAoJaWRzODI0NwkJTVBDODI0NwoJanVwaXRlcgkJTVBDNTIwMAoJa21ldGVyMQkJTVBDODM2MAoJa21zdXB4NAkJTVBDODUyVAoJbWdjb2dlCQlNUEM4MjQ3CgltZ3N1dmQJCU1QQzg1MgoJbXVjbWM1MgkJTVBDNTIwMAoJbXVhczMwMDEJTVBDODI3MAoJbXVuaWNzZQkJTVBDNTIwMAoJc2MzCQlQUEM0MDVHUAoJc3VlbjMJCUFSTTkyNkVKUyAoS2lya3dvb2QgU29DKQoJdWMxMDEJCU1QQzUyMDAKCXZlODMxMwkJTVBDODMxMwoKUGV0ZXIgRGUgU2NocmlqdmVyIDxwMkBtaW5kLmJlPgoKCU1MMgkJUFBDNHh4CgpBbmRyZSBTY2h3YXJ6IDxhbmRyZS5zY2h3YXJ6QG1hdHJpeC12aXNpb24uZGU+CgoJbXZiY19wCQlNUEM1MjAwCgltdmJsbTcJCU1QQzgzNDMKCW12c21yCQlNUEM1MjAwCgpKb24gU21pcmwgPGpvbnNtaXJsQGdtYWlsLmNvbT4KCglwY20wMzAJCU1QQzUyMDAKClRpbXVyIFRhYmkgPHRpbXVyQGZyZWVzY2FsZS5jb20+CgoJTVBDODM0OUUtbUlUWAlNUEM4MzQ5CglNUEM4MzQ5RS1tSVRYLUdQIE1QQzgzNDkKCVAxMDIyRFMJCVAxMDIyCgpFcmlrIFRoZWlzZW4gPGV0aGVpc2VuQG1pbmRzcHJpbmcuY29tPgoKCVc3T0xNQwkJUFBDNHh4CglXN09MTUcJCVBQQzR4eAoKSmltIFRob21wc29uIDxqaW1AbXVzZW5raS5jb20+CgoJTVVTRU5LSQkJTVBDODI0NS84MjQxCglTYW5kcG9pbnQ4MjQ1CU1QQzgyNDUKClJ1bmUgVG9yZ2Vyc2VuIDxydW5ldEBpbm5vdnN5cy5jb20+CgoJTVBDODI2NkFEUwlNUEM4MjY2CgpQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgoKCXhwZWRpdGUxMDAwCVBQQzQ0MEdYCgl4cGVkaXRlNTE3MAlNUEM4NjQwCgl4cGVkaXRlNTIwMAlNUEM4NTQ4Cgl4cGVkaXRlNTM3MAlNUEM4NTcyCgl4cGVkaXRlNTUwMAlQMjAyMAoKRGF2aWQgVXBkZWdyYWZmIDxkYXZlQGNyYXkuY29tPgoKCUNSQVlMMQkJUFBDNHh4CgpBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KCglNUEM4MzYwRVJESwlNUEM4MzYwCgpKb3NlZiBXYWduZXIgPFdhZ25lckBNaWNyb3N5cy5kZT4KCglDUEM0NQkJTVBDODI0NQoJUE01MjAJCU1QQzUyMDAKCk1pY2hhZWwgV2Vpc3MgPG1pY2hhZWwud2Vpc3NAaWZtLmNvbT4KCglQRE0zNjBORwlNUEM1MTIxZQoKU3RlcGhlbiBXaWxsaWFtcyA8c3RldmVAaWNhcnVzLmNvbT4KCglKU0UJCVBQQzQwNUdQcgoKSWx5YSBZYW5vayA8eWFub2tAZW1jcmFmdC5jb20+CgoJbXBjODMwOF9wMW0JTVBDODMwOAoJTVBDODMwOFJEQglNUEM4MzA4CgpSb3kgWmFuZyA8dGllLWZlaS56YW5nQGZyZWVzY2FsZS5jb20+CgoJbXBjNzQ0OGhwYzIJTVBDNzQ0OAoKSm9obiBaaGFuIDx6aGFuekBzaW5vdmVlLmNvbT4KCglzdm1fc2M4eHgJTVBDOHh4CgpEZXRsZXYgWnVuZGVsIDxkenVAZGVueC5kZT4KCglpbmthNHgwCQlNUEM1MjAwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpVbmtub3duIC8gb3JwaGFuZWQgYm9hcmRzOgoKCUFEUzg2MAkJTVBDOHh4CglGQURTODIzCQlNUEM4eHgKCUZBRFM4NTBTQVIJTVBDOHh4CglGQURTODYwVAlNUEM4eHgKCUdFTklFVFYJCU1QQzh4eAoJSUFEMjEwCQlNUEM4eHgKCU1CWAkJTVBDOHh4CglNQlg4NjBUCQlNUEM4eHgKCU5YODIzCQlNUEM4eHgKCVJQWENsYXNzaWMJTVBDOHh4CglSUFhsaXRlCQlNUEM4eHgKCglNT1VTU0UJCU1QQzgyNHgKCglSUFhzdXBlcglNUEM4MjYwCglyc2Rwcm90bwlNUEM4MjYwCgoJRVZCNjQyNjAJTVBDN3h4Xzc0eHgKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQVJNIFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKQWxiZXJ0IEFSSUJBVUQgPGFsYmVydC5hcmliYXVkQGZyZWUuZnI+CgoJZWRtaW5pdjIJQVJNOTI2RUpTIChPcmlvbjV4IFNvQykKClJvd2VsIEF0aWVuemEgPHJvd2VsQGRpd2FsYWJzLmNvbT4KCglhcm1hZGlsbG8JQVJNNzIwVAoKU3RlZmFubyBCYWJpYyA8c2JhYmljQGRlbnguZGU+CgoJZWEyMAkJZGF2aW5jaQoJcG9sYXJpcwkJeHNjYWxlCgl0cml6ZXBzaXYJeHNjYWxlCglteDUxZXZrCQlpLk1YNTEKIAl2aXNpb24yCQlpLk1YNTEKCkVucmljIEJhbGxldGJvIGkgU2VycmEgPGViYWxsZXRib0Bpc2VlYmNuLmNvbT4KCglpZ2VwMDAyMAlBUk0gQVJNVjcgKE9NQVAzeHggU29DKQoJaWdlcDAwMzAJQVJNIEFSTVY3IChPTUFQM3h4IFNvQykKCkRpcmsgQmVobWUgPGRpcmsuYmVobWVAZ21haWwuY29tPgoKCW9tYXAzX2JlYWdsZQlBUk0gQVJNVjcgKE9NQVAzNTMwIFNvQykKCkVyaWMgQmVuYXJkIDxlcmljQGV1a3JlYS5jb20+CgoJY3B1YXQ5MQkJQVJNOTIwVAoJY3B1OTI2MAkJQVJNOTI2RUpTIChBVDkxU0FNOTI2MCBTb0MpCgljcHU5RzIwCQlBUk05MjZFSlMgKEFUOTFTQU05RzIwIFNvQykKClJpc2hpIEJoYXR0YWNoYXJ5YSA8cmlzaGlAdGkuY29tPgoKCW9tYXA1OTEyb3NrCUFSTTkyNkVKUwoKQW5kcmVhcyBCaWXfbWFubiA8YW5kcmVhcy5kZXZlbEBnbWFpbC5jb20+CgoJYXQ5MXJtOTIwMGVrCWF0OTFybTkyMDAKCkNsaWZmIEJyYWtlIDxjbGlmZi5icmFrZUBnbWFpbC5jb20+CgoJcHhhMjU1X2lkcAl4c2NhbGUKClJpY2sgQnJvbnNvbiA8cmlja0BlZm4ub3JnPgoKCUFUOTFSTTkyMDBESwlhdDkxcm05MjAwCgpQby1ZdSBDaHVhbmcgPHJhdGJlcnRAZmFyYWRheS10ZWNoLmNvbT4KCglhMzIwZXZiCQlGQTUyNiAoQVJNOTIwVC1saWtlKSAoYTMyMCBTb0MpCgpFcmljIENvb3BlciA8ZWNjQGNtdS5lZHU+CgoJZG9ja3N0YXIJQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCgpHZW9yZ2UgRy4gRGF2aXMgPGdkYXZpc0BtdmlzdGEuY29tPgoKCWFzc2FiZXQJCVNBMTEwMAoJZ2NwbHVzCQlTQTExMDAKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CglpbXgyN2xpdGUJaS5NWDI3Cglxb25nCQlpLk1YMzEKClRob21hcyBFbHN0ZSA8aW5mb0BlbHN0ZS5vcmc+CgoJbW9kbmV0NTAJQVJNNzIwVCAoTkVUKzUwKQoKS3Jpc3RvZmZlciBFcmljc29uIDxrcmlzdG9mZmVyLmVyaWNzb25AZ21haWwuY29tPgoKCWpvcm5hZGEJU0ExMTEwCgpGYWJpbyBFc3RldmFtIDxGYWJpby5Fc3RldmFtQGZyZWVzY2FsZS5jb20+CgoJbXgzMXBkawkJaS5NWDMxCgpQZXRlciBGaWd1bGkgPHBlcG9zaEBldGMuc2s+CgoJd2VwZXAyNTAJeHNjYWxlCgpEYW5pZWwgR29yc3Vsb3dza2kgPGRhbmllbC5nb3JzdWxvd3NraUBlc2QuZXU+CgoJbWVlc2MJCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjMgU29DKQoJb3RjNTcwCQlBUk05MjZFSlMgKEFUOTFTQU05MjYzIFNvQykKClNlZGppIEdhb3Vhb3U8c2VkamkuZ2FvdWFvdUBhdG1lbC5jb20+CglhdDkxc2FtOWcxMGVrCQlBUk05MjZFSlMgKEFUOTFTQU05RzEwIFNvQykKCWF0OTFzYW05bTEwZzQ1ZWsJQVJNOTI2RUpTIChBVDkxU0FNOUc0NSBTb0MpCgpNYXJpdXMgR3L2Z2VyIDxtYWdAc3lzZ28uZGU+CgoJaW1wYTcJCUFSTTcyMFQgKEVQNzIxMSkKCWVwNzMxMgkJQVJNNzIwVCAoRVA3MzEyKQoKS3NoaXRpaiBHdXB0YSA8a3NoaXRpakB0aS5jb20+CgoJb21hcDE1MTBpbm4JQVJNOTI1VAoJb21hcDE2MTBpbm4JQVJNOTI2RUpTCgpWYWliaGF2IEhpcmVtYXRoIDxodmFpYmhhdkB0aS5jb20+CgoJYW0zNTE3X2V2bQlBUk0gQVJNVjcgKEFNMzV4IFNvQykKCkdyYXp2eWRhcyBJZ25vdGFzIDxub3Rhc2FzQGdtYWlsLmNvbT4KCglvbWFwM19wYW5kb3JhCUFSTSBBUk1WNyAoT01BUDN4eCBTb0MpCgpHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KCglzbWRrMjQwMAlBUk05MjBUCgl0cmFiCQlBUk05MjBUCgpNYXR0aGlhcyBLYWVobGNrZSA8bWF0dGhpYXNAa2FlaGxja2UubmV0PgoJZWRiOTMwMQkJCUFSTTkyMFQgKEVQOTMwMSkKCWVkYjkzMDIJCQlBUk05MjBUIChFUDkzMDIpCgllZGI5MzAyYQkJQVJNOTIwVCAoRVA5MzAyKQoJZWRiOTMwNwkJCUFSTTkyMFQgKEVQOTMwNykKCWVkYjkzMDdhCQlBUk05MjBUIChFUDkzMDcpCgllZGI5MzEyCQkJQVJNOTIwVCAoRVA5MzEyKQoJZWRiOTMxNQkJCUFSTTkyMFQgKEVQOTMxNSkKCWVkYjkzMTVhCQlBUk05MjBUIChFUDkzMTUpCgpLb25zdGFudGluIEtsZXRzY2hrZSA8a2xldHNjaGtlQHN5bmVydHJvbml4eC5kZT4KCXNjYjkzMjgJCUFSTTkyMFQKClNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KCiAgICAgICBvcGVucmRfYmFzZSAgICAgQVJNOTI2RUpTIChLaXJrd29vZCBTb0MpCgpOaXNoYW50IEthbWF0IDxuc2thbWF0QHRpLmNvbT4KCglvbWFwMTYxMGgyCUFSTTkyNkVKUwoKTWlua3l1IEthbmcgPG1rNy5rYW5nQHNhbXN1bmcuY29tPgoKCXM1cF9nb25pCUFSTSBBUk1WNyAoUzVQQzExMCBTb0MpCglTTURLQzEwMAlBUk0gQVJNVjcgKFM1UEMxMDAgU29DKQoKRnJlZGVyaWsgS3JpZXdpdHogPGZyZWRlcmlrQGtyaWV3aXR6LmV1PgoKCWRldmtpdDgwMDAJQVJNIEFSTVY3IChPTUFQMzUzMCBTb0MpCgpTZXJnZXkgS3VidXNoeW4gPGtzaUBrb2k4Lm5ldD4KCglEVi1FVk0JCUFSTTkyNkVKUwoJU09OQVRBCQlBUk05MjZFSlMKCVNDSE1PT0dJRQlBUk05MjZFSlMKClByYWthc2ggS3VtYXIgPHByYWthc2hAZW1iZWR4LmNvbT4KCgljZXJmMjUwCQl4c2NhbGUKClZpcGluIEt1bWFyIDx2aXBpbi5rdW1hckBzdC5jb20+CgoJc3BlYXIzMDAJQVJNOTI2RUpTIChzcGVhcjMwMCBTb2MpCglzcGVhcjMxMAlBUk05MjZFSlMgKHNwZWFyMzEwIFNvYykKCXNwZWFyMzIwCUFSTTkyNkVKUyAoc3BlYXIzMjAgU29jKQoJc3BlYXI2MDAJQVJNOTI2RUpTIChzcGVhcjYwMCBTb2MpCgpTZXJnZXkgTGFwaW4gPHNsYXBpbkBvc3NmYW5zLm9yZz4KCglhZmViOTI2MAlBUk05MjZFSlMgKEFUOTFTQU05MjYwIFNvQykKCk5pc2hhbnRoIE1lbm9uIDxubUB0aS5jb20+CgoJb21hcDNfc2RwMzQzMAlBUk0gQVJNVjcgKE9NQVAzeHggU29DKQoJb21hcDNfem9vbTEJQVJNIEFSTVY3IChPTUFQM3h4IFNvQykKCkRhdmlkIE38bGxlciA8ZC5tdWVsbGVyQGVsc29mdC5jaD4KCglzbWRrMjQxMAlBUk05MjBUCglWQ01BOQkJQVJNOTIwVAoKRXJpYyBNaWxsYnJhbmR0IDxlbWlsbGJyYW5kdEBkZWthcmVzZWFyY2guY29tPgoKCWdhbGF4eTUyMDAJbXBjNTIwMAoKUm9sZiBPZmZlcm1hbm5zIDxyb2ZAc3lzZ28uZGU+CgoJc2hhbm5vbgkJU0ExMTAwCgpLeXVuZ21pbiBQYXJrIDxreXVuZ21pbi5wYXJrQHNhbXN1bmcuY29tPgoKCWFwb2xsb24JCUFSTTExMzZFSlMKClNhbmRlZXAgUGF1bHJhaiA8cy1wYXVscmFqQHRpLmNvbT4KCglkYXZpbmNpX2RtMzU1ZXZtCUFSTTkyNkVKUwoJZGF2aW5jaV9kbTM1NWxlb3BhcmQJQVJNOTI2RUpTCglkYXZpbmNpX2RtMzY1ZXZtCUFSTTkyNkVKUwoJZGF2aW5jaV9kbTY0Njdldm0JQVJNOTI2RUpTCgpQZXRlciBQZWFyc2UgPHBldGVyLnBlYXJzZUBhcm0uY29tPgoJaW50ZWdyYXRvcmNwCUFsbCBjdXJyZW50IEFSTSBzdXBwbGllZCAmIHN1cHBvcnRlZCBjb3JlIG1vZHVsZXMKCQkJLXNlZSBodHRwOi8vd3d3LmFybS5jb20vcHJvZHVjdHMvRGV2VG9vbHMvSGFyZHdhcmVfUGxhdGZvcm1zLmh0bWwKCXZlcnNhdGlsZQlBUk05MjZFSi1TCgl2ZXJzYXRpbGUJQVJNOTI2RUotUwoKRGF2ZSBQZXZlcmxleSA8ZHBldmVybGV5QG1wYy1kYXRhLmNvLnVrPgoKCW9tYXA3MzBwMglBUk05MjZFSlMKCk1hbmlrYW5kYW4gUGlsbGFpIDxtYW5pLnBpbGxhaUB0aS5jb20+CgoJb21hcDNfZXZtCUFSTSBBUk1WNyAoT01BUDN4eCBTb0MpCgpTdGVsaWFuIFBvcCA8c3RlbGlhbi5wb3BAbGVhZHRlY2hkZXNpZ24uY29tPgoKCWF0OTFjYXA5YWRrCUFSTTkyNkVKUyAoQVQ5MUNBUDkgU29DKQoJYXQ5MXNhbTkyNjBlawlBUk05MjZFSlMgKEFUOTFTQU05MjYwIFNvQykKCWF0OTFzYW05MjYxZWsJQVJNOTI2RUpTIChBVDkxU0FNOTI2MSBTb0MpCglhdDkxc2FtOTI2M2VrCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjMgU29DKQoJYXQ5MXNhbTlybGVrCUFSTTkyNkVKUyAoQVQ5MVNBTTlSTCBTb0MpCgpUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CgoJb21hcDNfem9vbTIJQVJNIEFSTVY3IChPTUFQM3h4IFNvQykKCkpvaG4gUmlnYnkgPGpjcmlnYnlAZ21haWwuY29tPgoKCXR4MjUJCWkuTVgyNQoKU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgoKCWl4ZHBnNDI1CXhzY2FsZQoJcGRuYjMJCXhzY2FsZQoJc2NwdQkJeHNjYWxlCgpBbGVzc2FuZHJvIFJ1YmluaSA8cnViaW5pQHVuaXB2Lml0PgpOb21hZGlrIExpbnV4IFRlYW0gPFNUTl9XTU1fbm9tYWRpa19saW51eEBsaXN0LnN0LmNvbT4KCgluaGs4ODE1CQlBUk05MjZFSlMgKE5vbWFkaWsgODgxNSBTb2MpCgpTdGV2ZSBTYWtvbWFuIDxzYWtvbWFuQGdtYWlsLmNvbT4KCglvbWFwM19vdmVybwlBUk0gQVJNVjcgKE9NQVAzeHggU29DKQoJb21hcDRfcGFuZGEJQVJNIEFSTVY3IChPTUFQNHh4IFNvQykKCW9tYXA0X3NkcDQ0MzAJQVJNIEFSTVY3IChPTUFQNHh4IFNvQykKCkplbnMgU2NoYXJzaWcgPGVzd0BidXMtZWxla3Ryb25pay5kZT4KCgllYl9jcHV4OWsyCUFSTTkyMFQgKEFUOTFSTTkyMDAgU29DKQoKSGVpa28gU2Nob2NoZXIgPGhzQGRlbnguZGU+CgoJbWFnbmVzaXVtCWkuTVgyNwoKUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgoKCWNzYjIyNgkJeHNjYWxlCglpbm5va29tCQl4c2NhbGUKCk1pY2hhZWwgU2Nod2luZ2VuIDxtaWNoYWVsQHNjaHdpbmdlbi5vcmc+CgoJYWN0dXgxCQl4c2NhbGUKCWFjdHV4MgkJeHNjYWxlCglhY3R1eDMJCXhzY2FsZQoJYWN0dXg0CQl4c2NhbGUKCkFuZHJlYSBTY2lhbiA8YW5kcmVhLnNjaWFuQGRhdmUtdGVjaC5pdD4KCglCMgkJQVJNN1RETUkgKFMzQzQ0QjBYKQoKTmljayBUaG9tcHNvbiA8bmljay50aG9tcHNvbkBnZWZhbnVjLmNvbT4KCglkYTgzMGV2bQlBUk05MjZFSlMgKERBODMwL09NQVAtTDEzNykKCkFsYmluIFRvbm5lcnJlIDxhbGJpbi50b25uZXJyZUBmcmVlLWVsZWN0cm9ucy5jb20+CgoJc2JjMzVfYTlnMjAJQVJNOTI2RUpTIChBVDkxU0FNOUcyMCBTb0MpCgl0bnlfYTkyNjAJQVJNOTI2RUpTIChBVDkxU0FNOTI2MCBTb0MpCgl0bnlfYTlnMjAJQVJNOTI2RUpTIChBVDkxU0FNOUcyMCBTb0MpCgpHcmVnIFVuZ2VyZXIgPGdyZWcudW5nZXJlckBvcGVuZ2Vhci5jb20+CgoJY200MDA4CQlrczg2OTVwCgljbTQxMTYJCWtzODY5NXAKCWNtNDE0OAkJa3M4Njk1cAoKTWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4KCgliYWxsb29uMwl4c2NhbGUKCWNvbGlicmlfcHhhMjcwCXhzY2FsZQoJcGFsbWxkCQl4c2NhbGUKCXBhbG10YwkJeHNjYWxlCgl2cGFjMjcwCQl4c2NhbGUKCXppcGl0ejIJCXhzY2FsZQoKSHVnbyBWaWxsZW5ldXZlIDxodWdvLnZpbGxlbmV1dmVAbHlydGVjaC5jb20+CgoJU0ZGU0RSCQlBUk05MjZFSlMKCk1hdHQgV2FkZGVsIDxtYXR0LndhZGRlbEBsaW5hcm8ub3JnPgoKCWNhOXg0X2N0X3Z4cAlBUk0gQVJNVjcgKFF1YWQgQ29yZSkKClByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KCglhc3Blbml0ZQlBUk05MjZFSlMgKEFSTUFEQTEwMCA4OEFQMTY4IFNvQykKCW12ODhmNjI4MWd0d19nZQlBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKCXJkNjI4MWEJCUFSTTkyNkVKUyAoS2lya3dvb2QgU29DKQoJc2hlZXZhcGx1ZwlBUk05MjZFSlMgKEtpcmt3b29kIFNvQykKCk1hdHRoaWFzIFdlaXNzZXIgPHdlaXNzZXJtQGFyY29yLmRlPgoKCWphZGVjcHUJCUFSTTkyNkVKUyAoTUI4NlIwMSBTb0MpCgpSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+CgoJb21hcDI0MjBoNAlBUk0xMTM2RUpTCgpBbGV4IFr8cGtlIDxhenVAc3lzZ28uZGU+CgoJbGFydAkJU0ExMTAwCglkbnAxMTEwCQlTQTExMTAKClN5ZWQgTW9oYW1tZWQgS2hhc2ltIDxzbS5raGFzaW1AZ21haWwuY29tPgpTdWdob3NoIEdhbnUgPHVyd2l0aHN1Z2hvc2hAZ21haWwuY29tPgoKCWhhd2tib2FyZAlBUk05MjZFSlMgKE9NQVAtTDEzOCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClVua25vd24gLyBvcnBoYW5lZCBib2FyZHM6CiAJQm9hcmQJCUNQVQlMYXN0IGtub3duIG1haW50YWluZXIgLyBDb21tZW50Ci4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCWNyYWRsZQkJeHNjYWxlCUt5bGUgSGFycmlzIDxraGFycmlzQG5leHVzLXRlY2gubmV0PiAvIGRlYWQgYWRkcmVzcwoJaXhkcDQyNQkJeHNjYWxlCUt5bGUgSGFycmlzIDxraGFycmlzQG5leHVzLXRlY2gubmV0PiAvIGRlYWQgYWRkcmVzcwoJbHViYm9jawkJeHNjYWxlCUt5bGUgSGFycmlzIDxraGFycmlzQG5leHVzLXRlY2gubmV0PiAvIGRlYWQgYWRkcmVzcwoKCWlteDMxX3BoeWNvcmVfZWV0IGkuTVgzMSAgR3Vlbm5hZGkgTGlha2hvdmV0c2tpIDxnLmxpYWtob3ZldHNraUBnbXguZGU+IC8gcmVzaWduZWQKCW14MzFhZHMJCSAgaS5NWDMxICBHdWVubmFkaSBMaWFraG92ZXRza2kgPGcubGlha2hvdmV0c2tpQGdteC5kZT4gLyByZXNpZ25lZAoJU01ESzY0MDAJICBTM0M2NDAwIEd1ZW5uYWRpIExpYWtob3ZldHNraSA8Zy5saWFraG92ZXRza2lAZ214LmRlPiAvIHJlc2lnbmVkCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgeDg2IFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKRGFuaWVsIEVuZ3N0cvZtIDxkYW5pZWxAb21pY3Jvbi5zZT4KCglzYzUyMF9jZHAJeDg2CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTUlQUyBTeXN0ZW1zOgkJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQlDUFUJCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCldvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CgoJaW5jYWlwCQlNSVBTMzIgNEtjCglwdXJwbGUJCU1JUFM2NCA1S2MKClRob21hcyBMYW5nZSA8dGhvbWFzQGNvcmVsYXR1cy5zZT4KCWRiYXUxeDAwCU1JUFMzMiBBdTEwMDAKCWd0aDIJCU1JUFMzMiBBdTEwMDAKClZsYWQgTHVuZ3UgPHZsYWQubHVuZ3VAd2luZHJpdmVyLmNvbT4KCXFlbXVfbWlwcwlNSVBTMzIKClN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KCgl2Y3RfeHh4CQlNSVBTMzIgNEtjCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTmlvcy1JSSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKU2NvdHQgTWNOdXR0IDxzbWNudXR0QHBzeWVudC5jb20+CgoJUENJNTQ0MQkJTmlvcy1JSQoJUEsxQzIwCQlOaW9zLUlJCgluaW9zMi1nZW5lcmljCU5pb3MtSUkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNaWNyb0JsYXplIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJQ1BVCQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpNaWNoYWwgU2ltZWsgPG1vbnN0ckBtb25zdHIuZXU+CgoJbWljcm9ibGF6ZS1nZW5lcmljCU1pY3JvQmxhemUKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDb2xkZmlyZSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKSGF5ZGVuIEZyYXNlciA8SGF5ZGVuLkZyYXNlckBmcmVlc2NhbGUuY29tPgoKCU01MjUzRVZCRQltY2Y1MngyCgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglUQVNSRUcJCU1DRjUyNDkKClRzaUNodW5nIExpZXcgPFRzaS1DaHVuZy5MaWV3QGZyZWVzY2FsZS5jb20+CgoJTTUyMjc3RVZCCW1jZjUyMjd4CglNNTIzNUVWQgltY2Y1MngyCglNNTI1M0RFTU8JbWNmNTJ4MgoJTTUzMDE3RVZCCW1jZjUzMngKCU01MzI5RVZCCW1jZjUzMngKCU01MzczRVZCCW1jZjUzMngKCU01NDQ1NUVWQgltY2Y1NDQ1eAoJTTU0NzVFVkIJbWNmNTQ3eF84eAoJTTU0ODVFVkIJbWNmNTQ3eF84eAoKV29sZmdhbmcgV2VnbmVyIDx3LndlZ25lckBhc3Ryby1rb20uZGU+CgoJYXN0cm9fbWNmNTM3M2wJTUNGNTM3M0wKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBBVlIzMiBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKSGFucy1DaHJpc3RpYW4gRWd0dmVkdCA8aGFucy1jaHJpc3RpYW4uZWd0dmVkdEBhdG1lbC5jb20+CgoJRkFWUi0zMi1FWktJVAkJQVQzMkFQNzAwMAoKTWFyayBKYWNrc29uIDxtcGZqQG1pbWMuY28udWs+CgoJTUlNQzIwMAkJCUFUMzJBUDcwMDAKCkFsZXggUmFpbW9uZGkgPGFsZXgucmFpbW9uZGlAbWlyb21pY28uY2g+Ckp1bGllbiBNYXkgPGp1bGllbi5tYXlAbWlyb21pY28uY2g+CgoJSEFNTUVSSEVBRAkJQVQzMkFQNzAwMAoKSGFhdmFyZCBTa2lubmVtb2VuIDxoYWF2YXJkLnNraW5uZW1vZW5AYXRtZWwuY29tPgoKCUFUU1RLMTAwMAlBVDMyQVA3eHh4CglBVFNUSzEwMDIJQVQzMkFQNzAwMAoJQVRTVEsxMDAzCUFUMzJBUDcwMDEKCUFUU1RLMTAwNAlBVDMyQVA3MDAyCglBVFNUSzEwMDYJQVQzMkFQNzAwMAoJQVROR1cxMDAJQVQzMkFQNzAwMAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFN1cGVySCBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKWXVzdWtlIEdvZGEgPGdvZGEueXVzdWtlQHJlbmVzYXMuY29tPgoKCU1JR08tUgkJU0g3NzIyCgpOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CgkJICA8aXdhbWF0c3Uubm9idWhpcm9AcmVuZXNhcy5jb20+CgoJTVM3NzUwU0UJU0g3NzUwCglNUzc3MjJTRQlTSDc3MjIKCVI3NzgwTVAJCVNINzc4MAoJUjJEUGx1cwkJU0g3NzUxUgoJU0g3NzYzUkRQCVNINzc2MwoJUlNLNzIwMwkJU0g3MjAzCglBUDMyNVJYQQlTSDc3MjMKCk1hcmsgSm9uYXMgPG1hcmsuam9uYXNAZGUuYm9zY2guY29tPgoKCW1wcjIJCVNINzcyMAoKWW9zaGloaXJvIFNoaW1vZGEgPHNoaW1vZGEueW9zaGloaXJvQHJlbmVzYXMuY29tPgoKCU1TNzcyMFNFCVNINzcyMAoJUjBQNzc4NTAwMTFSTAlTSDc3ODUKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBCbGFja2ZpbiBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCUNQVQkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgpCbGFja2ZpbiBUZWFtIDx1LWJvb3QtZGV2ZWxAYmxhY2tmaW4udWNsaW51eC5vcmc+CgoJQkY1MThGLUVaQlJECUJGNTE4CglCRjUyNi1FWkJSRAlCRjUyNgoJQkY1MjctRVpLSVQJQkY1MjcKCUJGNTI3LUVaS0lULVYyCUJGNTI3CglCRjUyNy1TRFAJQkY1MjcKCUJGNTMzLUVaS0lUCUJGNTMzCglCRjUzMy1TVEFNUAlCRjUzMwoJQkY1MzctUE5BVglCRjUzNwoJQkY1MzctU1RBTVAJQkY1MzcKCUJGNTM4Ri1FWktJVAlCRjUzOAoJQkY1NDgtRVpLSVQJQkY1NDgKCUJGNTYxLUVaS0lUCUJGNTYxCgoJQkY1MjctQUQ3MTYwLUVWQUwJQkY1MjcKCkJsdWV0ZWNobml4IFRpbnlib2FyZHMgPGJsdWV0ZWNobml4QGJsYWNrZmluLnVjbGludXgub3JnPgpCbGFja2ZpbiBUZWFtIDx1LWJvb3QtZGV2ZWxAYmxhY2tmaW4udWNsaW51eC5vcmc+CgoJQ00tQkY1MjcJQkY1MjcKCUNNLUJGNTMzCUJGNTMzCglDTS1CRjUzN0UJQkY1MzcKCUNNLUJGNTM3VQlCRjUzNwoJQ00tQkY1NDgJQkY1NDgKCUNNLUJGNTYxCUJGNTYxCglUQ00tQkY1MTgJQkY1MTgKCVRDTS1CRjUzNwlCRjUzNwoKTWFydGluIFN0cnViZWwgPHN0cnViZWxAc2VjdGlvbjUuY2g+CkJsYWNrZmluIFRlYW0gPHUtYm9vdC1kZXZlbEBibGFja2Zpbi51Y2xpbnV4Lm9yZz4KCglCRjUzNy1taW5vdGF1cglCRjUzNwoJQkY1Mzctc3J2MQlCRjUzNwoKV29qdGVrIFNrdWxza2kgPHNrdWxza2lAcGFzLnJvY2hlc3Rlci5lZHU+CldvanRlayBTa3Vsc2tpIDxpbmZvQHNrdXRlay5jb20+CkJsYWNrZmluIFRlYW0gPHUtYm9vdC1kZXZlbEBibGFja2Zpbi51Y2xpbnV4Lm9yZz4KQmVuamFtaW4gTWF0dGhld3MgPG1iZW4xMkBnbWFpbC5jb20+CgoJQmxhY2tTdGFtcAlCRjUzMwoJQmxhY2tWTUUJQkY1NjEKCkktU1lTVCBNaWNyb21vZHVsZSA8c3VwcG9ydEBpLXN5c3QuY29tPgpCbGFja2ZpbiBUZWFtIDx1LWJvb3QtZGV2ZWxAYmxhY2tmaW4udWNsaW51eC5vcmc+CgoJSUJGLURTUDU2MQlCRjU2MQoKVmFsZW50aW4gWWFrb3ZlbmtvdiA8eWFrb3ZlbmtvdkBuaWlzdHQucnU+CkFudG9uIFNodXJwaW4gPHNodXJwaW4uYWFAbmlpc3R0LnJ1PgoKCUJGNTYxLUFDVklMT04JQkY1NjEKCkJyZW50IEthbmRldHpraSA8YnJlbnRrQHRlbGVjby5jb20+CgoJSVAwNAkJQkY1MzIKClBldGVyIE1lZXJ3YWxkIDxkZXZlbEBiY3QtZWxlY3Ryb25pYy5jb20+CgoJYmN0LWJyZXR0bDIJQkY1MzYKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBFbmQgb2YgTUFJTlRBSU5FUlMgbGlzdAkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo=