dHJlZSA3NjYzZjI5YzU1ZmJlY2M0NWE1MGM2ZDA5NGU1MmQ1ZWVmOTlhMzQxCnBhcmVudCBkYWRmNzhmZmE5M2MzZTVkYzRjMzQ0M2I0NTgyNDgwMGUxZTdhNjAxCmF1dGhvciBBbGV4YW5kcmUgSnVsbGlhcmQgPGp1bGxpYXJkQHdpbmVocS5vcmc+IDg5NjY5Nzg3NSArMDAwMApjb21taXR0ZXIgQWxleGFuZHJlIEp1bGxpYXJkIDxqdWxsaWFyZEB3aW5laHEub3JnPiA4OTY2OTc4NzUgKzAwMDAKClJlbGVhc2UgOTgwNjAxCgpTdW4gTWF5IDMxIDEzOjQwOjEzIDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQGxyYy5lcGZsLmNoPgoKCSogW2lmMTYzMi9zaWduYWwuY10KCUFkZGVkIGRpc3BsYXkgb2YgZXhjZXB0aW9uIG5hbWUuCgoJKiBbbG9hZGVyL3Rhc2suY10KCVlldCBhbm90aGVyIGF0dGVtcHQgYXQgZml4aW5nIFN3aXRjaFN0YWNrVG8vU3dpdGNoU3RhY2tCYWNrLgoKCSogW21lbW9yeS9zZWxlY3Rvci5jXSBbcmVsYXkzMi9idWlsdGluMzIuY10gW3Rvb2xzL2J1aWxkLmNdCgkgIFt3aW4zMi9rZXJuZWwzMi5jXQoJR2VuZXJhdGUgYW4gYXNzZW1ibHkgc3R1YiBmb3IgV2luMzIgcmVnaXN0ZXIgZnVuY3Rpb25zIHRvIG1ha2UKCXRoZWlyIG5hbWVzIGF2YWlsYWJsZSBhdCBsaW5rIHRpbWUuCgoJKiBbcHJvZ3JhbXMvKi9NYWtlZmlsZS5pbl0KCUFkZGVkIGhhY2tzIHRvIHN1cHBvcnQgb2xkIHJlc291cmNlIGNvbXBpbGVyLgoKRnJpIE1heSAyOSAxNjoyNzoxNCAxOTk4ICBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KCgkqIFt0b29scy90ZXN0cnVuXQoJTWVyZ2Ugb2YgbXkgdGVzdHNjcmlwdHMgYXQgaG9tZSBpbnRvIG9uZSBzaW5nbGUgcGVybCBwcm9ncmFtCgkodGVzdGVkIHdpdGggcGVybDUpLiBXb3JrcyBvbmx5IG9uIExpbnV4IGR1ZSB0byAncHMnIGFuZCAnaXBjcycKCW1hZ2ljLgoKCSogW2NvbnRyb2xzL21lbnUuY10KCUFkZGVkIHNvbWUgRGVmYXVsdE1lbnVJdGVtIHN0dWJzLgoKCSogW2RlYnVnZ2VyL3N0YWJzLmNdCglGaXhlZCBzdGFicyBsb2FkaW5nLCBub3cgc3VwcG9ydHMgKGludCxpbnQpIHR5cGVpbmZvIGZvcm1hdCB1c2VkCglieSBnY2MtMi44IGFuZCBlZ2NzLTEuIElmIGl0IHN0aWxsIGNyYXNoZXMsIHBsZWFzZSBtYWlsIG1lLgoKCSogW2lmMTYzMi9dW3JlbGF5MzIvXQoJQWRkZWQgbXN2aWRlby5kbGwgKHN0dWJzIG9ubHkpCglSZXBsYWNlZCBzb21lIHB0ciBieSBzdHIgZm9yIHN0cmluZ2Nhc2VzCglBZGRlZCBzb21lIG5ldyBzdHVicyAoVnhEQ2FsbCwgRmluZENsb3NlTm90aWYuLi4uKQoKCSogW21pc2MvbmV0d29yay5jXQoJU29tZSBhcmd1bWVudCBmaXhlcy4KCgkqIFttaXNjL3JlZ2lzdHJ5LmNdW21pc2MvY3B1LmNdCglSZWdpc3RyeSBpbml0aWFsaXphdGlvbiBwYXJ0aWFsbHkgcmV3cml0dGVuIGFuZCBlbmhhbmNlZC4KCgkqIFtzY2hlZHVsZXIvKi5jXQoJU29tZSBhZGRpdGlvbnMgc28gd2UgZG9uJ3QgZG8ga2lsbCgwLFNJR1VTUjEpIChraWxsIHByb2Nlc3Nncm91cAoJaW5zdGVhZCBvZiB0YXJnZXRlZCB0aHJlYWQpCglBZGRlZCBTZXRUaHJlYWRDb250ZXh0LgoKVGh1IE1heSAyOCAyMzo1OTo1OSAxOTk4ICBCZXJ0aG8gU3R1bHRpZW5zIDxiZXJ0aG9AYWtocGhkLmF1LmRrPgoKCSogW3Rvb2xzL3dyYy8qXQoJTmV3IHJlc291cmNlIGNvbXBpbGVyIHZlcnNpb24gMS4wLjAgKDI4LU1heS0xOTk4KQoKCSogW01ha2UucnVsZXMuaW5dIFtNYWtlZmlsZS5pbl0KCUNoYW5nZWQgYW5kIGFkZGVkIHJjIHJ1bGVzIHRvIHBvaW50IHRvIHRvb2xzL3dyYy93cmMuCgoJKiBbY29uZmlndXJlLmluXSBbaW5jbHVkZS9jb25maWcuaC5pbl0KCUFkZGVkIGNoZWNrIGZvciBmdW5jdGlvbiAnc3RyaWNtcCcuCgoJKiBbaW5jbHVkZS9yZXNvdXJjZS5oXQoJQ29tbWVudGVkIG91dCB0aGUgb2xkIHJlc291cmNlIHN0cnVjdHVyZSB0byBjYXRjaCByZWZlcmVuY2VzLgoJSXQgYWxzbyBpbmNsdWRlcyB3cmNfcnNjLmguCgoJKiBbaW5jbHVkZS93cmNfcnNjLmhdCglOZXcgZmlsZS4gRGVmaW5pdGlvbnMgZm9yIHRoZSByZXNvdXJjZXMgZ2VuZXJhdGVkIHdpdGggd3JjLgoKCSogW2luY2x1ZGUvd2luZG93cy5oXQoJQWRkZWQgI2lmZGVmIFJDX0lOVk9LRUQgdG8gZXhjbHVkZSBzdGRhcmcuaC4KCUFkZGVkIFNTX05PVElGWSBmbGFnLgoKCSogW2luY2x1ZGUvd2lubmxzLmhdCglBZGRlZCBTVUJMQU5HXyogZGVmaW5pdGlvbnMgYW5kIGNvcnJlY3RlZCBzb21lIGRlZmF1bHRzLgoKCSogW2xvYWRlci9saWJyZXMuY10KCUNoYW5nZWQgdGhlIHN5c3JlcyBsb2FkIGZ1bmN0aW9ucyB0byBzdXBwb3J0IHdyYyBnZW5lcmF0ZWQKCXJlc291cmNlcy4KCgkqIFtyZXNvdXJjZS9zeXNyZXNfKi5yY10KCUFkZGVkICNpbmNsdWRlIDx3aW5kb3dzLmg+CgoJKiBbcmVzb3VyY2Uvc3lzcmVzLmNdCglDaGFuZ2VkIGRlY2xhcmF0aW9ucyB0byBtYXRjaCB3cmMncyBvdXRwdXQKCgkqIFtyZXNvdXJjZS9NYWtlZmlsZS5pbl0KCUNoYW5nZWQgcnVsZXMgdG8gd29yayB3aXRoIHdyYy4KCgkqIFt0b29scy9tYWtlZGVwLmNdCglDaGFuZ2VkIGdlbmVyYXRpb24gb2YgLnJjIGZpbGUgZGVwZW5kZW5jaWVzIHRvIC5zIHRhcmdldC4KClRodSBNYXkgMjggMjI6Mjg6MzkgMTk5OCAgRXJpYyBLb2hsIDxla29obEBhYm8ucmhlaW4temVpdHVuZy5kZT4KCgkqIFtmaWxlcy9maWxlLmNdW2luY2x1ZGUvd2luZG93cy5jXVtyZWxheTMyL2tlcm5lbDMyLnNwZWNdCglJbXBsZW1lbnRlZCBHZXRGaWxlQXR0cmlidXRlc0V4MzJBL1cuCgoJKiBbbWlzYy9pbWFnZWxpc3QuaF1baW5jbHVkZS9jb21tY3RybC5oXVtyZWxheTMyL2NvbWN0bDMyLnNwZWNdCglBZGRlZCBJbWFnZUxpc3RfUmVhZCBhbmQgSW1hZ2VMaXN0X1dyaXRlIHN0dWJzLgoJQWRkZWQgSW1hZ2VMaXN0X0FkZEljb24gZnVuY3Rpb24uCglBZGRlZCBJbWFnZUxpc3RfTG9hZEltYWdlLiBJdCBpcyB0aGUgc2FtZSBhcyBJbWFnZUxpc3RfTG9hZEltYWdlMzJBLgoKCSogW2NvbnRyb2xzL2hlYWRlci5jXQoJRml4ZWQgYml0bWFwIGRyYXdpbmcgYnVnLgoJQWRkZWQgZnVsbCBiaXRtYXAgc3VwcG9ydC4KCgkqIFtpbmNsdWRlL2NvbW1jdHJsLmhdCglBZGRlZCBtaXNzaW5nIGhlYWRlciBtYWNyb3MuCgoJKiBbY29udHJvbHMvdG9vbGJhci5jXVtpbmNsdWRlL3Rvb2xiYXIuaF1baW5jbHVkZS9jb21tY3RybC5oXQoJICBbY29udHJvbHMvY29tbWN0cmwuY10gW3JlbGF5MzIvY29tY3RsMzIuc3BlY10KCUZpcnN0IGltcGxlbWVudGF0aW9uIG9mIHRvb2xiYXIgY29udHJvbC4KCUltcGxlbWVudGVkIENyZWF0ZVRvb2xiYXIsIENyZWF0ZVRvb2xiYXJFeCBhbmQgQ3JlYXRlTWFwcGVkQml0bWFwLgoKCSogW2NvbnRyb2xzL3Byb2dyZXNzLmNdW2NvbnRyb2xzL3N0YXR1cy5jXQoJU29tZSBjb2RlIGNsZWFudXAuCgoJKiBbY29udHJvbHMvY29tbWN0cmwuY11baW5jbHVkZS9jb21tY3RybC5oXVtyZWxheTMyL2NvbWN0bDMyLnNwZWNdCglSZW1vdmVkIENyZWF0ZVN0YXR1c1dpbmRvdzE2IGFuZCBEcmF3U3RhdHVzVGV4dDE2LgoJQ3JlYXRlU3RhdHVzV2luZG93IGlzIHRoZSBzYW1lIGFzIENyZWF0ZVN0YXR1c1dpbmRvdzMyQS4KCURyYXdTdGF0dXNUZXh0IGlzIHRoZSBzYW1lIGFzIERyYXdTdGF0dXNUZXh0MzJBLgoKVGh1IE1heSAyOCAxNjowMToyOCAxOTk4ICBNYXR0aGV3IEouIEZyYW5jaXMgIDxhc2JlbEBkaWFsLnBpcGV4LmNvbT4KCgkqIFtvYmplY3RzL2JpdG1hcC5jXSBbb2JqZWN0cy9iaXRtYXAuaF0gW29iamVjdHMvb2VtYml0bWFwLmNdCgkgIFtvYmplY3RzL2RjLmNdIFtncmFwaGljcy94MTFkcnYvYml0Ymx0LmNdCglBZGRlZCBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIENyZWF0ZURJQlNlY3Rpb24sIHdpdGggZ3JlYXQgdGhhbmtzCgl0byBVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4gZm9yCgljb250cmlidXRpbmcgdGhlIGJ1bGsgb2YgdGhlIHBhdGNoLgoKV2VkIE1heSAyNyAxOTowNDozMSAxOTk4ICBVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KCgkqIFt3aW4zMi9rZXJuZWwzMi5jXSBbaWYxNjMyL3RodW5rLmNdIFtpbmNsdWRlL2ZsYXR0aHVuay5oXQoJVGh1bmtDb25uZWN0MTYgYW5kIHJlbGF0ZWQgZnVuY3Rpb25zIG1vdmVkIHRvIGVtdWxhdG9yLgoKCSogW2xvYWRlci9uZS9zZWdtZW50LmNdCglDYWxsIERsbEVudHJ5UG9pbnQgd2l0aCBjb3JyZWN0IGFyZ3VtZW50cy4KCgkqIFtyZWxheTMyL2J1aWx0aW4zMi5jXQoJQnVnZml4OiBSZWxheSBkZWJ1Z2dpbmcgZGlkIG5vdCB3b3JrIGZvciBtdWx0aXBsZSBwcm9jZXNzZXMuCgoJKiBbY29udHJvbHMvbWVudS5jXQoJQnVnZml4OiBkd0l0ZW1EYXRhIHdhcyBub3Qgc2V0IGZvciBNRl9PV05FUkRSQVcgbWVudXMuCgoJKiBbaWYxNjMyL3JlbGF5LmNdIFtyZWxheTMyL3JlbGF5Mzg2LmNdCglSZWxheSBtZXNzYWdlcyBjb252ZXJ0ZWQgdG8gdXNlIERQUklOVEYuCgoJKiBbY29udHJvbHMvZGVza3RvcC5jXSBbcmVsYXkzMi91c2VyMzIuc3BlY10KCUltcGxlbWVudGVkIFBhaW50RGVza3RvcC4KCgkqIFtmaWxlcy9wcm9maWxlLmNdIFtpZjE2MzIva2VybmVsLnNwZWNdIFttaXNjL25ldHdvcmsuY10KCSAgW21pc2MvcHJpbnRkcnYuY10gW3JlbGF5MzIvd2luc3Bvb2wuc3BlY10gCgkgIFt3aW4zMi9vcmRpbmFscy5jXSBbcmVsYXkzMi9rZXJuZWwzMi5zcGVjXQoJU29tZSBzdHVicyBhZGRlZC4KCgkqIFtyZWxheTMyL21wci5zcGVjXQoJQWxsIG9yZGluYWxzIHdlcmUgb2ZmIGJ5IG9uZS4KClR1ZSBNYXkgMjYgMTM6MzI6NTcgMTk5OCAgQmlsbCBIYXdlcyA8d2hhd2VzQHN0YXIubmV0PgoKCSogW21pc2MvbHN0ci5jXSBbaW5jbHVkZS9jYXNlbWFwLmhdIFt0b29scy91bmltYXAucGxdCglBZGRlZCBVbmljb2RlIGNhc2UgY29udmVyc2lvbiByb3V0aW5lcyB0b3d1cHBlci90b3dsb3dlciwKCXdpdGggbWFwcGluZyB0YWJsZXMgY2FzZW1hcC5oIGNyZWF0ZWQgYnkgdG9vbHMvdW5pbWFwLnBsLgoKCSogW21pc2MvbnRkbGwuY10gW2luY2x1ZGUvd2lubmxzLmhdIFtyZWxheTMyL250ZGxsLnNwZWNdCgkgIFtyZWxheTMyL2FkdmFwaS5zcGVjXQoJTWluaW1hbCBpbXBsZW1lbnRhdGlvbiBvZiBJc1RleHRVbmljb2RlLCBqdXN0IGVub3VnaCB0byBnZXQKCU5UNCBub3RlcGFkIHRvIG9wZW4gYXNjaWkvdW5pY29kZSBmaWxlcy4KCgkqIFtNYWtlLnJ1bGVzLmluXSBbcmVzb3VyY2VzL3N5c3Jlc19Fbi5yY10KCUFkZGVkIGluY2x1ZGUgZmlsZSBkbGdzLmggZm9yIGJ1aWxkaW5nIHJlc291cmNlIGZpbGVzLCBzbyB0aGF0CglyZXNvdXJjZXMgY2FuIHJlZmVyIHRvIGRlZmluZWQgdmFsdWVzIChlLmcuIHBzaEhlbHApLgoKCSogW21pc2MvY3J0ZGxsLmNdIFtyZWxheTMyL2NydGRsbC5zcGVjXQoJVXNlIHRvd3VwcGVyL3Rvd2xvd2VyIGZvciAzMlcgY2FzZSBjb252ZXJzaW9ucy4KCgkqIFttZW1vcnkvc3RyaW5nLmNdCglVc2UgdG93dXBwZXIgZm9yIDMyVyBjYXNlIGNvbnZlcnNpb25zLgoKCSogW29sZS9vbGUybmxzLmNdCglVc2UgdG93dXBwZXIgZm9yIDMyVyBjYXNlIGNvbnZlcnNpb25zOyBmaXggbWVtIGxlYWs7IG1pbm9yIGNsZWFudXAKCgkqIFtjb250cm9scy9lZGl0LmNdCglBZGRlZCBzb2Z0IGJyZWFrIGZsYWcgdG8gZWRpdCBzdGF0ZS4gUHJpbnQgdW5rbm93biBhY3Rpb24gdmFsdWVzCglmb3IgV01fVlNDUk9MTCAoYWN0aW9uIDE5MCBvY2N1cnMgd2hlbiBydW5uaW5nIE5UNCBub3RlcGFkLikKCk1vbiBNYXkgMjUgMjI6NDI6NDAgMTk5OCAgVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgoKCSogW2ZpbGVzL2ZpbGUuY10KCUNhcmUgZm9yIGEgcGF0aG9sb2dpY2FsIGNhc2UgaW4gU2V0RmlsZVBvaW50ZXIuCgoJKiBbZ3JhcGhpY3MveDExZHJ2L3hmb250LmNdCglIYW5kbGUgbG9uZ2VyIEZvbnQgbmFtZXMgaW4gTEZEX0NvbXBvc2VMRkQgYW5kIHRyeSB0byBjYXRjaCBlcnJvcnMuCgoJKiBbbG9hZGVyL3BlX2ltYWdlLmNdCglVbmxvYWQgRHVtbXltb2R1bGUgd2hlbiBQRV9Mb2FkTGlicmFyeUV4MzJBIGZhaWxzIHdpdGgKCVBFX0xvYWRJbWFnZSAobWFrZXMgRW5jYXJ0YSA5OCBpbnN0YWxsZXIgcHJvY2VlZCkuCgoJKiBbbWlzYy9yZWdpc3RyeS5jXQoJTW92ZSBhIGNoZWNrIGZvciBhIHNwZWNpYWwgY2FzZSBpbiBSZWdDcmVhdGVLZXlFeDMyVyBhZnRlciB0aGUKCWNoZWNrIGZvciBleGlzdGVuY2UuCgpUdWUgTWF5IDI1IDIwOjE4OjI2IDE5OTggIE1hdHRoZXcgQmVja2VyIDxtYmVja2VyQGdsYXNzY2l0eS5uZXQ+CgoJKiBbbWlzYy9udGRsbC5jXQoJQWRkZWQgc29tZSBzdHVicywganVzdCBndWVzc2luZyBhdCB0aGUgc2l6ZSBvZiB0aGVpciBwYXJhbSBsaXN0cy4KCgkqIFttaXNjL3JlZ2lzdHJ5LmNdCglBZGRlZCBzdHVicyBmb3IgUmVnVW5Mb2FkS2V5LCBSZWdTZXRLZXlTZWN1cml0eSwgUmVnU2F2ZUtleSwKCVJlZ1Jlc3RvcmVLZXksIGFuZCBSZWdSZXBsYWNlS2V5CgoJKiBbcHJvZ3JhbXMvcmVndGVzdC9yZWd0ZXN0LmNdCglVcGRhdGVkIHJlZ2lzdHJ5IHRlc3RpbmcgcHJvZ3JhbS4KClN1biBNYXkgMjQgMTg6MTE6NDAgMTk5OCAgQWxleCBQcmllbSA8YWxleHBAc2NpLmt1bi5ubD4KCgkqIFtmaWxlL3Byb2ZpbGUuY10KCUFkZGVkIGZsYWcgJ3JldHVybl92YWx1ZXMnIHRvIFBST0ZJTEVfR2V0U2VjdGlvbi4KClN1biBNYXkgMjQgMTM6NDE6MTAgMTk5OCAgSmFtZXMgSnVyYW4gPGpyajEyMEBwc3UuZWR1PgoKCSogW21pc2Mvc2hlbGwuY10gW2ZpbGVzL2RpcmVjdG9yeS5jXQoJRG9jdW1lbnRhdGlvbi9kZWJ1Z2dpbmcgaW5mbyBhZGRpdGlvbnMuCgoJKiBbKi8qLmNdIFtpbmNsdWRlLyouaF0KCU1vdmVkIG1hbnkgZXh0ZXJuIGZ1bmN0aW9uIGRlZmluaXRpb25zIHRvIGFwcHJvcHJpYXRlIGhlYWRlciBmaWxlcy4KCUNsZWFuZWQgdXAgYSBmZXcgY29tcGlsZSB3YXJuaW5ncy4KCUlmICNpbmNsdWRlICJkZWJ1Zy5oIiBpcyBwcmVzZW50LCByZW1vdmVkICNpbmNsdWRlIDxzdGRpby5oPi4KCWRlYnVnLmggaW5jbHVkZXMgc3RkaW8uaCwgc28gaXQgaXMgbm90IG5lY2Vzc2FyeSB0byBpbmNsdWRlIGJvdGguCgoJKiBbZ3JhcGhpY3MvKi5jXSBbaWYxNjMyL3NpZ25hbC5jXSBbaXBjLyouY10gW3NjaGVkdWxlci8qLmNdCgkgIFt3aW4zMi8qLmNdIFt3aW5kb3dzLyouY10KCUZpbmFsIHBhdGNoIHRvIGNvbnZlcnQgZnByaW50ZiBzdGF0ZW1lbnRzIHRvIG5ldyBkZWJ1Z2dpbmcgaW50ZXJmYWNlLgoJU29tZSBmcHJpbnRmcyBhcmUgc3RpbGwgbGVmdCwgZXNwZWNpYWxseSBpbiB0aGUgZGVidWdnZXIvIGRpcmVjdG9yeS4KCUhvd2V2ZXIsIElNSE8sIGl0J3Mgbm90IHdvcnRoIHRoZSBlZmZvcnQgdG8gY2hhbmdlIHRoZSByZXN0LgoKRnJpIE1heSAyMiAyMTo1ODozNSAxOTk4ICBNb3J0ZW4gV2VsaW5kZXIgIDx0ZXJyYUBkaWt1LmRrPgoKCSogW3dpbmRvd3Mva2V5Ym9hcmQuY10KCUNvcnJlY3QgaGFuZGxpbmcgb2Yga2V5cyAiYC09W11cOycsLi8iLgoKRnJpIE1heSAyMiAxMjowNjowMCAxOTk4ICBQZXIgTGluZHN0cvZtIDxwZWxpbnN0ckBhbGdvbmV0LnNlPgoKCSogW2luY2x1ZGUvd2luZG93cy5oXSBbcmVsYXkzMi9rZXJuZWwzMi5zcGVjXSBbd2luMzIvY29uc29sZS5jXQoJQWRkZWQgc3R1YiBmb3IgUmVhZENvbnNvbGVPdXRwdXRDaGFyYWN0ZXIzMkEuCgpUaHUgTWF5IDIxIDE2OjQ1OjQ4IDE5OTggIFBhc2NhbCBDdW9xIDxwY3VvcUBlbnMtbHlvbi5mcj4KCgkqIFtvbGUvb2xlMm5scy5jXQoJQmVnYW4gYmV0dGVyIGltcGxlbWVudGF0aW9uIG9mIExDTWFwU3RyaW5nMzJBLgoJTm90IHZlcnkgd2VsbCB0ZXN0ZWQgeWV0LCBhbmQgc3RpbGwgbmVlZCBpbXByb3ZlbWVudHMuCgoJKiBbY29udHJvbHMvc2Nyb2xsLmNdCglEb2N1bWVudGVkIGZ1bmN0aW9ucy4KCldlZCBNYXkgMjAgMjE6Mzc6NTYgMTk5OCAgUGV0ZXIgSHVubmlzZXR0IDxodW5uaXNlQG5vcnRlbC5jYT4KCgkqIFtpbmNsdWRlL3dpbmRvd3MuaF1bbWlzYy9tYWluLmNdCglDaGFuZ2UgU3lzdGVtUGFyYW1ldGVySW5mbyB0byBzdXBwb3J0IFNQSV9HRVRISUdIQ09OVFJBU1QuIEFsc28KCWluY2x1ZGUgc29tZSBtaXNzaW5nIFNQSV8gZGVmaW5pdGlvbnMuCgoJKiBbaW5jbHVkZS9kc291bmQuaF1bbXVsdGltZWRpYS9kc291bmQuY11bcmVsYXkzMi9kcGxheXguc3BlY10KCUFkZGVkIHN0dWJzIGZvciBEaXJlY3RQbGF5TG9iYnlDcmVhdGVbQVddLiBOb3Qgc3VyZSBpZiB0aGVzZQoJc2hvdWxkIGdvIGludG8gYSBuZXcgZmlsZXMgZHBsYXl4LmM/IEFueW9uZSBjYXJlPwoKCSogW2luY2x1ZGUvd2lubmxzLmhdCglBZGRlZCB0d28gbWlzc2luZyBmbGFncyBmb3IgdGhlIENvbXBhcmVTdHJpbmczMiBmdW5jdGlvbnMuCg==