IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgYW5kIENjOiB0aGUgPFUtQm9vdC1Vc2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IG1haWxpbmcgbGlzdHMuCSMKIwkJCQkJCQkJCSMKIyBOb3RlOiBsaXN0cyBzb3J0ZWQgYnkgTWFpbnRhaW5lciBOYW1lCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgUG93ZXJQQyBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKR3JlZyBBbGxlbiA8Z2FsbGVuQGFybHV0LnV0ZXhhcy5lZHU+CgoJVVRYODI0NQkJCU1QQzgyNDUKClBhbnRlbGlzIEFudG9uaW91IDxwYW50b0BpbnRyYWNvbS5ncj4KCglORVRWSUEJCQlNUEM4eHgKClJlaW5oYXJkIEFybHQgPHJlaW5oYXJkLmFybHRAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCgljcGNpNTIwMAkJTVBDNTIwMAoJbWVjcDUyMDAJCU1QQzUyMDAKCXBmNTIwMAkJCU1QQzUyMDAKCglDUENJNzUwCQkJUFBDNzUwRlgvR1gKCll1bGkgQmFyY29oZW4gPHl1bGlAYXJhYmVsbGFzdy5jb20+CgoJQWRkZXIJCQlNUEM4N3gvTVBDODUyVAoJZXA4MjQ4CQkJTVBDODI0OAoJSVNQQU4JCQlNUEM4MjYwCglNUEM4MjYwQURTCQlNUEM4MjZ4L01QQzgyN3gvTVBDODI4MAoJUmF0dGxlcgkJCU1QQzgyNDgKCVpQQzE5MDAJCQlNUEM4MjY1CgpNaWNoYWVsIEJhcmtvd3NraSA8bWljaGFlbC5iYXJrb3dza2lAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzIzRVJEQgkJTVBDODMyMwoKSmVycnkgVmFuIEJhcmVuIDxnZXJhbGQudmFuYmFyZW5Ac21pdGhzLWFlcm9zcGFjZS5jb20+CgoJc2Fjc25nCQkJTVBDODI2MAoKT2xpdmVyIEJyb3duIDxvYnJvd25AYWR2ZW50bmV0d29ya3MuY29tPgoKCWd3ODI2MAkJCU1QQzgyNjAKCkNvbm4gQ2xhcmsgPGNsYXJrQGVzdGVlbS5jb20+CgoJRVNURUVNMTkyRQkJTVBDOHh4CgpKb2UgRCdBYmJyYWNjaW8gPGxqZDAxNUBmcmVlc2NhbGUuY29tPgoKCU1QQzgzN3hFUkRCCQlNUEM4Mzd4CgpL4XJpIERhdu3wc3NvbiA8a2RAZmxhZ2EuaXM+CgoJRkxBR0FETQkJCU1QQzgyMwoKVG9yc3RlbiBEZW1rZSA8dG9yc3Rlbi5kZW1rZUBmY2kuY29tPgoKCWVYYWxpb24JCQlNUEM4MjR4CgpXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgoKCUljZUN1YmVfNTEwMAkJTUdUNTEwMAoJSWNlQ3ViZV81MjAwCQlNUEM1MjAwCgoJQU1YODYwCQkJTVBDODYwCglFVFgwOTQJCQlNUEM4NTAKCUZQUzg1MEwJCQlNUEM4NTAKCUZQUzg2MEwJCQlNUEM4NjAKCUlDVTg2MgkJCU1QQzg2MgoJSVA4NjAJCQlNUEM4NjAKCUlWTUwyNAkJCU1QQzg2MAoJSVZNTDI0XzEyOAkJTVBDODYwCglJVk1MMjRfMjU2CQlNUEM4NjAKCUlWTVM4CQkJTVBDODYwCglJVk1TOF8xMjgJCU1QQzg2MAoJSVZNUzhfMjU2CQlNUEM4NjAKCUxBTlRFQwkJCU1QQzg1MAoJTFdNT04JCQlNUEM4MjMKCU5DNjUwCQkJTVBDODUyCglSMzYwTVBJCQkJTVBDODIzCglSTVUJCQlNUEM4NTAKCVJSdmlzaW9uCQlNUEM4MjMKCVNNODUwCQkJTVBDODUwCglTUEQ4MjNUUwkJTVBDODIzCglUUU04MjNMCQkJTVBDODIzCglUUU04MjNMX0xDRAkJTVBDODIzCglUUU04NTBMCQkJTVBDODUwCglUUU04NTVMCQkJTVBDODU1CglUUU04NjBMCQkJTVBDODYwCglUUU04NjBMX0ZFQwkJTVBDODYwCgljMm1vbgkJCU1QQzg1NQoJaGVybWVzCQkJTVBDODYwCglsd21vbgkJCU1QQzgyMwoJcGN1X2UJCQlNUEM4NTUKCglDVTgyNAkJCU1QQzgyNDAKCVNhbmRwb2ludDgyNDAJCU1QQzgyNDAKCVNMODI0NQkJCU1QQzgyNDUKCglBVEMJCQlNUEM4MjUwCglQTTgyNQkJCU1QQzgyNTAKCglUUU04MjU1CQkJTVBDODI1NQoKCUNQVTg2CQkJTVBDODI2MAoJUE04MjYJCQlNUEM4MjYwCglUUU04MjYwCQkJTVBDODI2MAoKCVAzRzQJCQlNUEM3NDEwCgoJUENJUFBDMgkJCU1QQzc1MAoJUENJUFBDNgkJCU1QQzc1MAoKCUVYQklUR0VOCQlQUEM0MDVHUAoKSm9uIERpZWtlbWEgPGpvbi5kaWVrZW1hQHNtaXRocy1hZXJvc3BhY2UuY29tPgoKCXNiYzgyNjAJCQlNUEM4MjYwCgpEYXZlIEVsbGlzIDxER0VAc2l4bmV0aW8uY29tPgoKCVNYTkk4NTVUCQlNUEM4eHgKClRob21hcyBGcmllZGVuIDxUaG9tYXNGQGh5cGVyaW9uLWVudGVydGFpbm1lbnQuY29tPgoKCUFtaWdhT25lRzNTRQkJTVBDN3h4CgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglBRENJT1AJCQlJT1A0ODAgKFBQQzQwMSkKCUFQQzQwNQkJCVBQQzQwNUdQCglBUjQwNQkJCVBQQzQwNUdQCglBU0g0MDUJCQlQUEM0MDVFUAoJQ0FOQlQJCQlQUEM0MDVDUgoJQ1BDSTJEUAkJCVBQQzQwNUdQCglDUENJNDA1CQkJUFBDNDA1R1AKCUNQQ0k0MDUyCQlQUEM0MDVHUAoJQ1BDSTQwNUFCCQlQUEM0MDVHUAoJQ1BDSTQwNURUCQlQUEM0MDVHUAoJQ1BDSUlTRVI0CQlQUEM0MDVHUAoJREFTQV9TSU0JCUlPUDQ4MCAoUFBDNDAxKQoJRFA0MDUJCQlQUEM0MDVFUAoJRFU0MDUJCQlQUEM0MDVHUAoJRFU0NDAJCQlQUEM0NDBFUHgKCUcyMDAwCQkJUFBDNDA1RVAKCUhINDA1CQkJUFBDNDA1RVAKCUhVQjQwNQkJCVBQQzQwNUVQCglPQ1JUQwkJCVBQQzQwNUdQCglPUlNHCQkJUFBDNDA1R1AKCVBDSTQwNQkJCVBQQzQwNUdQCglQTFU0MDUJCQlQUEM0MDVFUAoJUE1DNDA1CQkJUFBDNDA1R1AKCVBNQzQ0MAkJCVBQQzQ0MEVQeAoJVk9INDA1CQkJUFBDNDA1RVAKCVZPTTQwNQkJCVBQQzQwNUVQCglXVUg0MDUJCQlQUEM0MDVFUAoJQ01TNzAwCQkJUFBDNDA1RVAKCk5pa2xhdXMgR2lnZXIgPG5pa2xhdXMuZ2lnZXJAbmV0c3RhbC5jb20+CgoJSENVNAkJCVBQQzQwNUdQcgoJTUNVMjUJCQlQUEM0MDVHUHIKCUhDVTUJCQlQUEM0NDBFUHgKCkZyYW5rIEdvdHRzY2hsaW5nIDxmZ290dHNjaGxpbmdAZWx0ZWMuZGU+CgoJTUhQQwkJCU1QQzh4eAoKCUJBQjd4eAkJCU1QQzc0MC9NUEM3NTAKCldvbGZnYW5nIEdyYW5kZWdnZXIgPHdnQGRlbnguZGU+CgoJQ0NNCQkJTVBDODU1CgoJUE42MgkJCU1QQzgyNDAKCglJUEhBU0U0NTM5CQlNUEM4MjYwCglTQ00JCQlNUEM4MjYwCgpIb3dhcmQgR3JheSA8bXZzZW5zb3JAbWF0cml4LXZpc2lvbi5kZT4KCglNVlMxCQkJTVBDODIzCgpKb2UgSGFtbWFuIDxqb2UuaGFtbWFuQGVtYmVkZGVkc3BlY2lhbHRpZXMuY29tPgoKCXNiYzg1NDgJCQlNUEM4NTQ4CglzYmM4NjQxZAkJTVBDODY0MUQKCktsYXVzIEhleWRlY2sgPGhleWRlY2tAa2llYmFjay1wZXRlci5kZT4KCglLVVA0SwkJCU1QQzg1NQoJS1VQNFgJCQlNUEM4NTkKCkdhcnkgSmVubmVqb2huIDxnYXJ5akBkZW54LmRlPgoKCXF1YWQxMDBoZAkJUFBDNDA1RVAKCk11cnJheSBKZW5zZW4gPE11cnJheS5KZW5zZW5AY3Npcm8uYXU+CgoJY29nZW50X21wYzh4eAkJTVBDOHh4CgoJY29nZW50X21wYzgyNjAJCU1QQzgyNjAKCWh5bW9kCQkJTVBDODI2MAoKTGFycnkgSm9obnNvbiA8bHJqQGFjbS5vcmc+CgoJa29yYXQJCQlQUEM0NDBFUHgKCkJyYWQgS2VtcCA8QnJhZC5LZW1wQHNlcmFub2EuY29tPgoKCXBwbWM4MjYwCQlNUEM4MjYwCgpTYW5nbW9vbiBLaW0gPGRvZ29pbEBldGluc3lzLmNvbT4KCglkZWJyaXMJCQlNUEM4MjQ1CglLVk1FMDgwCQkJTVBDODI0NQoKVGhvbWFzIExhbmdlIDx0aG9tYXNAY29yZWxhdHVzLnNlPgoKCUdUSAkJCU1QQzg2MAoKUm9iZXJ0IExhemFyc2tpIDxyb2JlcnRsYXphcnNraUBnbWFpbC5jb20+CgoJQVRVTTg1NDgJCU1QQzg1NDgKClRoZSBMRU9YIHRlYW0gPHRlYW1AbGVveC5vcmc+CgoJRUxQVDg2MAkJCU1QQzg2MFQKCkRhdmUgTGl1IDxkYXZlbGl1QGZyZWVzY2FsZS5jb20+CgoJTVBDODMxNUVSREIJCU1QQzgzMTUKCU1QQzgzMlhFTURTCQlNUEM4MzJ4CglNUEM4MzYwRU1EUwkJTVBDODM2MAoJTVBDODM3WEVNRFMJCU1QQzgzN3gKCk55ZSBMaXUgPG55ZXRAenVtYW5ldHdvcmtzLmNvbT4KCglaVU1BCQkJTVBDN3h4Xzc0eHgKCkpvbiBMb2VsaWdlciA8amRsQGZyZWVzY2FsZS5jb20+CgoJTVBDODU0MEFEUwkJTVBDODU0MAoJTVBDODU2MEFEUwkJTVBDODU2MAoJTVBDODU0MUNEUwkJTVBDODU0MQoJTVBDODU1NUNEUwkJTVBDODU1NQoKCU1QQzg2NDFIUENOCQlNUEM4NjQxRAoKRGFuIE1hbGVrIDxkYW5AZW1iZWRkZWRhbGxleS5jb20+CgoJc3R4Z3AzCQkJTVBDODV4eAoJc3R4c3NhCQkJTVBDODV4eAoJc3R4eHRjCQkJTVBDOHh4CgpFcmFuIE1hbiA8ZXJhbkBuYmFzZS5jby5pbD4KCglFVkI2NDI2MF83NTBDWAkJTVBDNzUwQ1gKCkFuZHJlYSAibGxhbmRyZSIgTWFyc29uIDxhbmRyZWEubWFyc29uQGRhdmUtdGVjaC5pdD4KCglQUENoYW1lbGVvbkVWQglQUEM0MDVFUAoKUmVpbmhhcmQgTWV5ZXIgPHIubWV5ZXJAZW1rLWVsZWt0cm9uaWsuZGU+CgoJVE9QODYwCQkJTVBDODYwVAoJVE9QNTIwMAkJCU1QQzUyMDAKClRvbHVuYXkgT3JrdW4gPHRvcmt1bkBuZXh0aW8uY29tPgoKCWNzYjI3MgkJCVBQQzQwNUdQCgljc2I0NzIJCQlQUEM0MDVHUAoKSm9obiBPdGtlbiA8am90a2VuQHNvZnRhZHZhbmNlcy5jb20+CgoJbHVhbgkJCVBQQzQ0MFNQCgl0YWlodQkJCVBQQzQwNUVQCgpLZWl0aCBPdXR3YXRlciA8S2VpdGhfT3V0d2F0ZXJAbXZpcy5jb20+CgoJR0VOODYwVAkJCU1QQzg2MFQKCUdFTjg2MFRfU0MJCU1QQzg2MFQKCkZyYW5rIFBhbm5vIDxmcGFubm9AZGVscGhpbnRlY2guY29tPgoKCWVwODI2MAkJCU1QQzgyNjAKCkRlbmlzIFBldGVyIDxkLnBldGVyQG1wbC5jaD4KCglNSVA0MDUJCQlQUEM0eHgKCVBJUDQwNQkJCVBQQzR4eAoKS2ltIFBoaWxsaXBzIDxraW0ucGhpbGxpcHNAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzQ5RU1EUwkJTVBDODM0OQoKRGFuaWVsIFBvaXJvdCA8ZGFuLnBvaXJvdEB3aW5kcml2ZXIuY29tPgoKCXNiYzgyNDAJCQlNUEM4MjQwCglzYmM0MDUJCQlQUEM0MDVHUAoKU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgoKCVAzTTc0NDgJCQlNUEM3NDQ4CgoJdWMxMDAJCQlNUEM4NTcKCglUUU04NXh4CQkJTVBDODU0MC84NTQxLzg1NTUvODU2MAoKCWFjYWRpYQkJCVBQQzQwNUVaCglhbHByCQkJUFBDNDQwR1gKCWJhbWJvbwkJCVBQQzQ0MEVQCglidW5iaW5nYQkJUFBDNDA1RVAKCWNhbnlvbmxhbmRzCQlQUEM0NjBFWAoJZWJvbnkJCQlQUEM0NDBHUAoJZ2xhY2llcgkJCVBQQzQ2MEdUCgloYWxlYWthbGEJCVBQQzQwNUVYcgoJa2F0bWFpCQkJUFBDNDQwU1BlCglraWxhdWVhCQkJUFBDNDA1RVgKCWx3bW9uNQkJCVBQQzQ0MEVQeAoJbWFrYWx1CQkJUFBDNDA1RVgKCW9jb3RlYQkJCVBQQzQ0MEdYCglwM3A0NDAJCQlQUEM0NDBHUAoJcGNzNDQwZXAJCVBQQzQ0MEVQCglyYWluaWVyCQkJUFBDNDQwR1J4CglzZXF1b2lhCQkJUFBDNDQwRVB4CglzeWNhbW9yZQkJUFBDNDA1R1ByCgl0YWlzaGFuCQkJUFBDNDQwR1gKCXdhbG51dAkJCVBQQzQwNUdQCgl5ZWxsb3dzdG9uZQkJUFBDNDQwR1IKCXlvc2VtaXRlCQlQUEM0NDBFUAoJemV1cwkJCVBQQzQwNUVQCgoJUDNNNzUwCQkJUFBDNzUwRlgvR1gvR0wKCll1c2RpIFNhbnRvc28gPHl1c2RpX3NhbnRvc29AYWRhcHRlYy5jb20+CgoJSElEREVOX0RSQUdPTglNUEM4MjQxL01QQzgyNDUKClRyYXZpcyBTYXd5ZXIgKHRyYXZpcy5zYXd5ZXJAc2FuZGJ1cnN0LmNvbT4KCglLQVJFRgkJCVBQQzQ0MEdYCglNRVRST0JPWAkJUFBDNDQwR1gKCVhQRURJVEUxSwkJUFBDNDQwR1gKCkhlaWtvIFNjaG9jaGVyIDxoc0BkZW54LmRlPgoKCWlkczgyNDcJCQlNUEM4MjQ3CglqdXBpdGVyCQkJTVBDNTIwMAoJbWdjb2dlCQkJTVBDODI0NwoJbWdzdXZkCQkJTVBDODUyCgltdW5pY3NlCQkJTVBDNTIwMAoJc2MzCQkJUFBDNDA1R1AKCXVjMTAxCQkJTVBDNTIwMAoKClBldGVyIERlIFNjaHJpanZlciA8cDJAbWluZC5iZT4KCglNTDIJCQlQUEM0eHgKClRpbXVyIFRhYmkgPHRpbXVyQGZyZWVzY2FsZS5jb20+CgoJTVBDODM0OUUtbUlUWAkJTVBDODM0OQoJTVBDODM0OUUtbUlUWC1HUAlNUEM4MzQ5CgpFcmlrIFRoZWlzZW4gPGV0aGVpc2VuQG1pbmRzcHJpbmcuY29tPgoKCVc3T0xNQwkJCVBQQzR4eAoJVzdPTE1HCQkJUFBDNHh4CgpKaW0gVGhvbXBzb24gPGppbUBtdXNlbmtpLmNvbT4KCglNVVNFTktJCQkJTVBDODI0NS84MjQxCglTYW5kcG9pbnQ4MjQ1CQlNUEM4MjQ1CgpSdW5lIFRvcmdlcnNlbiA8cnVuZXRAaW5ub3ZzeXMuY29tPgoKCU1QQzgyNjZBRFMJCU1QQzgyNjYKCgpEYXZpZCBVcGRlZ3JhZmYgPGRhdmVAY3JheS5jb20+CgoJQ1JBWUwxCQkJUFBDNHh4CgpBbnRvbiBWb3JvbnRzb3YgPGF2b3JvbnRzb3ZAcnUubXZpc3RhLmNvbT4KCglNUEM4MzYwRVJESwkJTVBDODM2MAoKSm9zZWYgV2FnbmVyIDxXYWduZXJATWljcm9zeXMuZGU+CgoJQ1BDNDUJCQlNUEM4MjQ1CglQTTUyMAkJCU1QQzUyMDAKClN0ZXBoZW4gV2lsbGlhbXMgPHN0ZXZlQGljYXJ1cy5jb20+CgoJSlNFCQkJUFBDNDA1R1ByCgpKb2huIFpoYW4gPHpoYW56QHNpbm92ZWUuY29tPgoKCXN2bV9zYzh4eAkJTVBDOHh4CgpHdWVubmFkaSBMaWFraG92ZXRza2kgPGcubGlha2hvdmV0c2tpQGdteC5kZT4KCglsaW5rc3RhdGlvbgkJTVBDODI0MQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVW5rbm93biAvIG9ycGhhbmVkIGJvYXJkczoKCglBRFM4NjAJCQlNUEM4eHgKCUZBRFM4MjMJCQlNUEM4eHgKCUZBRFM4NTBTQVIJCU1QQzh4eAoJRkFEUzg2MFQJCU1QQzh4eAoJR0VOSUVUVgkJCU1QQzh4eAoJSUFEMjEwCQkJTVBDOHh4CglNQlgJCQlNUEM4eHgKCU1CWDg2MFQJCQlNUEM4eHgKCU5YODIzCQkJTVBDOHh4CglSUFhDbGFzc2ljCQlNUEM4eHgKCVJQWGxpdGUJCQlNUEM4eHgKCglFUklDCQkJUFBDNHh4CgoJTU9VU1NFCQkJTVBDODI0eAoKCVJQWHN1cGVyCQlNUEM4MjYwCglyc2Rwcm90bwkJTVBDODI2MAoKCUVWQjY0MjYwCQlNUEM3eHhfNzR4eAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBBUk0gU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpSb3dlbCBBdGllbnphIDxyb3dlbEBkaXdhbGFicy5jb20+CgoJYXJtYWRpbGxvCQlBUk03MjBUCgpSaXNoaSBCaGF0dGFjaGFyeWEgPHJpc2hpQHRpLmNvbT4KCglvbWFwNTkxMm9zawkJQVJNOTI2RUpTCgpDbGlmZiBCcmFrZSA8Y2xpZmYuYnJha2VAZ21haWwuY29tPgoKCXB4YTI1NV9pZHAJCXhzY2FsZQoKUmljayBCcm9uc29uIDxyaWNrQGVmbi5vcmc+CgoJQVQ5MVJNOTIwMERLCQlhdDkxcm05MjAwCgpHZW9yZ2UgRy4gRGF2aXMgPGdkYXZpc0BtdmlzdGEuY29tPgoKCWFzc2FiZXQJCQlTQTExMDAKCWdjcGx1cwkJCVNBMTEwMAoKVGhvbWFzIEVsc3RlIDxpbmZvQGVsc3RlLm9yZz4KCgltb2RuZXQ1MAkJQVJNNzIwVCAoTkVUKzUwKQoKUGV0ZXIgRmlndWxpIDxwZXBvc2hAZXRjLnNrPgoKCXdlcGVwMjUwCQl4c2NhbGUKCk1hcml1cyBHcvZnZXIgPG1hZ0BzeXNnby5kZT4KCglpbXBhNwkJCUFSTTcyMFQgKEVQNzIxMSkKCWVwNzMxMgkJCUFSTTcyMFQgKEVQNzMxMikKCktzaGl0aWogR3VwdGEgPGtzaGl0aWpAdGkuY29tPgoKCW9tYXAxNTEwaW5uCQlBUk05MjVUCglvbWFwMTYxMGlubgkJQVJNOTI2RUpTCgpLeWxlIEhhcnJpcyA8a2hhcnJpc0BuZXh1cy10ZWNoLm5ldD4KCglsdWJib2NrCQkJeHNjYWxlCgljcmFkbGUJCQl4c2NhbGUKCWl4ZHA0MjUJCQl4c2NhbGUKCkdhcnkgSmVubmVqb2huIDxnakBkZW54LmRlPgoKCXNtZGsyNDAwCQlBUk05MjBUCgl0cmFiCQkJQVJNOTIwVAoKS29uc3RhbnRpbiBLbGV0c2Noa2UgPGtsZXRzY2hrZUBzeW5lcnRyb25peHguZGU+CglzY2I5MzI4CQkJQVJNOTIwVAoKTmlzaGFudCBLYW1hdCA8bnNrYW1hdEB0aS5jb20+CgoJb21hcDE2MTBoMgkJQVJNOTI2RUpTCgpTZXJnZXkgS3VidXNoeW4gPGtzaUBrb2k4Lm5ldD4KCglEVi1FVk0JCQlBUk05MjZFSlMKCVNPTkFUQQkJCUFSTTkyNkVKUwoJU0NITU9PR0lFCQlBUk05MjZFSlMKClByYWthc2ggS3VtYXIgPHByYWthc2hAZW1iZWR4LmNvbT4KCgljZXJmMjUwCQkJeHNjYWxlCgpEYXZpZCBN/GxsZXIgPGQubXVlbGxlckBlbHNvZnQuY2g+CgoJc21kazI0MTAJCUFSTTkyMFQKCVZDTUE5CQkJQVJNOTIwVAoKUm9sZiBPZmZlcm1hbm5zIDxyb2ZAc3lzZ28uZGU+CgoJc2hhbm5vbgkJCVNBMTEwMAoKUGV0ZXIgUGVhcnNlIDxwZXRlci5wZWFyc2VAYXJtLmNvbT4KCWludGVncmF0b3JjcAkJQWxsIGN1cnJlbnQgQVJNIHN1cHBsaWVkICYKCQkJCXN1cHBvcnRlZCBjb3JlIG1vZHVsZXMKCQkJCS1zZWUgaHR0cDovL3d3dy5hcm0uY29tCgkJCQkvcHJvZHVjdHMvRGV2VG9vbHMKCQkJCS9IYXJkd2FyZV9QbGF0Zm9ybXMuaHRtbAoJdmVyc2F0aWxlCQlBUk05MjZFSi1TCgl2ZXJzYXRpbGUJCUFSTTkyNkVKLVMKCkRhdmUgUGV2ZXJsZXkgPGRwZXZlcmxleUBtcGMtZGF0YS5jby51az4KCglvbWFwNzMwcDIJCUFSTTkyNkVKUwoKU3RlbGlhbiBQb3AgPHN0ZWxpYW4ucG9wQGxlYWR0ZWNoZGVzaWduLmNvbT4KCglhdDkxY2FwOWFkawkJQVJNOTI2RUpTIChBVDkxQ0FQOSBTb0MpCglhdDkxc2FtOTI2MGVrCQlBUk05MjZFSlMgKEFUOTFTQU05MjYwIFNvQykKCWF0OTFzYW05MjYxZWsJCUFSTTkyNkVKUyAoQVQ5MVNBTTkyNjEgU29DKQoJYXQ5MXNhbTkyNjNlawkJQVJNOTI2RUpTIChBVDkxU0FNOTI2MyBTb0MpCglhdDkxc2FtOXJsZWsJCUFSTTkyNkVKUyAoQVQ5MVNBTTlSTCBTb0MpCgpTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CgoJaXhkcGc0MjUJCXhzY2FsZQoJcGRuYjMJCQl4c2NhbGUKCXNjcHUJCQl4c2NhbGUKClJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KCgljc2IyMjYJCQl4c2NhbGUKCWlubm9rb20JCQl4c2NhbGUKCkFuZHJlYSBTY2lhbiA8YW5kcmVhLnNjaWFuQGRhdmUtdGVjaC5pdD4KCglCMgkJCUFSTTdURE1JIChTM0M0NEIwWCkKCkdyZWcgVW5nZXJlciA8Z3JlZy51bmdlcmVyQG9wZW5nZWFyLmNvbT4KCgljbTQwMDgJCQlrczg2OTVwCgljbTQxMTYJCQlrczg2OTVwCgljbTQxNDgJCQlrczg2OTVwCgpSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+CgoJb21hcDI0MjBoNAkJQVJNMTEzNkVKUwoKS3l1bmdtaW4gUGFyayA8a3l1bmdtaW4ucGFya0BzYW1zdW5nLmNvbT4KCglhcG9sbG9uCQkJQVJNMTEzNkVKUwoKQWxleCBa/HBrZSA8YXp1QHN5c2dvLmRlPgoKCWxhcnQJCQlTQTExMDAKCWRucDExMTAJCQlTQTExMTAKCk1pY2hhZWwgU2Nod2luZ2VuIDxtaWNoYWVsQHNjaHdpbmdlbi5vcmc+CgoJYWN0dXgxCQkJeHNjYWxlCglhY3R1eDIJCQl4c2NhbGUKCWFjdHV4MwkJCXhzY2FsZQoJYWN0dXg0CQkJeHNjYWxlCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgeDg2IFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKRGFuaWVsIEVuZ3N0cvZtIDxkYW5pZWxAb21pY3Jvbi5zZT4KCglzYzUyMF9jZHAJCXg4NgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1JUFMgU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgoKCWluY2FpcAkJCU1JUFMzMiA0S2MKCXB1cnBsZQkJCU1JUFM2NCA1S2MKClRob21hcyBMYW5nZSA8dGhvbWFzQGNvcmVsYXR1cy5zZT4KCWRiYXUxeDAwCQlNSVBTMzIgQXUxMDAwCglndGgyCQkJTUlQUzMyIEF1MTAwMAoKVmxhZCBMdW5ndSA8dmxhZC5sdW5ndUB3aW5kcml2ZXIuY29tPgoJcWVtdV9taXBzCQlNSVBTMzIKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBOaW9zLTMyIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpTdGVwaGFuIExpbnogPGxpbnpAbGktcHJvLm5ldD4KCglESzFTMTAJCQlOaW9zLTMyCglBRE5QRVNDMQkJTmlvcy0zMgoKU2NvdHQgTWNOdXR0IDxzbWNudXR0QHBzeWVudC5jb20+CgoJREsxQzIwCQkJTmlvcy0zMgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE5pb3MtSUkgU3lzdGVtczoJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClNjb3R0IE1jTnV0dCA8c21jbnV0dEBwc3llbnQuY29tPgoKCVBDSTU0NDEJCQlOaW9zLUlJCglQSzFDMjAJCQlOaW9zLUlJCglFUDFDMjAJCQlOaW9zLUlJCglFUDFTMTAJCQlOaW9zLUlJCglFUDFTNDAJCQlOaW9zLUlJCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWljcm9CbGF6ZSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKWWFzdXNoaSBTaG9qaSA8eWFzaGlAYXRtYXJrLXRlY2huby5jb20+CgoJU1VaQUtVCQkJTWljcm9CbGF6ZQoKTWljaGFsIFNpbWVrIDxtb25zdHJAbW9uc3RyLmV1PgoKCU1MNDAxCQkJTWljcm9CbGF6ZQoJWFVQVjJQCQkJTWljcm9CbGF6ZQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvbGRmaXJlIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglUQVNSRUcJCQlNQ0Y1MjQ5CgpUc2lDaHVuZyBMaWV3IDxUc2ktQ2h1bmcuTGlld0BmcmVlc2NhbGUuY29tPgoKCU01MjI3N0VWQgkJbWNmNTIyN3gKCU01MjM1RVZCCQltY2Y1MngyCglNNTMyOUVWQgkJbWNmNTMyeAoJTTUzNzNFVkIJCW1jZjUzMngKCU01NDQ1NUVWQgkJbWNmNTQ0NXgKCU01NDc1RVZCCQltY2Y1NDd4Xzh4CglNNTQ4NUVWQgkJbWNmNTQ3eF84eAoKSGF5ZGVuIEZyYXNlciA8SGF5ZGVuLkZyYXNlckBmcmVlc2NhbGUuY29tPgoKCU01MjUzRVZCRQkJbWNmNTJ4MgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEFWUjMyIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpIYWF2YXJkIFNraW5uZW1vZW4gPGhza2lubmVtb2VuQGF0bWVsLmNvbT4KCglBVFNUSzEwMDAJCUFUMzJBUDd4eHgKCUFUU1RLMTAwMgkJQVQzMkFQNzAwMAoJQVRTVEsxMDAzCQlBVDMyQVA3MDAxCglBVFNUSzEwMDQJCUFUMzJBUDcwMDIKCUFUU1RLMTAwNgkJQVQzMkFQNzAwMAoJQVROR1cxMDAJCUFUMzJBUDcwMDAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBTdXBlckggU3lzdGVtczoJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCk5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdUBuaWdhdXJpLm9yZz4KCglNUzc3NTBTRQkJU0g3NzUwCglNUzc3MjJTRQkJU0g3NzIyCglSNzc4ME1QCQkJU0g3NzgwCglSMkRQbHVzCQkJU0g3NzUxUgoKTWFyayBKb25hcyA8bWFyay5qb25hc0BkZS5ib3NjaC5jb20+CgoJbXByMgkJCVNINzcyMAoKWW9zaGloaXJvIFNoaW1vZGEgPHNoaW1vZGEueW9zaGloaXJvQHJlbmVzYXMuY29tPgoKCU1TNzcyMFNFCQlTSDc3MjAKCll1c3VrZSBHb2RhIDxnb2RhLnl1c3VrZUByZW5lc2FzLmNvbT4KCglNSUdPLVIJCQlTSDc3MjIKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBCbGFja2ZpbiBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgpCbGFja2ZpbiBUZWFtIDx1LWJvb3QtZGV2ZWxAYmxhY2tmaW4udWNsaW51eC5vcmc+CgoJQkY1MzMtRVpLSVQJCUJGNTMzCglCRjUzMy1TVEFNUAkJQkY1MzMKCUJGNTM3LVNUQU1QCQlCRjUzNwoJQkY1NjEtRVpLSVQJCUJGNTYxCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRW5kIG9mIE1BSU5UQUlORVJTIGxpc3QJCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK