IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCQkJCQkJCQkJIwojIFJlZ3VsYXIgTWFpbnRhaW5lcnMgZm9yIFUtQm9vdCBib2FyZCBzdXBwb3J0OgkJCQkjCiMJCQkJCQkJCQkjCiMgRm9yIGFueSBib2FyZCB3aXRob3V0IHBlcm1hbmVudCBtYWludGFpbmVyLCBwbGVhc2UgY29udGFjdAkJIwojCVdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CQkJCQkjCiMgYW5kIENjOiB0aGUgPFUtQm9vdC1Vc2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IG1haWxpbmcgbGlzdHMuCSMKIwkJCQkJCQkJCSMKIyBOb3RlOiBsaXN0cyBzb3J0ZWQgYnkgTWFpbnRhaW5lciBOYW1lCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgUG93ZXJQQyBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKR3JlZyBBbGxlbiA8Z2FsbGVuQGFybHV0LnV0ZXhhcy5lZHU+CgoJVVRYODI0NQkJCU1QQzgyNDUKClBhbnRlbGlzIEFudG9uaW91IDxwYW50b0BpbnRyYWNvbS5ncj4KCglORVRWSUEJCQlNUEM4eHgKClJlaW5oYXJkIEFybHQgPHJlaW5oYXJkLmFybHRAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCgljcGNpNTIwMAkJTVBDNTIwMAoJbWVjcDUyMDAJCU1QQzUyMDAKCXBmNTIwMAkJCU1QQzUyMDAKCglDUENJNzUwCQkJUFBDNzUwRlgvR1gKCll1bGkgQmFyY29oZW4gPHl1bGlAYXJhYmVsbGFzdy5jb20+CgoJQWRkZXIJCQlNUEM4N3gvTVBDODUyVAoJZXA4MjQ4CQkJTVBDODI0OAoJSVNQQU4JCQlNUEM4MjYwCglNUEM4MjYwQURTCQlNUEM4MjZ4L01QQzgyN3gvTVBDODI4MAoJUmF0dGxlcgkJCU1QQzgyNDgKCVpQQzE5MDAJCQlNUEM4MjY1CgpNaWNoYWVsIEJhcmtvd3NraSA8bWljaGFlbC5iYXJrb3dza2lAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzIzRVJEQgkJTVBDODMyMwoKSmVycnkgVmFuIEJhcmVuIDxnZXJhbGQudmFuYmFyZW5Ac21pdGhzLWFlcm9zcGFjZS5jb20+CgoJc2Fjc25nCQkJTVBDODI2MAoKT2xpdmVyIEJyb3duIDxvYnJvd25AYWR2ZW50bmV0d29ya3MuY29tPgoKCWd3ODI2MAkJCU1QQzgyNjAKCkNvbm4gQ2xhcmsgPGNsYXJrQGVzdGVlbS5jb20+CgoJRVNURUVNMTkyRQkJTVBDOHh4CgpKb2UgRCdBYmJyYWNjaW8gPGxqZDAxNUBmcmVlc2NhbGUuY29tPgoKCU1QQzgzN3hFUkRCCQlNUEM4Mzd4CgpL4XJpIERhdu3wc3NvbiA8a2RAZmxhZ2EuaXM+CgoJRkxBR0FETQkJCU1QQzgyMwoKVG9yc3RlbiBEZW1rZSA8dG9yc3Rlbi5kZW1rZUBmY2kuY29tPgoKCWVYYWxpb24JCQlNUEM4MjR4CgpXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgoKCUljZUN1YmVfNTEwMAkJTUdUNTEwMAoJSWNlQ3ViZV81MjAwCQlNUEM1MjAwCgoJQU1YODYwCQkJTVBDODYwCglFVFgwOTQJCQlNUEM4NTAKCUZQUzg1MEwJCQlNUEM4NTAKCUZQUzg2MEwJCQlNUEM4NjAKCUlDVTg2MgkJCU1QQzg2MgoJSVA4NjAJCQlNUEM4NjAKCUlWTUwyNAkJCU1QQzg2MAoJSVZNTDI0XzEyOAkJTVBDODYwCglJVk1MMjRfMjU2CQlNUEM4NjAKCUlWTVM4CQkJTVBDODYwCglJVk1TOF8xMjgJCU1QQzg2MAoJSVZNUzhfMjU2CQlNUEM4NjAKCUxBTlRFQwkJCU1QQzg1MAoJTFdNT04JCQlNUEM4MjMKCU5DNjUwCQkJTVBDODUyCglSMzYwTVBJCQkJTVBDODIzCglSTVUJCQlNUEM4NTAKCVJSdmlzaW9uCQlNUEM4MjMKCVNNODUwCQkJTVBDODUwCglTUEQ4MjNUUwkJTVBDODIzCglUUU04MjNMCQkJTVBDODIzCglUUU04MjNMX0xDRAkJTVBDODIzCglUUU04NTBMCQkJTVBDODUwCglUUU04NTVMCQkJTVBDODU1CglUUU04NjBMCQkJTVBDODYwCglUUU04NjBMX0ZFQwkJTVBDODYwCgljMm1vbgkJCU1QQzg1NQoJaGVybWVzCQkJTVBDODYwCglsd21vbgkJCU1QQzgyMwoJcGN1X2UJCQlNUEM4NTUKCglDVTgyNAkJCU1QQzgyNDAKCVNhbmRwb2ludDgyNDAJCU1QQzgyNDAKCVNMODI0NQkJCU1QQzgyNDUKCglBVEMJCQlNUEM4MjUwCglQTTgyNQkJCU1QQzgyNTAKCglUUU04MjU1CQkJTVBDODI1NQoKCUNQVTg2CQkJTVBDODI2MAoJUE04MjYJCQlNUEM4MjYwCglUUU04MjYwCQkJTVBDODI2MAoKCVAzRzQJCQlNUEM3NDEwCgoJUENJUFBDMgkJCU1QQzc1MAoJUENJUFBDNgkJCU1QQzc1MAoKCUVYQklUR0VOCQlQUEM0MDVHUAoKSm9uIERpZWtlbWEgPGpvbi5kaWVrZW1hQHNtaXRocy1hZXJvc3BhY2UuY29tPgoKCXNiYzgyNjAJCQlNUEM4MjYwCgpEYXZlIEVsbGlzIDxER0VAc2l4bmV0aW8uY29tPgoKCVNYTkk4NTVUCQlNUEM4eHgKClRob21hcyBGcmllZGVuIDxUaG9tYXNGQGh5cGVyaW9uLWVudGVydGFpbm1lbnQuY29tPgoKCUFtaWdhT25lRzNTRQkJTVBDN3h4CgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglBRENJT1AJCQlJT1A0ODAgKFBQQzQwMSkKCUFQQzQwNQkJCVBQQzQwNUdQCglBUjQwNQkJCVBQQzQwNUdQCglBU0g0MDUJCQlQUEM0MDVFUAoJQ0FOQlQJCQlQUEM0MDVDUgoJQ1BDSTJEUAkJCVBQQzQwNUdQCglDUENJNDA1CQkJUFBDNDA1R1AKCUNQQ0k0MDUyCQlQUEM0MDVHUAoJQ1BDSTQwNUFCCQlQUEM0MDVHUAoJQ1BDSTQwNURUCQlQUEM0MDVHUAoJQ1BDSUlTRVI0CQlQUEM0MDVHUAoJREFTQV9TSU0JCUlPUDQ4MCAoUFBDNDAxKQoJRFA0MDUJCQlQUEM0MDVFUAoJRFU0MDUJCQlQUEM0MDVHUAoJRFU0NDAJCQlQUEM0NDBFUHgKCUcyMDAwCQkJUFBDNDA1RVAKCUhINDA1CQkJUFBDNDA1RVAKCUhVQjQwNQkJCVBQQzQwNUVQCglPQ1JUQwkJCVBQQzQwNUdQCglPUlNHCQkJUFBDNDA1R1AKCVBDSTQwNQkJCVBQQzQwNUdQCglQTFU0MDUJCQlQUEM0MDVFUAoJUE1DNDA1CQkJUFBDNDA1R1AKCVBNQzQ0MAkJCVBQQzQ0MEVQeAoJVk9INDA1CQkJUFBDNDA1RVAKCVZPTTQwNQkJCVBQQzQwNUVQCglXVUg0MDUJCQlQUEM0MDVFUAoJQ01TNzAwCQkJUFBDNDA1RVAKCk5pa2xhdXMgR2lnZXIgPG5pa2xhdXMuZ2lnZXJAbmV0c3RhbC5jb20+CgoJSENVNAkJCVBQQzQwNUdQcgoJSENVNQkJCVBQQzQ0MEVQeAoKRnJhbmsgR290dHNjaGxpbmcgPGZnb3R0c2NobGluZ0BlbHRlYy5kZT4KCglNSFBDCQkJTVBDOHh4CgoJQkFCN3h4CQkJTVBDNzQwL01QQzc1MAoKV29sZmdhbmcgR3JhbmRlZ2dlciA8d2dAZGVueC5kZT4KCglDQ00JCQlNUEM4NTUKCglQTjYyCQkJTVBDODI0MAoKCUlQSEFTRTQ1MzkJCU1QQzgyNjAKCVNDTQkJCU1QQzgyNjAKCkhvd2FyZCBHcmF5IDxtdnNlbnNvckBtYXRyaXgtdmlzaW9uLmRlPgoKCU1WUzEJCQlNUEM4MjMKCkpvZSBIYW1tYW4gPGpvZS5oYW1tYW5AZW1iZWRkZWRzcGVjaWFsdGllcy5jb20+CgoJc2JjODU0OAkJCU1QQzg1NDgKCXNiYzg2NDFkCQlNUEM4NjQxRAoKS2xhdXMgSGV5ZGVjayA8aGV5ZGVja0BraWViYWNrLXBldGVyLmRlPgoKCUtVUDRLCQkJTVBDODU1CglLVVA0WAkJCU1QQzg1OQoKTXVycmF5IEplbnNlbiA8TXVycmF5LkplbnNlbkBjc2lyby5hdT4KCgljb2dlbnRfbXBjOHh4CQlNUEM4eHgKCgljb2dlbnRfbXBjODI2MAkJTVBDODI2MAoJaHltb2QJCQlNUEM4MjYwCgpMYXJyeSBKb2huc29uIDxscmpAYWNtLm9yZz4KCglrb3JhdAkJCVBQQzQ0MEVQeAoKQnJhZCBLZW1wIDxCcmFkLktlbXBAc2VyYW5vYS5jb20+CgoJcHBtYzgyNjAJCU1QQzgyNjAKClNhbmdtb29uIEtpbSA8ZG9nb2lsQGV0aW5zeXMuY29tPgoKCWRlYnJpcwkJCU1QQzgyNDUKCUtWTUUwODAJCQlNUEM4MjQ1CgpUaG9tYXMgTGFuZ2UgPHRob21hc0Bjb3JlbGF0dXMuc2U+CgoJR1RICQkJTVBDODYwCgpSb2JlcnQgTGF6YXJza2kgPHJvYmVydGxhemFyc2tpQGdtYWlsLmNvbT4KCglBVFVNODU0OAkJTVBDODU0OAoKVGhlIExFT1ggdGVhbSA8dGVhbUBsZW94Lm9yZz4KCglFTFBUODYwCQkJTVBDODYwVAoKRGF2ZSBMaXUgPGRhdmVsaXVAZnJlZXNjYWxlLmNvbT4KCglNUEM4MzE1RVJEQgkJTVBDODMxNQoJTVBDODMyWEVNRFMJCU1QQzgzMngKCU1QQzgzNjBFTURTCQlNUEM4MzYwCglNUEM4MzdYRU1EUwkJTVBDODM3eAoKTnllIExpdSA8bnlldEB6dW1hbmV0d29ya3MuY29tPgoKCVpVTUEJCQlNUEM3eHhfNzR4eAoKSm9uIExvZWxpZ2VyIDxqZGxAZnJlZXNjYWxlLmNvbT4KCglNUEM4NTQwQURTCQlNUEM4NTQwCglNUEM4NTYwQURTCQlNUEM4NTYwCglNUEM4NTQxQ0RTCQlNUEM4NTQxCglNUEM4NTU1Q0RTCQlNUEM4NTU1CgoJTVBDODY0MUhQQ04JCU1QQzg2NDFECgpEYW4gTWFsZWsgPGRhbkBlbWJlZGRlZGFsbGV5LmNvbT4KCglzdHhncDMJCQlNUEM4NXh4CglzdHhzc2EJCQlNUEM4NXh4CglzdHh4dGMJCQlNUEM4eHgKCkVyYW4gTWFuIDxlcmFuQG5iYXNlLmNvLmlsPgoKCUVWQjY0MjYwXzc1MENYCQlNUEM3NTBDWAoKQW5kcmVhICJsbGFuZHJlIiBNYXJzb24gPGFuZHJlYS5tYXJzb25AZGF2ZS10ZWNoLml0PgoKCVBQQ2hhbWVsZW9uRVZCCVBQQzQwNUVQCgpSZWluaGFyZCBNZXllciA8ci5tZXllckBlbWstZWxla3Ryb25pay5kZT4KCglUT1A4NjAJCQlNUEM4NjBUCglUT1A1MjAwCQkJTVBDNTIwMAoKVG9sdW5heSBPcmt1biA8dG9ya3VuQG5leHRpby5jb20+CgoJY3NiMjcyCQkJUFBDNDA1R1AKCWNzYjQ3MgkJCVBQQzQwNUdQCgpKb2huIE90a2VuIDxqb3RrZW5Ac29mdGFkdmFuY2VzLmNvbT4KCglsdWFuCQkJUFBDNDQwU1AKCXRhaWh1CQkJUFBDNDA1RVAKCktlaXRoIE91dHdhdGVyIDxLZWl0aF9PdXR3YXRlckBtdmlzLmNvbT4KCglHRU44NjBUCQkJTVBDODYwVAoJR0VOODYwVF9TQwkJTVBDODYwVAoKRnJhbmsgUGFubm8gPGZwYW5ub0BkZWxwaGludGVjaC5jb20+CgoJZXA4MjYwCQkJTVBDODI2MAoKRGVuaXMgUGV0ZXIgPGQucGV0ZXJAbXBsLmNoPgoKCU1JUDQwNQkJCVBQQzR4eAoJUElQNDA1CQkJUFBDNHh4CgpLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgoKCU1QQzgzNDlFTURTCQlNUEM4MzQ5CgpEYW5pZWwgUG9pcm90IDxkYW4ucG9pcm90QHdpbmRyaXZlci5jb20+CgoJc2JjODI0MAkJCU1QQzgyNDAKCXNiYzQwNQkJCVBQQzQwNUdQCgpTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CgoJUDNNNzQ0OAkJCU1QQzc0NDgKCgl1YzEwMAkJCU1QQzg1NwoKCVRRTTg1eHgJCQlNUEM4NTQwLzg1NDEvODU1NS84NTYwCgoJYWNhZGlhCQkJUFBDNDA1RVoKCWFscHIJCQlQUEM0NDBHWAoJYmFtYm9vCQkJUFBDNDQwRVAKCWJ1bmJpbmdhCQlQUEM0MDVFUAoJZWJvbnkJCQlQUEM0NDBHUAoJaGFsZWFrYWxhCQlQUEM0MDVFWHIKCWthdG1haQkJCVBQQzQ0MFNQZQoJa2lsYXVlYQkJCVBQQzQwNUVYCglsd21vbjUJCQlQUEM0NDBFUHgKCW1ha2FsdQkJCVBQQzQwNUVYCglvY290ZWEJCQlQUEM0NDBHWAoJcDNwNDQwCQkJUFBDNDQwR1AKCXBjczQ0MGVwCQlQUEM0NDBFUAoJcmFpbmllcgkJCVBQQzQ0MEdSeAoJc2VxdW9pYQkJCVBQQzQ0MEVQeAoJc3ljYW1vcmUJCVBQQzQwNUdQcgoJdGFpc2hhbgkJCVBQQzQ0MEdYCgl3YWxudXQJCQlQUEM0MDVHUAoJeWVsbG93c3RvbmUJCVBQQzQ0MEdSCgl5b3NlbWl0ZQkJUFBDNDQwRVAKCXpldXMJCQlQUEM0MDVFUAoKCVAzTTc1MAkJCVBQQzc1MEZYL0dYL0dMCgpZdXNkaSBTYW50b3NvIDx5dXNkaV9zYW50b3NvQGFkYXB0ZWMuY29tPgoKCUhJRERFTl9EUkFHT04JTVBDODI0MS9NUEM4MjQ1CgpUcmF2aXMgU2F3eWVyICh0cmF2aXMuc2F3eWVyQHNhbmRidXJzdC5jb20+CgoJS0FSRUYJCQlQUEM0NDBHWAoJTUVUUk9CT1gJCVBQQzQ0MEdYCglYUEVESVRFMUsJCVBQQzQ0MEdYCgpIZWlrbyBTY2hvY2hlciA8aHNAZGVueC5kZT4KCglpZHM4MjQ3CQkJTVBDODI3MgoJanVwaXRlcgkJCU1QQzUyMDAKCW1nY29nZQkJCU1QQzgyNDcKCW1nc3V2ZAkJCU1QQzg1MgoJbXVuaWNzZQkJCU1QQzUyMDAKCXNjMwkJCVBQQzQwNUdQCgl1YzEwMQkJCU1QQzUyMDAKCgpQZXRlciBEZSBTY2hyaWp2ZXIgPHAyQG1pbmQuYmU+CgoJTUwyCQkJUFBDNHh4CgpUaW11ciBUYWJpIDx0aW11ckBmcmVlc2NhbGUuY29tPgoKCU1QQzgzNDlFLW1JVFgJCU1QQzgzNDkKCU1QQzgzNDlFLW1JVFgtR1AJTVBDODM0OQoKRXJpayBUaGVpc2VuIDxldGhlaXNlbkBtaW5kc3ByaW5nLmNvbT4KCglXN09MTUMJCQlQUEM0eHgKCVc3T0xNRwkJCVBQQzR4eAoKSmltIFRob21wc29uIDxqaW1AbXVzZW5raS5jb20+CgoJTVVTRU5LSQkJCU1QQzgyNDUvODI0MQoJU2FuZHBvaW50ODI0NQkJTVBDODI0NQoKUnVuZSBUb3JnZXJzZW4gPHJ1bmV0QGlubm92c3lzLmNvbT4KCglNUEM4MjY2QURTCQlNUEM4MjY2CgoKRGF2aWQgVXBkZWdyYWZmIDxkYXZlQGNyYXkuY29tPgoKCUNSQVlMMQkJCVBQQzR4eAoKQW50b24gVm9yb250c292IDxhdm9yb250c292QHJ1Lm12aXN0YS5jb20+CgoJTVBDODM2MEVSREsJCU1QQzgzNjAKCkpvc2VmIFdhZ25lciA8V2FnbmVyQE1pY3Jvc3lzLmRlPgoKCUNQQzQ1CQkJTVBDODI0NQoJUE01MjAJCQlNUEM1MjAwCgpTdGVwaGVuIFdpbGxpYW1zIDxzdGV2ZUBpY2FydXMuY29tPgoKCUpTRQkJCVBQQzQwNUdQcgoKSm9obiBaaGFuIDx6aGFuekBzaW5vdmVlLmNvbT4KCglzdm1fc2M4eHgJCU1QQzh4eAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVW5rbm93biAvIG9ycGhhbmVkIGJvYXJkczoKCglBRFM4NjAJCQlNUEM4eHgKCUZBRFM4MjMJCQlNUEM4eHgKCUZBRFM4NTBTQVIJCU1QQzh4eAoJRkFEUzg2MFQJCU1QQzh4eAoJR0VOSUVUVgkJCU1QQzh4eAoJSUFEMjEwCQkJTVBDOHh4CglNQlgJCQlNUEM4eHgKCU1CWDg2MFQJCQlNUEM4eHgKCU5YODIzCQkJTVBDOHh4CglSUFhDbGFzc2ljCQlNUEM4eHgKCVJQWGxpdGUJCQlNUEM4eHgKCglFUklDCQkJUFBDNHh4CgoJTU9VU1NFCQkJTVBDODI0eAoKCVJQWHN1cGVyCQlNUEM4MjYwCglyc2Rwcm90bwkJTVBDODI2MAoKCUVWQjY0MjYwCQlNUEM3eHhfNzR4eAoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBBUk0gU3lzdGVtczoJCQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpSb3dlbCBBdGllbnphIDxyb3dlbEBkaXdhbGFicy5jb20+CgoJYXJtYWRpbGxvCQlBUk03MjBUCgpSaXNoaSBCaGF0dGFjaGFyeWEgPHJpc2hpQHRpLmNvbT4KCglvbWFwNTkxMm9zawkJQVJNOTI2RUpTCgpDbGlmZiBCcmFrZSA8Y2xpZmYuYnJha2VAZ21haWwuY29tPgoKCXB4YTI1NV9pZHAJCXhzY2FsZQoKUmljayBCcm9uc29uIDxyaWNrQGVmbi5vcmc+CgoJQVQ5MVJNOTIwMERLCQlhdDkxcm05MjAwCgpHZW9yZ2UgRy4gRGF2aXMgPGdkYXZpc0BtdmlzdGEuY29tPgoKCWFzc2FiZXQJCQlTQTExMDAKCWdjcGx1cwkJCVNBMTEwMAoKVGhvbWFzIEVsc3RlIDxpbmZvQGVsc3RlLm9yZz4KCgltb2RuZXQ1MAkJQVJNNzIwVCAoTkVUKzUwKQoKUGV0ZXIgRmlndWxpIDxwZXBvc2hAZXRjLnNrPgoKCXdlcGVwMjUwCQl4c2NhbGUKCk1hcml1cyBHcvZnZXIgPG1hZ0BzeXNnby5kZT4KCglpbXBhNwkJCUFSTTcyMFQgKEVQNzIxMSkKCWVwNzMxMgkJCUFSTTcyMFQgKEVQNzMxMikKCktzaGl0aWogR3VwdGEgPGtzaGl0aWpAdGkuY29tPgoKCW9tYXAxNTEwaW5uCQlBUk05MjVUCglvbWFwMTYxMGlubgkJQVJNOTI2RUpTCgpLeWxlIEhhcnJpcyA8a2hhcnJpc0BuZXh1cy10ZWNoLm5ldD4KCglsdWJib2NrCQkJeHNjYWxlCgljcmFkbGUJCQl4c2NhbGUKCWl4ZHA0MjUJCQl4c2NhbGUKCkdhcnkgSmVubmVqb2huIDxnakBkZW54LmRlPgoKCXNtZGsyNDAwCQlBUk05MjBUCgl0cmFiCQkJQVJNOTIwVAoKS29uc3RhbnRpbiBLbGV0c2Noa2UgPGtsZXRzY2hrZUBzeW5lcnRyb25peHguZGU+CglzY2I5MzI4CQkJQVJNOTIwVAoKTmlzaGFudCBLYW1hdCA8bnNrYW1hdEB0aS5jb20+CgoJb21hcDE2MTBoMgkJQVJNOTI2RUpTCgpTZXJnZXkgS3VidXNoeW4gPGtzaUBrb2k4Lm5ldD4KCglEVi1FVk0JCQlBUk05MjZFSlMKCVNPTkFUQQkJCUFSTTkyNkVKUwoJU0NITU9PR0lFCQlBUk05MjZFSlMKClByYWthc2ggS3VtYXIgPHByYWthc2hAZW1iZWR4LmNvbT4KCgljZXJmMjUwCQkJeHNjYWxlCgpEYXZpZCBN/GxsZXIgPGQubXVlbGxlckBlbHNvZnQuY2g+CgoJc21kazI0MTAJCUFSTTkyMFQKCVZDTUE5CQkJQVJNOTIwVAoKUm9sZiBPZmZlcm1hbm5zIDxyb2ZAc3lzZ28uZGU+CgoJc2hhbm5vbgkJCVNBMTEwMAoKUGV0ZXIgUGVhcnNlIDxwZXRlci5wZWFyc2VAYXJtLmNvbT4KCWludGVncmF0b3JjcAkJQWxsIGN1cnJlbnQgQVJNIHN1cHBsaWVkICYKCQkJCXN1cHBvcnRlZCBjb3JlIG1vZHVsZXMKCQkJCS1zZWUgaHR0cDovL3d3dy5hcm0uY29tCgkJCQkvcHJvZHVjdHMvRGV2VG9vbHMKCQkJCS9IYXJkd2FyZV9QbGF0Zm9ybXMuaHRtbAoJdmVyc2F0aWxlCQlBUk05MjZFSi1TCgl2ZXJzYXRpbGUJCUFSTTkyNkVKLVMKCkRhdmUgUGV2ZXJsZXkgPGRwZXZlcmxleUBtcGMtZGF0YS5jby51az4KCglvbWFwNzMwcDIJCUFSTTkyNkVKUwoKU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgoKCWl4ZHBnNDI1CQl4c2NhbGUKCXBkbmIzCQkJeHNjYWxlCglzY3B1CQkJeHNjYWxlCgpSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXguZGU+CgoJY3NiMjI2CQkJeHNjYWxlCglpbm5va29tCQkJeHNjYWxlCgpBbmRyZWEgU2NpYW4gPGFuZHJlYS5zY2lhbkBkYXZlLXRlY2guaXQ+CgoJQjIJCQlBUk03VERNSSAoUzNDNDRCMFgpCgpHcmVnIFVuZ2VyZXIgPGdyZWcudW5nZXJlckBvcGVuZ2Vhci5jb20+CgoJY200MDA4CQkJa3M4Njk1cAoJY200MTE2CQkJa3M4Njk1cAoJY200MTQ4CQkJa3M4Njk1cAoKUmljaGFyZCBXb29kcnVmZiA8ci13b29kcnVmZjJAdGkuY29tPgoKCW9tYXAyNDIwaDQJCUFSTTExMzZFSlMKCkFsZXggWvxwa2UgPGF6dUBzeXNnby5kZT4KCglsYXJ0CQkJU0ExMTAwCglkbnAxMTEwCQkJU0ExMTEwCgpNaWNoYWVsIFNjaHdpbmdlbiA8bWljaGFlbEBzY2h3aW5nZW4ub3JnPgoKCWFjdHV4MQkJCXhzY2FsZQoJYWN0dXgyCQkJeHNjYWxlCglhY3R1eDMJCQl4c2NhbGUKCWFjdHV4NAkJCXhzY2FsZQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIHg4NiBTeXN0ZW1zOgkJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCkRhbmllbCBFbmdzdHL2bSA8ZGFuaWVsQG9taWNyb24uc2U+CgoJc2M1MjBfY2RwCQl4ODYKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNSVBTIFN5c3RlbXM6CQkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KCglpbmNhaXAJCQlNSVBTMzIgNEtjCglwdXJwbGUJCQlNSVBTNjQgNUtjCgpUaG9tYXMgTGFuZ2UgPHRob21hc0Bjb3JlbGF0dXMuc2U+CglkYmF1MXgwMAkJTUlQUzMyIEF1MTAwMAoJZ3RoMgkJCU1JUFMzMiBBdTEwMDAKClZsYWQgTHVuZ3UgPHZsYWRAY29tc3lzLnJvPgoJcWVtdV9taXBzCQlNSVBTMzIKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBOaW9zLTMyIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpTdGVwaGFuIExpbnogPGxpbnpAbGktcHJvLm5ldD4KCglESzFTMTAJCQlOaW9zLTMyCglBRE5QRVNDMQkJTmlvcy0zMgoKU2NvdHQgTWNOdXR0IDxzbWNudXR0QHBzeWVudC5jb20+CgoJREsxQzIwCQkJTmlvcy0zMgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE5pb3MtSUkgU3lzdGVtczoJCQkJCQkJIwojCQkJCQkJCQkJIwojIE1haW50YWluZXIgTmFtZSwgRW1haWwgQWRkcmVzcwkJCQkJIwojCUJvYXJkCQkJQ1BVCQkJCQkjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClNjb3R0IE1jTnV0dCA8c21jbnV0dEBwc3llbnQuY29tPgoKCVBDSTU0NDEJCQlOaW9zLUlJCglQSzFDMjAJCQlOaW9zLUlJCglFUDFDMjAJCQlOaW9zLUlJCglFUDFTMTAJCQlOaW9zLUlJCglFUDFTNDAJCQlOaW9zLUlJCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWljcm9CbGF6ZSBTeXN0ZW1zOgkJCQkJCQkjCiMJCQkJCQkJCQkjCiMgTWFpbnRhaW5lciBOYW1lLCBFbWFpbCBBZGRyZXNzCQkJCQkjCiMJQm9hcmQJCQlDUFUJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKWWFzdXNoaSBTaG9qaSA8eWFzaGlAYXRtYXJrLXRlY2huby5jb20+CgoJU1VaQUtVCQkJTWljcm9CbGF6ZQoKTWljaGFsIFNpbWVrIDxtb25zdHJAbW9uc3RyLmV1PgoKCU1MNDAxCQkJTWljcm9CbGF6ZQoJWFVQVjJQCQkJTWljcm9CbGF6ZQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvbGRmaXJlIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KCglUQVNSRUcJCQlNQ0Y1MjQ5CgpaYWNoYXJ5IFAuIExhbmRhdSA8emFjaGFyeS5sYW5kYXVAbGFieHRlY2hub2xvZ2llcy5jb20+CgoJcjUyMDAJCQltY2Y1MngyCgpUc2lDaHVuZyBMaWV3IDxUc2ktQ2h1bmcuTGlld0BmcmVlc2NhbGUuY29tPgoKCU01MjI3N0VWQgkJbWNmNTIyN3gKCU01MjM1RVZCCQltY2Y1MngyCglNNTMyOUVWQgkJbWNmNTMyeAoJTTUzNzNFVkIJCW1jZjUzMngKCU01NDQ1NUVWQgkJbWNmNTQ0NXgKCU01NDc1RVZCCQltY2Y1NDd4Xzh4CglNNTQ4NUVWQgkJbWNmNTQ3eF84eAoKSGF5ZGVuIEZyYXNlciA8SGF5ZGVuLkZyYXNlckBmcmVlc2NhbGUuY29tPgoKCU01MjUzRVZCRQkJbWNmNTJ4MgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEFWUjMyIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpIYWF2YXJkIFNraW5uZW1vZW4gPGhza2lubmVtb2VuQGF0bWVsLmNvbT4KCglBVFNUSzEwMDAJCUFUMzJBUDd4eHgKCUFUU1RLMTAwMgkJQVQzMkFQNzAwMAoJQVRTVEsxMDAzCQlBVDMyQVA3MDAxCglBVFNUSzEwMDQJCUFUMzJBUDcwMDIKCUFUTkdXMTAwCQlBVDMyQVA3MDAwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU3VwZXJIIFN5c3RlbXM6CQkJCQkJCSMKIwkJCQkJCQkJCSMKIyBNYWludGFpbmVyIE5hbWUsIEVtYWlsIEFkZHJlc3MJCQkJCSMKIwlCb2FyZAkJCUNQVQkJCQkJIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpOb2J1aGlybyBJd21hYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CgoJTVM3NzUwU0UJCVNINzc1MAoJTVM3NzIyU0UJCVNINzcyMgoKWW9zaGloaXJvIFNoaW1vZGEgPHNoaW1vZGEueW9zaGloaXJvQHJlbmVzYXMuY29tPgoKCU1TNzcyMFNFCQlTSDc3MjAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBFbmQgb2YgTUFJTlRBSU5FUlMgbGlzdAkJCQkJCSMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo=